极客新闻MCP

@the0807/GeekNews-MCP-Server
0 Stars 245 次浏览 the0807 更新于 2026-08-23

该项目是一个模型上下文协议(MCP)服务器,从极客新闻(GeekNews)获取文章。它使用Python实现,并通过BeautifulSoup进行网页抓取。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "geeknews-mcp-server": {
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@the0807/geeknews-mcp-server",
        "--key",
        "smithery에서 발급 받은 키"
      ],
      "command": "npx"
    }
  }
}

服务介绍

GeekNews MCP 服务器

smithery 徽章

此项目是一个用于从 GeekNews 获取文章的 Model Context Protocol (MCP) 服务器。它使用 Python 实现,并利用 BeautifulSoup 进行网页抓取。

功能

工具1 工具2
示例 示例

工具 (Tools)

  • get_articles 工具:从 GeekNews 获取文章的功能

    • 可以指定文章类型(top, new, ask, show)和要返回的文章数量
    • 每个响应包含标题、URL、点数、作者、时间、评论数、排名等信息
  • get_weekly_news 工具:从 GeekNews 获取每周新闻的功能

    • 可以指定特定的周报 ID 或获取最新的周报
    • 提供周报的标题、编号、ID、内容、URL、项目列表等信息
    • 每个项目包含标题、URL、排名等信息

使用方法

  • 通过 Smithery 安装

    🚀 geeknews-mcp-server

  • 在 MCP 配置文件中添加服务器信息

    {
    "mcpServers": {
       "geeknews-mcp-server": {
          "command": "npx",
          "args": [
          "-y",
          "@smithery/cli@latest",
          "run",
          "@the0807/geeknews-mcp-server",
          "--key",
          "在 smithery 上获得的密钥"
          ]
       }
    }
    }
    

本地安装方法

  1. Git 克隆

    git clone https://github.com/the0807/GeekNews-MCP-Server
    cd GeekNews-MCP-Server
    
  2. 使用 uv 设置环境

    uv sync
    
  3. 启动虚拟环境

    uv venv
    source .venv/bin/activate
    
  4. 使用 MCP Inspector 测试服务器

    uv run mcp
    mcp dev main.py
    
    # 访问终端显示的 URL (MCP Inspector) 来测试服务器
    

代码结构

  • src/models.py: 定义存储文章信息的数据类
  • src/parser.py: 解析 GeekNews 网站的 HTML 以提取文章信息
  • src/client.py: 从 GeekNews 网站获取数据的 HTTP 客户端
  • src/config.py: 定义配置和常量
  • src/server.py: 实现 MCP 服务器
  • main.py: 服务器运行入口点

[!注意]

  • 该服务器依赖于 GeekNews 网站的 HTML 结构。如果网站结构发生变化,可能需要更新解析逻辑。