该项目是一个Model Context Protocol (MCP)服务器,用于从GeekNews获取文章。它使用Python实现,并利用BeautifulSoup进行网页抓取。为了减轻服务器负载,该服务器提供了一项功能,即每天自动解析数据并将其缓存存储。
![]() | ![]() |
|---|---|
![]() | ![]() |
get_articles 工具:从GeekNews获取文章的功能
get_weekly_news 工具:从GeekNews获取周新闻的功能
使用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/cache.py:提供缓存管理功能src/scheduler.py:提供定期数据更新调度器src/server.py:实现MCP服务器main.py:服务器启动入口点[!Note]
- 此服务器依赖于GeekNews网站的HTML结构。如果网站结构发生变化,则可能需要更新解析逻辑。
- 缓存数据存储在用户的主目录下的
.cache/geeknews-mcp文件夹中。