使用说明

项目简介

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 进行深入分析和利用。

安装步骤

  1. 克隆仓库

    git clone https://github.com/the0807/GeekNews-MCP-Server
    cd GeekNews-MCP-Server
  2. 使用 uv 设置环境 (确保已安装 uv,安装方法请参考 uv 官方文档)

    uv sync
  3. 创建并激活虚拟环境

    uv venv
    source .venv/bin/activate
  4. 运行 MCP 服务器

    uv run mcp dev main.py
  5. 使用 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