极客新闻MCP
该项目是一个模型上下文协议(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 服务器
此项目是一个用于从 GeekNews 获取文章的 Model Context Protocol (MCP) 服务器。它使用 Python 实现,并利用 BeautifulSoup 进行网页抓取。
功能
![]() |
![]() |
|---|---|
![]() |
![]() |
工具 (Tools)
-
get_articles工具:从 GeekNews 获取文章的功能- 可以指定文章类型(top, new, ask, show)和要返回的文章数量
- 每个响应包含标题、URL、点数、作者、时间、评论数、排名等信息
-
get_weekly_news工具:从 GeekNews 获取每周新闻的功能- 可以指定特定的周报 ID 或获取最新的周报
- 提供周报的标题、编号、ID、内容、URL、项目列表等信息
- 每个项目包含标题、URL、排名等信息
使用方法
-
通过 Smithery 安装
-
在 MCP 配置文件中添加服务器信息
{ "mcpServers": { "geeknews-mcp-server": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@the0807/geeknews-mcp-server", "--key", "在 smithery 上获得的密钥" ] } } }
本地安装方法
-
Git 克隆
git clone https://github.com/the0807/GeekNews-MCP-Server cd GeekNews-MCP-Server -
使用 uv 设置环境
uv sync -
启动虚拟环境
uv venv source .venv/bin/activate -
使用 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 结构。如果网站结构发生变化,可能需要更新解析逻辑。



