使用说明
项目简介
MCP RSS新闻爬虫服务器是一个基于Model Context Protocol (MCP) 实现的后端应用,旨在帮助大型语言模型 (LLM) 获取最新的网络信息。它通过定期抓取用户配置的RSS订阅源和指定的网页,将新闻和文章内容存储在本地数据库中,并以结构化的方式提供给兼容MCP协议的LLM客户端,从而增强LLM的上下文理解和信息检索能力。
主要功能点
- RSS订阅源管理:支持添加、更新和删除RSS订阅源,方便用户定制信息来源。
- 新闻抓取与缓存:自动抓取RSS订阅源中的最新文章,并缓存到本地SQLite数据库,提高访问速度和效率。
- 关键词过滤:支持根据关键词过滤抓取的新闻内容,帮助用户聚焦感兴趣的主题。
- 网页内容抓取:集成Firecrawl服务,可以抓取指定URL的网页内容,扩展信息来源。
- MCP协议支持:完全实现了MCP协议,可以通过JSON-RPC与LLM客户端进行通信,提供标准化的上下文服务接口。
- 多种工具集成:提供丰富的工具(Tools)供LLM客户端调用,例如获取最新新闻、按类别获取新闻、搜索新闻、抓取指定网页等。
安装步骤
- 克隆仓库
git clone https://github.com/mshk/mcp-rss-crawler cd mcp-rss-crawler - 配置Claude Desktop (或其他MCP客户端) 连接信息
复制 'claude_desktop_config.json.example' 文件并重命名为 'claude_desktop_config.json',然后根据示例文件中的注释修改配置信息。主要是配置MCP服务器的启动命令、参数和环境变量。
cp claude_desktop_config.json.example claude_desktop_config.json # 编辑 claude_desktop_config.json 文件,根据实际路径进行修改 vi claude_desktop_config.json - 安装依赖
确保已安装 Bun 运行时,然后在项目根目录下运行以下命令安装项目依赖:
bun install - 启动Claude Desktop (或其他MCP客户端) 按照 Claude Desktop 或其他 MCP 客户端的文档启动客户端,客户端会自动读取 'claude_desktop_config.json' 中的配置,并尝试连接到 MCP RSS新闻爬虫服务器。
服务器配置
MCP服务器的配置主要在 'claude_desktop_config.json' 文件中完成,以下是关键配置项(请根据实际路径和需求进行调整):
{ "mcpServers": { "rss-crawler": { // 服务器名称,在客户端中引用 "command": "/path/to/bun", // Bun 运行时的路径,例如 /usr/local/bin/bun "args": ["run", "/path/to/mcp-rss-crawler/apps/mcp-server/src/mcp-cli.ts"], // 启动 MCP 服务器的命令和参数,指向 mcp-cli.ts 入口文件 "cwd": "/path/to/mcp-rss-crawler", // 工作目录,设置为项目根目录 "env": { // 环境变量配置 "PORT": "5556", // 服务器监听端口,默认为 5556 "DB_DIR": "/path/to/mcp-rss-crawler", // 数据库文件存储目录,默认为用户Home目录下的 .mcp-rss-crawler 目录 "FIRECRAWL_API_KEY": "fc-<YOUR_FIRECRAWL_API_KEY>" // Firecrawl API Key,用于抓取网页内容,需要替换为你的 Firecrawl API Key } } } }
配置参数注释:
- 'server name': 'rss-crawler' - MCP 服务器的名称,在客户端配置中用于标识和引用该服务器。
- 'command': '/path/to/bun' - 执行启动命令的程序路径,这里是 Bun 运行时。
- 'args': '["run", "/path/to/mcp-rss-crawler/apps/mcp-server/src/mcp-cli.ts"]' - 传递给 'command' 的参数,'run' 表示运行脚本,'/path/to/mcp-rss-crawler/apps/mcp-server/src/mcp-cli.ts' 是 MCP 服务器的入口脚本路径。
- 'cwd': '/path/to/mcp-rss-crawler' - 当前工作目录,即命令执行时所在的目录,设置为项目根目录。
- 'env': 环境变量配置,用于设置服务器运行时的环境变量。
- 'PORT': '5556' - MCP 服务器监听的端口号,客户端需要连接到这个端口。
- 'DB_DIR': '/path/to/mcp-rss-crawler' - 数据库文件存放的目录,服务器会在此目录下创建和访问数据库文件。
- 'FIRECRAWL_API_KEY': 'fc-<YOUR_FIRECRAWL_API_KEY>' - 用于 Firecrawl 服务的 API 密钥,如果需要使用网页抓取功能,需要配置有效的 API 密钥。
基本使用方法
- 启动MCP服务器:配置完成后,Claude Desktop (或其他MCP客户端) 应该会自动启动并尝试连接到 MCP RSS新闻爬虫服务器。你也可以手动运行 'apps/mcp-server/src/mcp-cli.ts' 脚本来启动服务器。
- 在LLM中使用:在兼容MCP协议的LLM应用中,你可以指示LLM使用 'rss-crawler' 服务器提供的工具来获取信息。例如,你可以对LLM说:
- "帮我获取最新的科技新闻" (LLM 可能会调用 'fetchRssFeedsByCategory' 或 'getLatestRssFeeds' 工具,并指定 "Tech" 或其他相关类别)
- "我想了解最近关于人工智能的文章" (LLM 可能会调用 'searchRssFeeds' 工具,并使用 "人工智能" 作为关键词进行搜索)
- "抓取并总结一下这个网页的内容:https://example.com/article" (LLM 可能会调用 'fetchArticle' 或 'crawlWebsite' 工具,并提供 URL)
LLM 客户端会根据用户的指令,自动选择合适的工具并调用 MCP 服务器,然后将服务器返回的信息作为上下文,用于生成更准确和有信息量的回复。
信息
分类
网页与API