这是一个智能新闻搜索MCP(模型上下文协议)服务器,具备自动API切换功能,可实现可靠的新闻获取。从此无需再担心API使用限制!
# 克隆仓库
git clone https://github.com/guangxiangdebizi/news-mcp.git
cd news-mcp
# 安装依赖
npm install
# 复制环境模板
cp .env.example .env
从以下任意服务获取免费API密钥(只需一个,但多个密钥可提高可靠性):
服务 | 每日限制 | 注册链接 | 优先级 |
---|---|---|---|
TheNewsAPI | 无限制* | 获取密钥 | 🥇 最高 |
NewsData.io | 约200次请求 | 获取密钥 | 🥈 高 |
NewsAPI.org | 100次请求 | 获取密钥 | 🥉 中等 |
GNews | 100次请求 | 获取密钥 | 🏅 中等 |
Twingly | 有试用版 | 获取密钥 | 🎖️ 低 |
*免费套餐声称无限制
编辑 .env
文件并添加你的API密钥:
# 至少添加一个API密钥(多个密钥可提高可靠性)
THE_NEWS_API_KEY=your_api_key_here
NEWSDATA_IO_KEY=your_api_key_here
NEWSAPI_ORG_KEY=your_api_key_here
GNEWS_API_KEY=your_api_key_here
TWINGLY_API_KEY=your_api_key_here
# 构建项目
npm run build
# 启动MCP服务器
npm start
# 或者以开发模式运行
npm run dev
添加到Claude Desktop配置中:
标准输入输出模式(本地开发):
{
"mcpServers": {
"news-mcp": {
"command": "node",
"args": ["path/to/news-mcp/build/index.js"]
}
}
}
服务器发送事件(SSE)模式(Web访问):
# 启动SSE服务器
npm run sse
{
"mcpServers": {
"news-mcp": {
"type": "sse",
"url": "http://localhost:3100/sse",
"timeout": 600
}
}
}
search_news
使用自动API切换功能搜索新闻文章。
参数:
query
(必需):搜索关键词或主题。language
(可选):语言代码(默认:"en")。limit
(可选):文章数量(1 - 10,默认:5)。示例:
// 搜索科技新闻
{
"query": "artificial intelligence",
"language": "en",
"limit": 5
}
// 搜索中文新闻
{
"query": "科技新闻",
"language": "zh",
"limit": 3
}
TheNewsAPI (∞) → NewsData.io (200) → NewsAPI.org (100) → GNews (100) → Twingly (50)
src/
├── index.ts # MCP服务器入口点
├── config.ts # API配置管理
└── tools/
└── newsSearch.ts # 智能新闻搜索工具
npm run build # 构建TypeScript项目
npm run dev # 开发模式,实时监听文件变化
npm start # 启动已构建的服务器
npm run sse # 在端口3100上启动SSE服务器
src/config.ts
中添加API配置。src/tools/newsSearch.ts
中实现特定于API的请求逻辑。.env.example
中添加环境变量。欢迎贡献代码!请随时提交拉取请求。
git checkout -b feature/AmazingFeature
)。git commit -m 'Add some AmazingFeature'
)。git push origin feature/AmazingFeature
)。本项目采用Apache License 2.0许可 - 详情请参阅 LICENSE 文件。
陈星宇
⭐ 如果这个项目对你有帮助,请给它点个星!