返回市场
新闻推送-mcp

新闻推送-mcp

作者:ltejedor5 星标更新:2025-05-18

项目介绍

新闻 MCP 服务器

这是一个提供来自各种RSS源新闻信息的模型上下文协议(MCP)服务器,旨在与像Claude这样的AI助手集成。

功能

  • 获取各类别(科技、商业、科学等)的最新新闻
  • 按特定关键词搜索新闻文章
  • 查看特定RSS源的文章
  • 获取单篇文章的详细信息
  • 缓存以提高性能并减少对RSS源的压力
  • 通过环境变量进行配置

安装

先决条件

  • Python 3.10 或更高版本
  • MCP SDK 1.2.0 或更高版本

设置

  1. 克隆此仓库:
git clone https://github.com/ltejedor/newsfeed-mcp.git
cd news-mcp
  1. 创建虚拟环境并安装依赖项:
python -m venv venv
source venv/bin/activate  # 在Windows上:venv\Scripts\activate
pip install -r requirements.txt
  1. 运行服务器:
python news_mcp.py

Docker 安装

要使用Docker运行服务器:

docker-compose up -d

配置

服务器可以通过环境变量进行配置:

  • NEWS_MCP_CUSTOM_FEEDS:附加的RSS源,格式为 name1:url1;name2:url2
  • LOG_LEVEL:设置日志级别(INFO, DEBUG, WARNING, ERROR)

使用与桌面版 Claude

  1. 确保已安装并更新了桌面版 Claude。

  2. 打开您的桌面版 Claude 应用程序配置:

    • 在macOS上:~/Library/Application Support/Claude/claude_desktop_config.json
    • 在Windows上:%APPDATA%\Claude\claude_desktop_config.json
  3. 将您的新闻服务器添加到配置中:

{
    "mcpServers": {
        "news": {
            "command": "python",
            "args": [
                "/ABSOLUTE/PATH/TO/news_mcp.py"
            ]
        }
    }
}
  1. 重启桌面版 Claude。

  2. 在桌面版 Claude 中查找锤子图标(🔨)以访问您的工具。

可用工具

服务器提供了以下工具:

health_check()

检查服务器是否正常运行,并获取基本统计信息。

list_available_feeds()

获取所有可用的RSS源和类别列表。

在Claude中的示例用法:

您有哪些可用的新闻源?

get_latest_news(category, limit)

获取最近的新闻文章,可选地按类别过滤。

参数:

  • category:可选 - 按类别过滤(科技、综合、商业、科学、旅行、政治)
  • limit:可选 - 返回的最大文章数(默认:5,最大:20)

在Claude中的示例用法:

显示最新的科技新闻

search_news(query, limit)

按特定关键词搜索新闻文章。

参数:

  • query:要在新闻文章中查找的搜索词
  • limit:可选 - 返回的最大文章数(默认:5,最大:20)

在Claude中的示例用法:

搜索有关气候变化的新闻

get_feed_content(feed_name, limit)

获取特定RSS源的文章。

参数:

  • feed_name:要获取的RSS源名称
  • limit:可选 - 返回的最大文章数(默认:5,最大:20)

在Claude中的示例用法:

获取NASA源的文章

get_article_details(url)

通过URL获取文章的详细信息。

参数:

  • url:要检索详细信息的文章的URL

在Claude中的示例用法:

告诉我更多关于这篇文章的信息:https://www.example.com/article

贡献

欢迎贡献!请随意提交拉取请求。

许可证

本项目根据MIT许可证发布 - 详情见LICENSE文件。 </中文翻译>