世界新闻API MCP服务器
一种模型上下文协议(MCP)服务器,提供对 世界新闻API该服务器使AI助手能够通过MCP协议搜索新闻、获取头条新闻、提取文章、检索报纸头版等。
](https://www.npmjs.com/package/world-news-api-mcp) ](https://www.npmjs.com/package/world-news-api-mcp) 
特性
- 新闻搜索:按文本、日期、位置、类别、语言等搜索和筛选新闻
- 头条新闻:以任何语言获取来自任何国家的头条新闻
- 报纸头版:检索世界各地报纸的头版
- 文章摘录:从新闻URL中提取完整文章
- 新闻链接发现:从网站中提取新闻链接
- 来源搜索:查找受监控的新闻来源
- 位置坐标:获取地理坐标以进行基于位置的过滤
- 内容分析:提取实体、检测情绪等
快速开始
安装
npm install -g world-news-api-mcp设置
- 获取世界新闻API密钥 (免费)https://worldnewsapi.com/register)
- 将API密钥设置为环境变量:
# Windows (PowerShell)
$env:WORLD_NEWS_API_KEY="your_api_key_here"
# macOS/Linux
export WORLD_NEWS_API_KEY="your_api_key_here"与MCP客户端一起使用
将此配置添加到您的MCP客户端(Claude Desktop等):
{
"servers": {
"world-news-api": {
"command": "world-news-api-mcp",
"env": {
"WORLD_NEWS_API_KEY": "your_api_key_here"
}
}
}
}测试安装
# Set your API key
export WORLD_NEWS_API_KEY="your_key_here"
# Test the server
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | world-news-api-mcp可用工具
search_news
按文本、日期、位置、类别、语言等搜索和过滤新闻。
参数:
text(字符串,可选):新闻内容中要匹配的文本(最少3个字符)source-country(字符串,可选):ISO 3166国家代码(例如“us”、“gb”)language(字符串,可选):ISO 6391语言代码(例如“en”、“es”)min-sentiment/max-sentiment(数字,可选):情绪范围\[-1,1\]earliest-publish-date/latest-publish-date(字符串,可选):日期范围(YYYY-MM-DD HH:MM:SS)news-sources(字符串,可选):以逗号分隔的源列表authors(字符串,可选):以逗号分隔的作者列表categories(字符串,可选):类别(政治、体育、商业、技术等)entities(字符串,可选):按实体筛选(ORG:特斯拉,PER:埃隆·马斯克)location-filter(字符串,可选):“纬度、经度、半径_公里”sort(字符串,可选):排序条件(发布时间)sort-direction(字符串,可选):ASC或DESCoffset(number,可选):要跳过的结果数number(number,可选):要返回的结果数(1-100,默认值:10)
get_top_news
获取某一特定日期某一语言国家的头条新闻。
参数:
source-country(字符串,必填):ISO 3166国家代码language(字符串,必填):ISO 6391语言代码date(字符串,可选):日期(YYYY-MM-DD),默认为当前日期headlines-only(boolean,可选):仅返回基本信息(默认值:false)
retrieve_newspaper_front_page
获取世界各地报纸的头版。
参数:
source-country(字符串,可选):ISO 3166国家代码source-name(字符串,可选):出版物标识符(例如“先驱太阳”)date(字符串,可选):日期(YYYY-MM-DD),最早:2024-07-09
retrieve_news_articles
通过ID检索特定新闻文章的详细信息。
参数:
ids(字符串,必填):逗号分隔的新闻ID列表
extract_news
将网站上的新闻文章提取到结构良好的JSON对象中。
参数:
url(string,必填):新闻文章的URLanalyze(布尔值,可选):分析内容(实体、情感等)
extract_news_links
从新闻网站提取新闻链接。
参数:
url(string,必填):新闻网站的URLanalyze(布尔值,可选):分析提取的内容
search_news_sources
搜索新闻源是否受世界新闻API监控。
参数:
name(字符串,必填):(部分)源名称
get_geo_coordinates
获取位置的纬度和经度,以便在位置过滤器中使用。
参数:
location(字符串,必填):地址或位置名称
使用示例
搜索有关AI的最新消息
{
"name": "search_news",
"arguments": {
"text": "artificial intelligence",
"language": "en",
"categories": "technology",
"number": 5
}
}获取美国的头条新闻
{
"name": "get_top_news",
"arguments": {
"source-country": "us",
"language": "en"
}
}从URL中提取文章
{
"name": "extract_news",
"arguments": {
"url": "https://www.bbc.com/news/world-us-canada-59340789",
"analyze": true
}
}搜索某个地点附近的新闻
{
"name": "search_news",
"arguments": {
"text": "earthquake",
"location-filter": "35.6762,139.6503,50",
"language": "en"
}
}发展
要在开发模式下运行:
npm run dev要构建:
npm run build测试:
npm testAPI费率限制
世界新闻API根据您的订阅有不同的费率限制:
- 免费计划:每天150个请求
- 付费计划:可用更高的限制
检查 世界新闻API定价 了解详情。
错误处理
服务器处理常见的API错误:
- 401未经授权:API密钥无效
- 402需要付款:超过API配额
- 429请求太多:超出费率限制
许可证
国际协调委员会
贡献
欢迎投稿!请随时提交拉取请求。
