新闻mcp mcp服务器
mcp新闻服务器
组件
资源
服务器通过资源URI公开存储在数据库中的新闻文章:
news://{category}/{limit}:检索给定类别的最新文章列表。
- {category}:按类别过滤文章(例如。, tech, data_science, news).完整列表请参见工具说明。 - {limit} (可选,默认值为10):指定要返回的最大文章数。
- 每篇返回的文章都包括标题、链接、发表日期和来源。
提示
服务器当前不公开任何提示。(摘要逻辑存在于内部,但无法通过MCP提示获得)。
工具
服务器实现了一个工具:
summarize_news:从数据库中检索原始新闻文章,允许客户端(LLM)对其进行摘要。
- 可选 category (字符串)和 limit (整数,默认值为20)参数。 - 返回一个文章词典列表,每个词典包含 id, title, link, published, source,以及 content. - 可用类别: tech, data_science, llm_tools, cybersecurity, linux, audio_dsp, startups, news, science, research, policy.
配置
服务器依赖于通过配置的PostgreSQL数据库 DATABASE_URL 环境变量(默认为 postgresql://localhost/mcp_news).
这 news_gatherer.py 脚本(旨在单独/按计划运行)从各种RSS提要填充数据库。
摘要逻辑(内部,不通过MCP公开)使用OpenAI API,通过 OPENAI_API_KEY 环境变量。
其他配置(通过环境变量或默认值):
LOOKBACK_HOURS:有多远以前news_gatherer.py查找新文章(默认值:6)。SUMMARY_WORD_TARGET:内部摘要的目标字数(默认值:500)。MAX_ARTICLES_PER_SUMMARY:一个摘要批次中包含的最大文章数(默认值:25)。KEYWORD_FILTER:内部摘要逻辑使用的关键字。
快速启动
安装
克劳德桌面
在MacOS上: ~/Library/Application\ Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json
Development/Unpublished Servers Configuration
"mcpServers": {
"news-mcp": {
"command": "uv",
"args": [
"--directory",
"~/dev/news-mcp",
"run",
"news-mcp"
]
}
}Published Servers Configuration
"mcpServers": {
"news-mcp": {
"command": "uvx",
"args": [
"news-mcp"
]
}
}发展
建筑与出版
准备分发包裹:
- 同步依赖关系并更新锁文件:
uv sync- 构建包分发:
uv build这将在 dist/ 目录。
- 发布到PyPI:
uv publish注意:您需要通过环境变量或命令标志设置PyPI凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.
您可以通过以下方式启动MCP检查器 使用此命令:
npx @modelcontextprotocol/inspector uv --directory ~/dev/news-mcp run news-mcp 启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。
