新闻摘要服务

一个通过数据库存储和检索新闻文章,并提供摘要功能的服务器服务,适用于需要快速获取新闻摘要的场景。

  • by eluc1a
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 eluc1a/mcp-news

使用说明

新闻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" ] } } ```

发展

建筑与出版

准备分发包裹:

  1. 同步依赖关系并更新锁文件:
uv sync
  1. 构建包分发:
uv build

这将在 dist/ 目录。

  1. 发布到PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置PyPI凭据:

  • 令牌: --token 或 UV_PUBLISH_TOKEN
  • 或用户名/密码: --username/UV_PUBLISH_USERNAME 和 --password/UV_PUBLISH_PASSWORD

调试

由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.

您可以通过以下方式启动MCP检查器 npm 使用此命令:

npx @modelcontextprotocol/inspector uv --directory ~/dev/news-mcp run news-mcp 

启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。