使用说明
项目简介
GeekNews MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 应用提供访问 GeekNews 新闻内容的工具。它通过网络爬虫技术从 GeekNews 网站抓取新闻,并以结构化的数据格式通过 MCP 协议提供给客户端,使得 LLM 可以方便地获取和利用最新的 GeekNews 资讯。
主要功能点
- 提供 'get_stories' 工具: 允许 LLM 客户端通过调用 'get_stories' 工具,获取 GeekNews 网站上的新闻故事。
- 支持多种新闻类型: 可以获取 GeekNews 的 'top' (头条), 'new' (最新), 'ask' (提问), 'show' (展示) 四种类型的新闻故事。
- 可控的新闻数量: 允许客户端指定每次请求返回的新闻故事数量,方便灵活控制数据量。
- 详细的新闻信息: 返回的新闻数据包含标题、链接、积分、作者、发布时间、评论数和在列表中的排名等详细信息,方便 LLM 进行深入分析和利用。
安装步骤
-
克隆仓库
git clone https://github.com/the0807/GeekNews-MCP-Server cd GeekNews-MCP-Server -
使用 uv 设置环境 (确保已安装 uv,安装方法请参考 uv 官方文档)
uv sync -
创建并激活虚拟环境
uv venv source .venv/bin/activate -
运行 MCP 服务器
uv run mcp dev main.py -
使用 MCP Inspector 测试服务器 运行命令后,终端会输出一个 URL,复制该 URL 到浏览器中打开 MCP Inspector,即可测试服务器的功能。
服务器配置
为了让 MCP 客户端能够连接到 GeekNews MCP Server,需要在客户端的 MCP 配置文件中添加以下服务器信息。
{ "mcpServers": { "geeknews-mcp-server": { // 服务器名称,客户端配置中用于引用 "command": "uv", // 启动服务器的命令,这里使用 uv 运行 mcp "args": [ // 启动命令的参数 "run", "mcp", // 运行 mcp 命令 "dev", // 以开发模式运行,方便调试 "main.py" // 服务器入口文件 ] } } }
基本使用方法
在 MCP 客户端配置并连接到 'geeknews-mcp-server' 后,即可调用 'get_stories' 工具来获取 GeekNews 新闻。
例如,在客户端中,可以发送如下 JSON-RPC 请求来调用 'get_stories' 工具,获取 "top" 类型的前 5 篇新闻:
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "get_stories", "tool_args": { "type": "top", "limit": 5 } }, "id": 1 }
服务器会返回包含新闻故事列表的 JSON-RPC 响应。
信息
分类
网页与API