China News MCP
Provides access to Baidu Hot Search rankings, including rank, hotScore, tags, and links, and can identify cross-platform trending topics involving Baidu.
Allows adding public or authorized RSS feeds as news sources and aggregates them with normalization, deduplication, and event clustering.
Integrates Sky News World as an international news source for searching and aggregating news.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@China News MCPWhat are the top trending topics in China right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
China News MCP
一个面向 AI 客户端的中国与国际新闻、多平台热点查询及聚合 MCP 服务。它统一查询中英文新闻源、微博热搜、今日头条热榜、百度热搜和可选的 X Trends,进行规范化、去重、事件聚类,并在安全边界内提取新闻正文。
功能
中国新闻网 RSS、人民网/新华网公开页面和 GDELT 中文索引
NPR World、France 24 English、Sky News World 和 GDELT 国际检索
国际新闻独立搜索与聚合,自动标记
zh、en或other语言微博热搜、今日头条热榜、百度热搜,保留平台排名与原始热度
使用 X 官方 API 按 WOEID 查询全球或地区趋势
识别多个平台同时出现的相似热门话题
通过
CUSTOM_RSS_FEEDS增加公开或已授权 RSS中文关键词、分类、来源、时间范围与排序筛选
URL/近似标题去重,基于中文分词和标题相似度的事件聚类
同时输出适合模型阅读的文本和机器可用的
structuredContent遵守 robots.txt 的正文提取,包含 SSRF、重定向、超时、响应大小和正文长度限制
stdio 与带 Bearer Key 的 Streamable HTTP
上游部分失败、超时和陈旧缓存降级
本服务不会调用大模型生成结论。聚合结果只组织来源数据,AI 应引用返回的原文链接并自行判断事实。热榜表示平台关注度,不代表事件真实、重要或可信。
Related MCP server: TrendRadar
环境要求
Node.js 22+
npm 10+
npm install
npm run build
npm test生产部署、Docker、Nginx、systemd、监控和回滚方案参见 DEPLOYMENT.md。
使用 stdio
npm run start:stdio通用 MCP 客户端配置示例:
{
"mcpServers": {
"china-news": {
"command": "node",
"args": ["D:/test_wk/ai-news-mcp/dist/stdio.js"],
"env": {
"ENABLE_GDELT": "true",
"ENABLE_HTML_SOURCES": "true"
}
}
}
}stdio 模式的日志只写入 stderr,不会污染 MCP 标准输出。
使用 HTTP
复制 .env.example 中需要的变量,至少设置一个足够长的密钥:
$env:MCP_API_KEY = "replace-with-a-long-random-secret"
npm run start:httpMCP Endpoint:
http://127.0.0.1:3000/mcp健康检查:
http://127.0.0.1:3000/healthz请求头:
Authorization: Bearer replace-with-a-long-random-secret
HTTP 模式没有配置 MCP_API_KEY 时会拒绝启动。反向代理或域名部署还需在 MCP_ALLOWED_HOSTS 中加入外部 Host;浏览器发起请求时需在 MCP_ALLOWED_ORIGINS 中加入完整 Origin。服务默认按客户端地址限制为每分钟 60 次请求。
Docker 示例:
docker build -t china-news-mcp .
docker run --rm -p 3000:3000 \
-e MCP_API_KEY=replace-with-a-long-random-secret \
-e MCP_ALLOWED_HOSTS=localhost,127.0.0.1 \
china-news-mcpMCP 工具
search_china_news
查询并去重新闻。
{
"query": "人工智能",
"category": "technology",
"source_ids": [],
"from": "2026-08-28T00:00:00+08:00",
"to": "2026-08-29T23:59:59+08:00",
"sort": "relevance",
"limit": 10
}query 可以为空,此时返回最新新闻;默认查询最近 24 小时。单次时间范围不超过 90 天,limit 最大为 50。
分类值:all、politics、finance、society、world、technology、culture、sports、health、education、legal。
aggregate_china_news
使用与搜索相同的参数,将结果组合为事件簇。每个事件包含代表标题、关键词、来源数、报道数以及全部引用链接。
search_international_news
查询国际新闻,默认返回英文结果:
{
"query": "artificial intelligence",
"category": "world",
"language": "en",
"source_ids": [],
"limit": 10
}language 支持 en、zh 和 all。默认国际来源为 NPR World、France 24 English、Sky News World;有查询词时也会调用 GDELT。单个来源失败只会出现在 warnings 中。
aggregate_international_news
使用与国际新闻搜索相同的参数,按标题、关键词和发布时间生成可追溯的国际事件簇。
get_news_article
{
"url": "https://example.com/news/article.html",
"max_chars": 12000
}URL 必须属于已注册来源,或者来自本进程近期的搜索结果。工具不会运行页面 JavaScript、下载媒体、绕过登录或付费墙。正文最多返回 30,000 字符,并通过 status 与 truncated 表明提取结果。
get_trending_topics
查询微博、今日头条、百度和已配置的 X 实时趋势,并给出跨平台相似话题簇:
{
"query": "人工智能",
"source_ids": ["weibo", "toutiao", "baidu", "x"],
"limit": 30
}query 和 source_ids 均可省略。返回结果包含:
各平台原始
rank、hotScore、标签与话题链接基于榜单位置计算的
normalizedScore,用于跨平台排序clusters中的跨平台来源数、最佳排名、关键词和全部平台引用
不同平台的原始热度计算口径不同,不能直接横向比较;跨平台排序只使用榜单位置归一化。平台接口发生变化或临时限制访问时,其余热榜仍会返回,并在 warnings 中说明失败来源。
X 只通过官方 API 接入,需要在 X Developer Console 创建应用并配置:
ENABLE_X_TRENDS=true
X_BEARER_TOKEN=your-official-x-api-bearer-token
X_TRENDS_WOEID=1X_TRENDS_WOEID=1 表示全球趋势。X API 为计费服务且有平台限流;Token 未配置时请求 source_ids: ["x"] 会返回明确告警,不会尝试抓取登录页面。
list_news_sources
列出来源、支持分类及最近一次查询健康状态。
配置
变量 | 默认值 | 说明 |
|
| 启用 GDELT;不可用时其余来源仍正常返回 |
|
| 启用人民网和新华网页面发现 |
|
| 启用 NPR、France 24 和 Sky News 国际 RSS |
|
| 启用微博热搜 |
|
| 启用今日头条热榜 |
|
| 启用百度热搜 |
| 有 Token 时启用 | 启用 X 官方趋势 API |
| 空 | X 官方 API Bearer Token |
|
| X 趋势地区; |
| 空 | 自定义 RSS JSON 数组 |
|
| 单来源超时 |
|
| 单次聚合总预算 |
|
| 正文请求超时 |
|
| 单个上游响应上限 |
|
| 正文默认返回字符数 |
|
| 搜索内存缓存时长 |
|
| 上游失败时可用陈旧缓存时长 |
|
| 热榜缓存时长 |
|
| 热榜失败时可用陈旧缓存时长 |
|
| 访问来源和 robots.txt 时使用的 User-Agent |
自定义 RSS 示例:
[
{
"id": "authorized-feed",
"name": "授权新闻源",
"url": "https://example.com/rss.xml",
"homepage": "https://example.com/",
"category": "all"
}
]每个来源必须使用唯一 id。自定义来源应是公开允许订阅或你已取得授权的 Feed。
设计与降级行为
新闻来源实现统一的 NewsProvider 接口,热榜来源实现 TrendingProvider 接口。查询会并发执行,任何单一来源的 429、超时、格式变化或网络错误只会写入 providerStatus 和 warnings。存在允许时限内的缓存时会返回陈旧数据并明确标记。
来源页面变化可能导致 HTML 适配器暂时没有结果;RSS 和其他来源不会受其影响。GDELT 在部分网络环境中可能较慢,因此受到独立超时限制。
全文抓取在每次跳转前检查协议、端口和 DNS 地址,拒绝环回、私网、链路本地和保留地址,并限制重定向次数。该检查是防御措施,不应替代部署环境的出站网络策略;生产部署建议同时使用防火墙或代理限制出站访问。
开发
npm run typecheck
npm test
npm run build
npm run dev
npm run dev:http稳定测试使用固定数据和进程内 MCP 传输,不依赖实时新闻网站。上线前应在目标网络内对实际来源执行人工冒烟测试。
新增来源时实现 NewsProvider.search(),将来源结果转换为 RawNewsItem,然后在 src/providers/index.ts 注册。网络访问必须继续使用 safeFetch/fetchText,不得绕过统一安全与大小限制。
内容与版权
新闻标题、摘要和正文的版权归原始来源或权利人所有。本项目只提供技术聚合能力,不授予转载、复制或商业使用权。使用者应遵守来源网站条款、robots.txt、适用法律以及内容许可;如无全文使用授权,可只调用搜索/聚合工具并使用原文链接。
License
项目代码采用 MIT License;新闻内容不属于本项目许可证范围。
Available Tools
7 toolsaggregate_china_news聚合中国新闻ARead-only
查询新闻并按相似标题、关键词和时间邻近度形成事件簇;不生成无法追溯的事实。
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| category | No | all | |
| source_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and open-world, and the description adds useful behavioral context: it forms clusters based on title, keyword, and time proximity, and it promises not to generate facts that cannot be traced. This extra grounding/hallucination-avoidance guarantee is valuable beyond the annotations. It does not mention pagination or response shape, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact Chinese sentence with no redundant filler. It front-loads the primary behavior before adding the traceability guarantee, and every part contributes either to purpose or to an important behavioral constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has seven optional parameters, no output schema, and no parameter-level documentation, yet the description gives only a high-level behavior summary. It does not state what the returned event clusters look like, how limits and sorting affect output, what date range defaults apply, or how source filtering behaves. For an agent to invoke this tool correctly, significantly more contextual detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no meaningful parameter-level guidance. It only implies that some query text is involved and that time/cluster criteria matter, but it does not explain how 'from', 'to', 'sort', 'limit', 'category', 'source_ids', or 'query' should be used. With seven parameters and no schema descriptions, the description fails to compensate for the missing parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: query news and group it into event clusters using similar titles, keywords, and temporal proximity. This distinguishes it from sibling search tools that retrieve individual articles rather than aggregating them into clusters. Even without naming a sibling, the clustering mechanism makes the tool's purpose concrete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than explicit. The clustering language suggests this tool is appropriate when an agent needs grouped event coverage rather than a flat search result list, and 'China' in the name suggests geographic scope. However, it never explicitly says when to prefer aggregate_china_news over search_china_news or aggregate_international_news, and no exclusions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aggregate_international_news聚合国际新闻ARead-only
查询国际新闻并按相似标题、关键词和时间邻近度形成可追溯事件簇。
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| category | No | all | |
| language | No | en | |
| source_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds meaningful behavioral context by specifying the clustering criteria (similar titles, keywords, temporal proximity) and that the output consists of traceable event clusters, which is valuable in the absence of an output schema. It does not fully explain cluster structure or traceability mechanics, but it goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one efficient sentence, front-loaded with the primary action and then the clustering behavior. There is no filler, repetition, or redundant detail, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no parameter descriptions, a single-sentence description is insufficient for reliable invocation. It omits how time ranges are specified, what the returned clusters contain, how 'traceable' is expressed, and how filters such as category, language, and source_ids interact with clustering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate, but it does not explain any of the 8 parameters. Words like '查询' and '关键词' only weakly hint at a keyword query, while from, to, sort, limit, category, language, and source_ids receive no elaboration. An agent must rely entirely on parameter names and schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (查询, query) and resource (国际新闻, international news), then explains that it forms traceable event clusters based on similar titles, keywords, and temporal proximity. This clearly differentiates it from sibling tools like search_international_news, which retrieves individual articles, and aggregate_china_news, which is China-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clustering behavior implies the tool is intended for grouped-event discovery rather than simple search, so usage context is partially inferable. However, the description does not explicitly say when to prefer this tool over alternatives like search_international_news, nor does it mention any exclusions or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_news_article提取新闻正文ARead-only
提取已注册来源或近期搜索结果页面的正文,遵守 robots.txt,且不绕过登录或付费墙。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_chars | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description adds meaningful behavioral constraints: it respects robots.txt, does not bypass logins or paywalls, and only works on registered sources or recent search result pages. This clarifies important access limitations and ethical boundaries that the annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states the verb, resource, scope, and behavioral constraints with no redundant wording. Every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core extraction scope and ethical constraints, which is good for a simple read-only tool. However, with no output schema and no mention of max_chars behavior or response shape, an agent still faces some ambiguity about the returned content and how to control its length.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it does not mention max_chars at all and gives no guidance on how the optional parameter controls output length. The url parameter is inferable from the schema and tool name, but the only non-obvious parameter is left undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('extract') and resource ('news article body text') and narrows the scope to registered sources or recent search result pages. This clearly distinguishes it from the sibling search/aggregation tools, which retrieve or list articles rather than extracting content from a URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this tool is for extracting content from already-known sources or pages found in recent search results, implying it is used after discovery via the search siblings. It does not explicitly name alternative tools or state when not to use it, but the context is sufficient for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_topics查询多平台热榜ARead-only
查询微博热搜、今日头条热榜、百度热搜,保留各平台排名和热度,并识别跨平台相似话题。热度值仅能在同一平台内解释。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| source_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, and the description adds relevant behavioral context: it preserves per-platform rank and heat, detects cross-platform similar topics, and warns that heat values are only comparable within the same platform. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with two sentences that each add useful information: what platforms are covered, what output is retained, and the critical cross-platform heat caveat. No filler or redundant schema repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core output semantics (rank, heat, similarity grouping) and an important interpretation caveat. However, with no output schema and three undocumented parameters, the tool definition leaves the agent to guess how limit and query affect results and what the response shape is beyond the general mentions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for explaining limit, query, and source_ids. It only partially hints at platform selection by naming weibo, toutiao, and baidu, but omits 'x', and gives no guidance on what limit or query control. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('查询') with a clear resource ('多平台热榜') and lists concrete platforms (微博热搜、今日头条热榜、百度热搜). It also distinguishes itself from the news search/aggregation siblings by focusing on trending rankings and cross-platform similarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied: retrieve trending topics from multiple Chinese platforms. However, there is no explicit guidance about when to prefer this tool over siblings like search_china_news or aggregate_china_news, nor any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_news_sources列出资讯来源ARead-only
列出已配置新闻来源、热榜来源、支持分类和最近一次运行状态。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only safety profile (readOnlyHint=true), so the bar is lower. The description adds a useful behavioral detail by disclosing that the tool reports recent run status alongside the source lists. However, it leaves ambiguous what '最近一次运行状态' refers to (last run of which process?) and gives no detail on output ordering or volume. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and resource and compactly enumerates all four returned categories. Every element carries information; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description bears the burden of explaining return values, and it does so by enumerating the four output categories (sources, hot list sources, supported categories, last run status). This is sufficient for a zero-parameter listing tool. Minor gap: it never explicitly frames the tool as the discovery step for the sibling search/aggregate tools, and the run-status item is underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered and no parameter semantics need explanation. Baseline 4 is appropriate; there is nothing the description fails to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb (列出/list) with a concrete resource: configured news sources, hot list sources, supported categories, and last run status. Enumerating exactly what it exposes clearly distinguishes it from sibling tools that search, aggregate, or fetch individual news articles rather than listing configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the six siblings. Its plausible role as a discovery/preflight step before calling search_china_news or aggregate_china_news must be inferred by the agent; nothing states 'call this first to see available sources and categories' or identifies conditions that make it unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_china_news查询中国新闻ARead-only
按关键词、分类、来源和时间范围查询中国相关中文新闻,返回规范化、去重且可引用的结果。
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| category | No | all | |
| source_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
注解已经声明 readOnlyHint=true 和 openWorldHint=true,描述额外补充了输出会被规范化、去重且可引用,这些是有价值的行为信息。未提及分页、速率限制或具体返回结构,但在已有注解覆盖下仍算充分。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
一句话概括了核心查询维度和输出特性,信息密度高且没有冗余。但所有内容挤在一个句子中,缺少分段或列举结构,可读性略受影响。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
工具包含 7 个参数且没有输出 schema 或参数描述,描述虽然点明了主要查询维度,但未说明返回结果的具体结构、排序含义、时间范围默认值、source_ids 用法或与其他聚合/搜索工具的选择关系。对于这样一个中等复杂度的搜索工具,信息不足以让智能体完全正确调用。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
schema 中参数没有任何描述(覆盖率为 0%),描述通过“关键词、分类、来源和时间范围”间接映射了 query、category、source_ids、from/to,但对 sort、limit 的语义没有说明,也没有解释各枚举值的具体含义。描述部分补偿了 schema 的不足,但不够完整。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述使用明确的动词“查询”和资源“中国相关中文新闻”,并列出关键词、分类、来源、时间范围等查询维度。与 search_international_news 等兄弟工具在范围上形成清晰区分,且说明输出为规范化、去重、可引用的结果。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述隐含了按多种条件检索中国新闻的用途,但没有明确说明何时应使用本工具而不是 aggregate_china_news 或 search_international_news。没有提供 when/when-not 或替代工具的提示。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_international_news查询国际新闻BRead-only
查询 NPR、France 24、Sky News 和 GDELT 等国际来源,支持英文或中文结果,并返回规范化、去重且可引用的新闻。
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| category | No | all | |
| language | No | en | |
| source_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint and openWorldHint, so the safety/read-only burden is covered. The description adds useful behavior beyond the schema: supported sources, bilingual results, and normalized/deduplicated/citable output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler; the main action, source scope, language support, and output qualities are all front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema and zero schema descriptions, this one-sentence description leaves too much unspecified: date-range format, sort behavior, category filtering, and result structure are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description compensates only minimally—it maps the language concept to en/zh but never explains to/from, sort, limit, category, or source_ids semantics. Parameter names and enums remain the only clues.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb '查询' and resource 'international sources' with examples (NPR, France 24, Sky News, GDELT), and notes language support. It distinguishes from search_china_news by source scope, but does not clearly differentiate from aggregate_international_news.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or exclusions. The international-source framing only implicitly separates it from the China-news siblings, and there is no mention of when to choose aggregate vs search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.3.0- First observed
aggregate_china_news - First observed
aggregate_international_news - First observed
get_news_article - First observed
get_trending_topics - First observed
list_news_sources - First observed
search_china_news - First observed
search_international_news
TDQS
Scored across 7 tools
The domestic/international and search/aggregate splits are mostly clear, but search_china_news and aggregate_china_news both begin with a news query and could be confused by an agent wanting a simple result list. get_trending_topics, list_news_sources, and get_news_article are all clearly distinct.
All tools use lowercase snake_case with a clear verb prefix and a descriptive object or domain suffix. The repeated search_ and aggregate_ pattern for China and international news makes the naming highly predictable.
Seven tools is well-scoped for news discovery, aggregation, trending topics, source listing, and article extraction. Each tool adds a distinct capability without redundancy.
The tool surface covers the main news workflow: discover trending topics, search national and international sources, aggregate into event clusters, and extract article body text. Missing source configuration or update tools are a minor gap, but the server appears intentionally read-only.
Maintenance
Related MCP Connectors
Get access to real-time and historical news data including top headlines from global sources
Real-time news search across 500,000+ sources in 60+ languages with sentiment and entities.
The only News based AI MCP your agents will ever need — custom categories, global regions, and time-scoped results in one tool. We use multi-vector & sparse-hybrid search to search through thousands of articles across the world to find the exact news you're looking for.
Real-time financial news for AI agents: search by ticker and source, with sentiment and entities.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceAggregates news from 70+ platforms across categories like tech, finance, social, entertainment, and sports. Provides access to trending topics from popular Chinese platforms including Weibo, GitHub, Zhihu, Baidu, and Bilibili.12 npm2-
- AlicenseAqualityBmaintenanceA real-time news and hot spot aggregation server that monitors multiple platforms like Weibo, Zhihu, and Bilibili. It enables AI assistants to fetch, filter, and analyze trending topics through the Model Context Protocol for personalized information tracking.131GPL 3.0
- AlicenseAqualityBmaintenanceEnables real-time trending news aggregation from multiple sources, with AI-powered analysis, smart filtering, and multi-channel notifications (e.g., Telegram, WeChat, email) via MCP.27GPL 3.0
- AlicenseAqualityCmaintenanceEnables AI assistants to query aggregated multi-platform hot topics and RSS feeds, filter by keywords, and trigger AI-powered translation, analysis, and channel notifications through natural language.27GPL 3.0