RSS爬虫服务

一个基于MCP协议的RSS爬虫服务,用于抓取、缓存RSS订阅并与LLM集成,支持按类别、来源或关键词过滤订阅。

  • by mshk
  • TypeScript
  • 本地部署
  • 19 星标
  • 更新于
在 GitHub 查看 mshk/mcp-rss-crawler

使用说明

MCP RSS爬虫

获取RSS提要并与LLM共享的MCP(消息链协议)服务器。

特性

  • 获取和缓存RSS提要(SQLite数据库)
  • MCP协议实现无缝LLM集成
  • 支持按类别、来源或关键字过滤提要
  • 用于提要管理的全面API端点
    • 添加、更新和删除提要
  • 支持从Firecrawl获取文章

需求

  • 包子
  • Firecrawl API密钥
  • Claude Desktop或其他MCP客户端

设置为MCP服务器

  1. 克隆此存储库
  2. 创建一个 claude_desktop_config.json 文件基于 claude_desktop_config.json.example 根据您的配置
{
  "mcpServers": {
    "rss-crawler": {
      "command": "/path/to/bun",
      "args": ["run", "/path/to/mcp-rss-crawler/apps/mcp-server/src/mcp-cli.ts"],
      "cwd": "/path/to/mcp-rss-crawler",
      "env": {
        "PORT": "5556",
        "DB_DIR": "/path/to/mcp-rss-crawler",
        "FIRECRAWL_API_KEY": "fc-<YOUR_FIRECRAWL_API_KEY>"
      }
    }
  }
}
  1. 安装依赖项:
    bun install
    
  2. 启动克劳德桌面:

MCP协议

服务器实现了消息链协议(MCP),它允许LLM访问您最新的RSS提要。MCP端点接受包含消息数组的JSON正文的POST请求,并返回包含最新提要项的响应。

请求示例:

{
  "messages": [
    {
      "role": "user",
      "content": "What are the latest news from my RSS feeds?"
    }
  ]
}

示例响应:

{
  "messages": [
    {
      "role": "assistant",
      "content": "Here are the latest articles from your RSS feeds:",
      "name": "rss-mcp"
    },
    {
      "role": "tool",
      "content": "[{\"title\":\"Article Title\",\"summary\":\"Article summary...\",\"published\":\"2025-03-16T04:30:00.000Z\",\"origin\":\"Feed Name\",\"link\":\"https://example.com/article\"}]",
      "name": "rss-feeds"
    }
  ]
}

配置选项

服务器可以通过环境变量或 .env 文件:

  • PORT -服务器端口(默认值:5556)
  • FIRECRAWL_API_KEY -Firecrawl API密钥
  • DB_DIR -数据库目录(默认: ~/.mcp-rss-crawler)

故障排除

  • 对于连接问题,请检查您的网络设置和防火墙配置
  • 控制台中有日志,可用于诊断问题
  • 有关更详细的日志记录,请设置 DEBUG=mcp-rss:* 环境变量