RSS阅读服务器

一个基于TypeScript的MCP服务器,提供RSS/Atom订阅源的获取、解析和结构化数据提取功能。

  • by tanevanwifferen
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 tanevanwifferen/rss-reader-server

使用说明

RSS阅读器MCP服务器

一个基于TypeScript的MCP服务器,提供RSS提要读取功能,用于从URL获取和解析RSS/Atom提要。

概述

此MCP服务器通过提供从RSS和Atom提要中获取、解析和提取结构化数据的工具来实现RSS提要读取功能。它使用 rss-parser 用于健壮提要解析的库 axios 对于具有适当错误处理和超时的HTTP请求。

特性

工具

  • get_items -从给定的URL获取RSS提要项
    • 输入:RSS源URL(必填)
    • 输出:包含提要元数据和项目的结构化JSON
    • 能力:
      • 以10秒超时获取RSS/Atom提要
      • 解析标准RSS字段(标题、链接、描述、pubDate、作者等)
      • 提取自定义字段(媒体内容、缩略图、编码内容)
      • 手柄类别和外壳
      • 为网络和解析问题提供全面的错误处理

支持的源格式

  • RSS 2.0
  • RSS 1.0(RDF)
  • 原子馈送
  • 自定义字段包括:
    • 媒体内容和缩略图
    • 都柏林核心创建者字段
    • 内容编码字段

错误处理

  • URL验证
  • 网络超时处理(10秒)
  • HTTP错误状态处理
  • RSS解析错误处理
  • 用于调试的全面错误消息

发展

安装依赖项:

npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

安装

要与Claude Desktop一起使用,请添加服务器配置:

在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "rss-reader-server": {
      "command": "node",
      "args": ["/path/to/rss-reader-server/build/index.js"]
    }
  }
}

用法示例

连接后,您可以使用 get_items 获取RSS源项目的工具:

Tool: get_items
Input: { "url": "https://example.com/feed.xml" }

服务器将返回一个结构化的JSON响应,其中包含:

  • 订阅源URL
  • 项目总数
  • 包含以下内容的提要项数组:
    • 标题、链接、描述
    • 出版日期和作者
    • 类别(如有)
    • 附件信息(用于播客/媒体)

依赖项

  • @模型上下文协议/sdk:MCP协议实施
  • rss解析器:RSS/Atom提要解析
  • 轴:用于获取提要的HTTP客户端
  • 动物圈:运行时类型验证

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。

错误响应

服务器为常见问题提供详细的错误消息:

  • URL格式无效
  • 网络连接问题
  • HTTP错误(404、500等)
  • 请求超时
  • RSS解析失败

所有错误均以结构化格式返回,并附有描述性消息,以帮助排除故障。