使用说明
新闻MCP服务器
一种模型上下文协议(MCP)服务器,通过NewsAPI服务提供对新闻数据的访问。该服务器已被重构为干净的模块化架构,以提高可维护性和理解性。
🏗️ 建筑
该项目遵循干净的模块化结构:
news_server/
├── __init__.py # Package initialization
├── main.py # Entry point and server startup
├── config/
│ ├── __init__.py
│ └── settings.py # Configuration management
├── api/
│ ├── __init__.py
│ └── news_client.py # NewsAPI client with error handling
├── core/
│ ├── __init__.py
│ ├── server.py # MCP server setup and orchestration
│ └── handlers.py # Resource and tool handlers
├── models/
│ ├── __init__.py
│ └── schemas.py # Data models and schemas
└── utils/
├── __init__.py
├── formatters.py # Article and date formatting
└── logger.py # Logging configuration
✨ 特性
- 新闻搜索:使用日期过滤按关键字搜索文章
- 头条新闻:按类别和国家获取头条新闻
- 热门话题:访问最近几小时的热门新闻
- 数据源发现:通过筛选浏览可用的新闻来源
- 多语言支持:支持多种语言和国家
- 丰富的格式:人类可读的文章格式
- 错误处理:全面的错误处理和记录
- 配置验证:强大的配置验证
🚀 快速开始
1.安装
# Install the package in development mode
pip install -e .
# Or install dependencies directly
pip install -r requirements.txt
2.配置
从获取NewsAPI密钥 newsapi.org 并对其进行配置:
选项A:环境变量
export NEWS_API_KEY="your_api_key_here"
选项B:.env文件
NEWS_API_KEY=your_api_key_here
NEWS_API_BASE_URL=https://newsapi.org/v2
REQUEST_TIMEOUT=30
3.运行服务器
方法A:使用installed命令
news-mcp-server
方法B:直接使用Python
python main.py
方法C:使用模块
python -m news_server.main
可用资源
news://headlines-最新头条新闻news://categories-可用新闻类别news://sources-可用新闻来源news://countries-支持的国家
可用工具
搜索_新闻
按关键字搜索新闻文章。
参数:
query(必填):搜索词days_back(可选):返回搜索的天数(默认值:7)page_size(可选):结果数量(默认值:20,最大值:100)
get_headlines
按类别和国家获取头条新闻。
参数:
category(可选):新闻类(商业、科技、体育等)country(可选):国家代码(默认:“us”)page_size(可选):结果数量(默认值:20,最大值:100)
get_trending
获取最近几小时的热门新闻话题。
参数:
hours_back(可选):返回分析的小时数(默认值:24)
使用示例
一旦连接到克劳德,你可以问:
- “搜索有关人工智能的新闻”
- “获取最新技术头条”
- “今天的新闻趋势是什么?”
- “给我看英国的商业新闻”
配置
分类
- 商业
- 娱乐
- 通用
- 健康
- 科学
- 运动
- 技术
国家
- us(美国)
- gb(英国)
- ca(加拿大)
- au(澳大利亚)
- 在(印度)
- de(德国)
- fr(法国)
- jp(日本)
速率限制
- 免费新闻API:每天1000个请求
- 服务器包含用于优化API使用的基本缓存
- 考虑升级到NewsAPI Pro以获得更高的限制
错误处理
该服务器包括全面的错误处理功能,用于:
- API请求频率超限
- 网络连接问题
- 搜索参数无效
- API响应格式不正确
发展
要扩展服务器,请执行以下操作:
- 在中添加新端点
config.py - 在中实施新工具
server.py - 更新工具列表和模式
- 使用各种查询进行测试
许可证
MIT许可证-有关详细信息,请参阅许可证文件。