使用说明
GNews API MCP服务器
一种模型上下文协议(MCP)服务器,提供对 GNews API 用于获取新闻文章和头条新闻。该服务器使AI应用程序能够通过标准化的界面搜索新闻、获取热门头条新闻并访问全面的新闻数据。
特性
🔧 工具
search_news-使用具有高级过滤功能的关键字搜索新闻文章get_top_headlines-按类别获取热门新闻文章
📚 资源
gnews://supported-languages-支持的语言代码列表gnews://supported-countries-支持的国家代码列表gnews://query-syntax-搜索查询语法综合指南
🎯 提示
create_news_search_prompt-针对特定主题生成全面的新闻研究提示
安装
-
克隆或下载此存储库
git clone <repository-url> cd gnews-server -
安装依赖项
pip install -r requirements.txt # or using uv uv sync -
获取GNews API密钥
- 访问 新闻.io
- 注册一个免费帐户
- 从仪表板获取API密钥
-
设置环境变量
export GNEWS_API_KEY="your_api_key_here"
用法
运行服务器
开发模式(stdio):
python main.py
使用紫外线:
uv run main.py
与Claude Desktop集成
添加到您的Claude Desktop配置文件(claude_desktop_config.json):
{
"mcpServers": {
"gnews": {
"command": "python",
"args": ["/absolute/path/to/gnews-server/main.py"],
"env": {
"GNEWS_API_KEY": "your_api_key_here"
}
}
}
}
与其他MCP客户端集成
服务器支持标准MCP协议,可以与任何兼容MCP的客户端一起使用。使用stdio传输进行本地连接。
api参考
工具
search_news
使用特定关键字搜索新闻文章。
参数:
q(必填):支持逻辑运算符的搜索关键字lang(可选):语言代码(2个字母,例如“en”、“es”)country(可选):国家代码(2个字母,例如“us”、“gb”)max(可选):要返回的文章数(1-100,默认值:10)in(可选):在特定字段中搜索:“标题”、“描述”、“内容”nullable(可选):允许以下值为空:“描述”、“内容”、“图像”from(可选):从日期过滤(ISO 8601格式)to(可选):过滤到日期(ISO 8601格式)sortby(可选):按“published At”或“相关性”排序page(可选):分页页码
示例查询:
- "Apple iPhone"
- "Apple AND iPhone"
- "Apple OR Microsoft"
- "(Apple AND iPhone) OR Microsoft"
- "Apple NOT iPhone"
- "Apple iPhone 15" AND NOT "Apple iPhone 14"
退货:
{
"success": true,
"query": "search terms",
"totalArticles": 150,
"articles": [
{
"title": "Article Title",
"description": "Article description...",
"content": "Full article content...",
"url": "https://example.com/article",
"image": "https://example.com/image.jpg",
"publishedAt": "2024-01-01T12:00:00Z",
"source": {
"name": "Source Name",
"url": "https://source.com"
}
}
],
"parameters_used": {...}
}
get_top_headlines
按类别获取当前热门新闻文章。
参数:
category(可选):新闻类别(默认:“常规”)- 可用:“一般”、“世界”、“国家”、“商业”、“技术”、“娱乐”、“体育”、“科学”、“健康”
lang(可选):语言代码country(可选):国家代码max(可选):文章数量(1-100,默认值:10)nullable(可选):允许空值from(可选):从日期筛选to(可选):过滤到日期q(可选):其他搜索关键字page(可选):页码
退货: 结构类似于 search_news 与特定类别的热门文章。
资源
gnews://supported-languages
返回所有支持的语言代码和名称的格式化列表。
gnews://supported-countries
返回所有支持的国家代码和名称的格式化列表。
gnews://query-syntax
返回有关搜索查询语法的全面文档,包括逻辑运算符、短语搜索和示例。
提示
create_news_search_prompt
为特定主题的综合新闻研究创建结构化提示。
参数:
topic(必填):研究主题days_back(可选):回顾的天数(默认值:7)
高级查询语法
GNews API支持复杂的搜索查询:
逻辑运算符
- 与:
Apple AND iPhone(两个术语都必须出现) - 或:
Apple OR Microsoft(任何一个词都可以出现) - 非:
Apple NOT iPhone(不包括带有“iPhone”的文章)
短语搜索
- 精确短语:
"Apple iPhone 15"(精确顺序)
运算符优先级
- OR的优先级高于AND
- 使用括号进行分组:
(Apple AND iPhone) OR Microsoft
复杂示例
- Intel AND (i7 OR i9)
- (Windows 7) AND (Windows 10)
- "breaking news" AND NOT "rumor"
- (Tesla OR "electric vehicle") AND NOT "stock price"
支持的语言
阿拉伯语(ar)、汉语(zh)、荷兰语(nl)、英语(en)、法语(fr)、德语(de)、希腊语(el)、印地语(hi)、意大利语(it)、日语(ja)、马拉雅拉姆语(ml)、马拉地语(mr)、挪威语(no)、葡萄牙语(pt)、罗马尼亚语(ro)、俄语(ru)、西班牙语(es)、瑞典语(sv)、泰米尔语(ta)、泰卢固语(te)、乌克兰语(uk)
支持的国家
澳大利亚(au)、巴西(br)、加拿大(ca)、中国(cn)、埃及(eg)、法国(fr)、德国(de)、希腊(gr)、香港(hk)、印度(in)、爱尔兰(ie)、意大利(it)、日本(jp)、荷兰(nl)、挪威(no)、巴基斯坦(pk)、秘鲁(pe)、菲律宾(ph)、葡萄牙(pt)、罗马尼亚(ro)、俄罗斯联邦(ru)、新加坡(sg)、西班牙(es)、瑞典(se)、瑞士(ch)、台湾(tw)、乌克兰(ua)、英国(gb),美国
错误处理
服务器包括全面的错误处理:
- API密钥验证:检查所需的环境变量
- 参数验证:验证语言代码、国家代码和数字范围
- 网络错误处理:妥善处理连接问题
- API错误响应:从GNews API清除错误消息
错误响应包括:
{
"success": false,
"error": "Error description",
"query": "original query",
"parameters_used": {...}
}
速率限制
GNews API有基于您的订阅计划的费率限制:
- 免费计划:每天100个请求
- 付费计划:可用更高的限制
如果超过速率限制,服务器将返回相应的错误消息。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
- GNews API文档: https://docs.gnews.io/
- MCP规范: https://modelcontextprotocol.io/
- 问题:请通过存储库的问题跟踪器报告错误和功能请求
Claude中的示例用法
设置服务器后,您可以在Claude Desktop中使用它:
"Search for recent news about artificial intelligence developments in the last 3 days"
"Get the top technology headlines from the United States"
"Find news articles about climate change, but exclude articles about politics"
"Show me breaking news about electric vehicles from European sources"
服务器将自动使用适当的工具,并提供结构化、全面的新闻结果。