此项目是一个基于 Model Context Protocol (MCP) 的服务器,它使用 Python 实现,借助 BeautifulSoup 从 GeekNews 抓取文章。为减轻服务器负载,该项目支持每天自动解析数据并将其存储到缓存中。
你可以通过以下两种方式使用本项目:
{
"mcp_settings": {
"servers": {
"geeknews_mcp_server": {
"url": "http://localhost:5000",
"api_key": "your_api_key"
}
}
}
}
如果你想在本地运行该项目,可按以下步骤操作:
git clone https://github.com/yourusername/geeknews-mcp-server.git
cd geeknews-mcp-server
pip install -r requirements.txt
python server.py
get_articles 工具:具备从 GeekNews 获取文章的能力。
get_weekly_news 工具:可从 GeekNews 获取周报。
server.py:作为服务器的主程序,负责处理请求和响应。crawler.py:爬虫模块,专门用于从 GeekNews 抓取数据。cache_manager.py:缓存管理模块,负责缓存数据的读取、写入和更新操作。tools:包含各种辅助工具函数的目录。⚠️ 重要提示
项目依赖于 GeekNews 的 HTML 结构,若其结构发生变化,可能需要调整爬虫逻辑。
💡 使用建议
缓存数据存储在用户主目录下的
.cache/geeknews-mcp文件夹中。