新闻聚合服务

一个基于Model Context Protocol (MCP)的新闻聚合服务器,支持从多个来源(如Hacker News、RSS Feeds等)获取新闻,并提供搜索、缓存和自动刷新功能。

  • by the-hash-slinging-slasher
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 the-hash-slinging-slasher/news-mcp-server

使用说明

新闻MCP服务器

聚合来自多个来源的新闻的模型上下文协议(MCP)服务器:

  • 黑客新闻 (顶部、最佳、新故事)
  • 订阅 (可配置)
  • 推特 (计划中)
  • 蓝天 (计划中)

特性

  • 📰 一个地方有多个新闻来源
  • 💾 SQLite缓存,用于快速访问和离线阅读
  • 🔍 在所有缓存项目中搜索
  • ⚙️ 通过JSON轻松配置
  • 🔄 自动刷新饲料

安装

cd ~/src/news-mcp-server
npm install
npm run build

配置

项目特定设置(推荐)

该项目包括 .claude/mcp_settings.json 当您在此目录中打开Claude Code时,会自动启用新闻MCP服务器的文件。

要使用:

  1. 打开一个新终端
  2. 导航到此目录: cd ~/src/news-mcp-server
  3. 在此目录中启动Claude Code
  4. 新闻MCP服务器将自动可用!

全局配置(可选)

如果您希望新闻服务器在所有Claude Code会话中都可用,请将此添加到您的全局Claude Code MCP设置中:

{
  "mcpServers": {
    "news": {
      "command": "node",
      "args": ["/Users/norm.provost/src/news-mcp-server/build/index.js"]
    }
  }
}

RSS源配置

创建 config/feeds.json (参见 config/feeds.json.example 模板):

{
  "rss_feeds": [
    {
      "name": "techcrunch",
      "url": "https://techcrunch.com/feed/",
      "refresh_interval_minutes": 30
    }
  ]
}

用法

可用资源

直接将提要作为资源访问:

  • feed://hackernews -黑客新闻头条
  • feed://rss:techcrunch -特定RSS源
  • feed://all -所有来源合并

可用工具

list_sources

列出所有已配置的订阅源。

get_feed

从源获取最新项目。

Parameters:
- source (optional): "hackernews", "rss:techcrunch", or "all"
- limit (optional): Max items to return (default: 30)
- hours_ago (optional): Only return items from last N hours

refresh_cache

通过从源获取来刷新缓存数据。

Parameters:
- source (optional): Specific source to refresh, or all if not specified

search_all

在所有缓存项目中搜索。

Parameters:
- query (required): Search query
- limit (optional): Max results (default: 50)

add_rss_feed

添加新的RSS源。

Parameters:
- name (required): Feed name (e.g., "techcrunch")
- url (required): RSS feed URL

remove_rss_feed

删除RSS源。

Parameters:
- name (required): Feed name to remove

示例

克劳德密码

# Refresh Hacker News cache and read it
refresh_cache with source=hackernews
get_feed with source=hackernews limit=10

# Add a new RSS feed
add_rss_feed with name=arstechnica url=https://feeds.arstechnica.com/arstechnica/index

# Search for AI-related articles
search_all with query=AI limit=20

# Get recent items from all sources
get_feed with source=all hours_ago=24

数据库

提要项缓存在 cache.db (SQLite)。旧物品在7天后会自动清洁。

发展

# Build
npm run build

# Watch mode for development
npm run watch

未来的增强功能

  • []Twitter集成(需要API密钥)
  • []Bluesky AT协议集成
  • []自动定期刷新
  • []自定义筛选器和规则
  • []导出功能
  • []用于配置的Web界面

建筑

src/
├── index.ts              # Main MCP server
├── types.ts              # TypeScript types
├── sources/
│   ├── base.ts           # Source interface
│   ├── hackernews.ts     # Hacker News API
│   └── rss.ts            # RSS parser
└── storage/
    ├── database.ts       # SQLite operations
    └── config.ts         # Feed configuration

许可证

麻省理工学院