关于 APITube News
APITube News 是托管的 MCP 服务,为 AI 助手提供实时及历史新闻的结构化访问。它通过搜索和分类查询工具支持细致筛选,并提供情感与实体信息。
主要功能
- 01搜索实时及历史新闻
- 02按语言、来源、日期和情感筛选
- 03提取文章中的实体与主题
- 04用 suggest 查询分类 ID
- 05排序、分页、分面与高亮结果
适用场景
- 01监测公司报道及情感倾向
- 02用近期新闻为 Agent 提供依据
- 03按主题追踪突发新闻
- 04比较报道量与情感倾向
MCP 相关
提供只读的 `search_news` 和 `suggest` 工具,以及用于公司监测、主题情感分析、突发新闻查询和报道比较的提示词。MCP 客户端通过托管的 Streamable HTTP 端点连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.apitube.io/claude mcp add --transport http io-apitube-news https://mcp.apitube.io/{"mcpServers":{"io-apitube-news":{"type":"http","url":"https://mcp.apitube.io/"}}}在 Cursor 中打开{"servers":{"io-apitube-news":{"type":"http","url":"https://mcp.apitube.io/"}}}在 VS Code 中打开{"mcpServers":{"io-apitube-news":{"type":"http","url":"https://mcp.apitube.io/"}}}{"mcpServers":{"io-apitube-news":{"serverUrl":"https://mcp.apitube.io/"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.apitube.io/需要授权工具
2| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fl | string | 否 | 要返回的字段,以逗号分隔(支持点号表示法),例如 "id,title,source.name,sentiment.overall.score"。 |
| hl | boolean|object | 否 | 启用高亮(true)或使用对象形式。 |
| hl.fl | string | 否 | 要高亮的字段,以逗号分隔。 |
| hl.tag | object | 否 | |
| hl.tag.pre | string | 否 | |
| hl.tag.post | string | 否 | |
| hl.fragsize | integer | 否 | |
| hl.snippets | integer | 否 | |
| page | integer | 否 | 页码(默认值为 1)。 |
| sort | object | 否 | |
| sort.by | enum | 否 | 用于排序的字段。published_at | created_at | id | source.rank.opr | read_time | sentiment.overall.score | sentiment.title.score | sentiment.body.score | media.images.count | media.videos.count | media.images.width.min | media.images.width.max | media.images.height.min | media.images.height.max | media_richness | shares.facebook.min | shares.facebook.max | shares.twitter.min | shares.twitter.max | shares.reddit.min | shares.reddit.max | relevance | engagement | quality | controversy | trust |
| sort.order | enum | 否 | 排序方向。asc | desc |
| brand | object | 否 | |
| brand.name | string | 否 | 品牌名称,以逗号分隔,最多 3 个。 |
| event | object | 否 | |
| event.name | string | 否 | 命名事件实体,以逗号分隔,最多 3 个。目录几乎为空——优先使用 type/category;未知名称会返回 400 ER0228。 |
| event.type | string | 否 | 事件代码,以逗号分隔(最多 5 个)——参见 /v1/news/event-types,例如 layoffs、ipo、recall、wildfire。 |
| event.category | enum | 否 | 事件类别。business | society | environment |
| facet | boolean|object | 否 | 启用分面(true)或使用对象形式进行分析。 |
| facet.field | string | 否 | 分面字段,以逗号分隔。 |
| facet.limit | integer | 否 | |
| facet.range | object | 否 | 范围分面 → facet.range.* 参数。 |
| facet.range.end | string | 否 | |
| facet.range.gap | string | 否 | 例如,日期使用 "1MONTH",数值使用 "0.25"。 |
| facet.range.field | string | 否 | 用于分桶的数值/日期字段。 |
| facet.range.start | string | 否 | |
| facet.mincount | integer | 否 | |
| media | object | 否 | 媒体内容筛选条件。 |
| media.images | object | 否 | |
| media.images.count | object | 否 | |
| media.images.count.max | integer | 否 | |
| media.images.count.min | integer | 否 | |
| media.images.width | object | 否 | |
| media.images.width.max | integer | 否 | |
| media.images.width.min | integer | 否 | |
| media.images.height | object | 否 | |
| media.images.height.max | integer | 否 | |
| media.images.height.min | integer | 否 | |
| media.videos | object | 否 | |
| media.videos.count | object | 否 | |
| media.videos.count.max | integer | 否 | |
| media.videos.count.min | integer | 否 | |
| title | string | 否 | 按文章标题搜索。最多指定 3 个关键词,以逗号分隔(OR)。将短语放在引号中可精确匹配。 |
| topic | object | 否 | |
| topic.id | string | 否 | 主题 ID,以逗号分隔,最多 3 个。 |
| author | object | 否 | |
| author.id | string | 否 | 作者 ID,以逗号分隔,最多 3 个。 |
| author.name | string | 否 | 作者姓名,以逗号分隔,最多 3 个。 |
| entity | object | 否 | 命名实体筛选条件。 |
| entity.id | string | 否 | 数字实体 ID,以逗号分隔,最多 3 个。 |
| ignore | object | 否 | 排除筛选条件——排除匹配这些条件的文章。与正向筛选条件对应。 |
| ignore.brand | object | 否 | |
| ignore.brand.name | string | 否 | |
| ignore.event | object | 否 | |
| ignore.event.name | string | 否 | 排除这些指定事件(最多 3 个)。 |
| ignore.event.type | string | 否 | 排除这些事件代码(最多 5 个)。 |
| ignore.title | string | 否 | 排除标题中包含这些关键词的文章,关键词以逗号分隔。 |
| ignore.topic | object | 否 | |
| ignore.topic.id | string | 否 | |
| ignore.author | object | 否 | |
| ignore.author.id | string | 否 | |
| ignore.author.name | string | 否 | |
| ignore.entity | object | 否 | |
| ignore.entity.id | string | 否 | |
| ignore.person | object | 否 | |
| ignore.person.name | string | 否 | |
| ignore.source | object | 否 | |
| ignore.source.id | string | 否 | |
| ignore.source.bias | string | 否 | |
| ignore.source.domain | string | 否 | |
| ignore.source.country | object | 否 | |
| ignore.source.country.code | string | 否 | |
| ignore.disease | object | 否 | |
| ignore.disease.name | string | 否 | |
| ignore.category | object | 否 | |
| ignore.category.id | string | 否 | |
| ignore.disaster | object | 否 | |
| ignore.disaster.name | string | 否 | |
| ignore.industry | object | 否 | |
| ignore.industry.id | string | 否 | |
| ignore.language | object | 否 | |
| ignore.language.code | string | 否 | |
| ignore.location | object | 否 | |
| ignore.location.name | string | 否 | |
| ignore.organization | object | 否 | |
| ignore.organization.name | string | 否 | |
| person | object | 否 | |
| person.name | string | 否 | 人物姓名,以逗号分隔,最多 3 个。 |
| source | object | 否 | 来源筛选条件。 |
| source.id | string | 否 | 来源 ID,以逗号分隔,最多 3 个。 |
| source.bias | enum | 否 | 媒体倾向(多个值以逗号分隔)。left | center | right |
| source.rank | object | 否 | |
| source.rank.opr | object | 否 | OpenPageRank 范围(0-7)。 |
| source.rank.opr.max | number | 否 | |
| source.rank.opr.min | number | 否 | |
| source.domain | string | 否 | 域名,例如 "cnn.com,bbc.com"。 |
| source.country | object | 否 | |
| source.country.code | string | 否 | 国家/地区代码,例如 "us,uk,de"。 |
| disease | object | 否 | |
| disease.name | string | 否 | 疾病名称,以逗号分隔,最多 3 个。 |
| category | object | 否 | IPTC 类别筛选条件。 |
| category.id | string | 否 | 类别 ID,例如 "medtop:04000000"。最多 3 个,以逗号分隔。 |
| disaster | object | 否 | |
| disaster.name | string | 否 | 灾害名称,以逗号分隔,最多 3 个。 |
| industry | object | 否 | |
| industry.id | string | 否 | 行业 ID,以逗号分隔,最多 3 个。 |
| language | object | 否 | 按语言筛选。 |
| language.code | string | 否 | ISO 代码,以逗号分隔,最多 3 个(例如 "en,ru,fr")。 |
| location | object | 否 | |
| location.name | string | 否 | 地点名称,以逗号分隔,最多 3 个。 |
| per_page | integer | 否 | 每页结果数(默认 10)。每个响应最多包含 25 篇文章。 |
| has_image | enum | 否 | 至少包含一张图片的文章。0 | 1 |
| has_video | enum | 否 | 至少包含一段视频的文章。0 | 1 |
| read_time | object | 否 | 阅读时间(分钟)。 |
| read_time.max | integer | 否 | |
| read_time.min | integer | 否 | |
| sentiment | object | 否 | 情感筛选。分数范围为 -1.0..1.0。 |
| sentiment.body | object | 否 | |
| sentiment.body.score | object | 否 | |
| sentiment.body.score.max | number | 否 | |
| sentiment.body.score.min | number | 否 | |
| sentiment.mixed | enum | 否 | 标题与正文的情感不同。0 | 1 |
| sentiment.title | object | 否 | |
| sentiment.title.score | object | 否 | |
| sentiment.title.score.max | number | 否 | |
| sentiment.title.score.min | number | 否 | |
| sentiment.overall | object | 否 | |
| sentiment.overall.score | object | 否 | |
| sentiment.overall.score.max | number | 否 | |
| sentiment.overall.score.min | number | 否 | |
| sentiment.overall.polarity | enum | 否 | 整体情感倾向。positive | negative | neutral |
| sentiment.consistent | enum | 否 | 标题与正文的情感一致。0 | 1 |
| has_author | enum | 否 | 有署名作者。0 | 1 |
| is_paywall | enum | 否 | 设为 0 可排除付费墙内容。0 | 1 |
| is_breaking | enum | 否 | 仅限突发新闻。0 | 1 |
| is_duplicate | enum | 否 | 设为 0 可排除重复内容。0 | 1 |
| is_long_read | enum | 否 | 阅读时间 >= 5 分钟。0 | 1 |
| organization | object | 否 | |
| organization.name | string | 否 | 机构名称(逗号分隔,最多 3 个)。 |
| published_at | object | 否 | 发布日期范围(ISO 8601)。 |
| published_at.end | string | 否 | YYYY-MM-DD 或 RFC3339。 |
| published_at.start | string | 否 | YYYY-MM-DD 或 RFC3339。 |
| has_hq_images | enum | 否 | 高质量图片(宽度 >= 1200px)。0 | 1 |
| is_media_rich | enum | 否 | 同时包含图片和视频。0 | 1 |
| is_short_read | enum | 否 | 阅读时间 < 3 分钟。0 | 1 |
| is_premium_source | enum | 否 | 优质来源(OPR >= 6)。0 | 1 |
| is_verified_source | enum | 否 | 已验证来源(OPR >= 5)。0 | 1 |
详细介绍
APITube 新闻 MCP
通过 Model Context Protocol,为 AI Agent 提供实时和存档新闻搜索。
托管于 https://mcp.apitube.io/ — 无需安装软件包,也无需维持本地进程运行。
快速开始 • 工具 • 筛选条件 • 提示词 • 定价 • 故障排除 • 文档 • 支持
300,000+ 个来源 · 177 个国家 · 59 种语言。每篇文章均附带情感分析和实体信息。
概述
APITube MCP 服务为助手提供实时访问全球新闻的能力,并以结构化数据而非抓取的 HTML 提供内容。它提供 2 个工具:
search_news— 一次调用即可使用大部分 News API 筛选条件:关键词、语言、国家/地区、来源域名和质量排名、情感范围、命名实体、媒体、日期范围、排序、分面和高亮。suggest— 将“Tesla”这类名称解析为精确筛选条件所需的实体、类别、主题和行业 ID。
每篇文章都会经过后台处理流程的丰富处理:情感评分、提取的实体(人物、组织、地点、品牌、事件)、IPTC 类别、主题和行业。
MCP client → mcp.apitube.io → api.apitube.io
(this server) (News API)
JSON-RPC over HTTP, Authorization: Bearer <API_KEY>
| 属性 | 值 |
|---|---|
| 端点 | https://mcp.apitube.io/ |
| 传输方式 | Streamable HTTP(POST /),JSON-RPC 2.0 |
| 协议 | 2025-11-25,协商后可降级至客户端的版本(支持 2024-11-05) |
| 服务 | APITube News MCP-Server 1.0.0 |
| 身份验证 | Authorization: Bearer <API_KEY>,或 X-API-Key: <API_KEY> |
| 注册表 | io.apitube/news(server.json) |
快速开始
- 在 apitube.io 获取 API 密钥。
- 使用下面的代码块将服务添加到客户端中——每个代码块也都是
configs/中的现成配置文件。 - 重启客户端,然后询问它类似这样的问题:“查找过去一周内用英语报道的特斯拉正面突发新闻”。
Claude Code
claude mcp add --transport http apitube-news https://mcp.apitube.io/ \
--header "Authorization: Bearer YOUR_API_KEY"
使用 /mcp 检查。如果要将服务提交到项目中,请将 configs/claude-code.mcp.json 放在仓库根目录下,命名为 .mcp.json。
Cline
MCP 服务 → 配置,或为命令行使用 ~/.cline/mcp.json:
{
"mcpServers": {
"apitube-news": {
"type": "streamableHttp",
"url": "https://mcp.apitube.io/",
"headers": { "Authorization": "Bearer YOUR_API_KEY" },
"disabled": false,
"autoApprove": []
}
}
}
必须显式设置 type——如果没有设置,Cline 会回退到旧版 SSE 传输,而此服务不支持该传输。这两个工具均为只读工具,因此如果不想每次调用都确认,可以安全地设置 autoApprove: ["search_news", "suggest"]。
Cursor
~/.cursor/mcp.json(全局)或 .cursor/mcp.json(每个项目):
{
"mcpServers": {
"apitube-news": {
"url": "https://mcp.apitube.io/",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
设置 → MCP 中应显示 apitube-news 已连接。
Claude Desktop
Claude Desktop 只能启动本地进程,因此请使用 mcp-remote 连接托管服务。编辑 claude_desktop_config.json(macOS 上为 ~/Library/Application Support/Claude/,Windows 上为 %APPDATA%\Claude\):
{
"mcpServers": {
"apitube-news": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.apitube.io/",
"--header",
"Authorization: Bearer YOUR_API_KEY"
]
}
}
}
重启应用;工具会显示在滑块图标下方。
VS Code(GitHub Copilot)
.vscode/mcp.json,密钥会通过提示输入,而不会以纯文本形式存储:
{
"inputs": [
{ "type": "promptString", "id": "apitube-key", "description": "APITube API Key", "password": true }
],
"servers": {
"apitube-news": {
"type": "http",
"url": "https://mcp.apitube.io/",
"headers": { "Authorization": "Bearer ${input:apitube-key}" }
}
}
}
在 Agent 模式下打开 Copilot Chat,并启用 apitube-news 工具。
Windsurf
~/.codeium/windsurf/mcp_config.json——注意使用 serverUrl,而非 url:
{
"mcpServers": {
"apitube-news": {
"serverUrl": "https://mcp.apitube.io/",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Windsurf 设置 → Cascade → MCP 服务 → 刷新。
任何其他客户端,或直接使用 curl
任何支持 Streamable HTTP 的客户端都可以直接使用该 URL;仅支持 stdio 的客户端则通过 mcp-remote 连接,如 Claude Desktop 部分所示。握手无需密钥:
curl -s -X POST https://mcp.apitube.io/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}},"id":1}'
{
"jsonrpc": "2.0",
"result": {
"protocolVersion": "2024-11-05",
"serverInfo": { "name": "APITube News MCP-Server", "version": "1.0.0" },
"capabilities": { "tools": { "listChanged": true }, "prompts": { "listChanged": true } }
}
}
实际搜索时需要添加密钥:
curl -s -X POST https://mcp.apitube.io/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"search_news","arguments":{"title":"Bitcoin","language":{"code":"en"},"per_page":5}},"id":1}'
工具
| 工具 | 标题 | 类型 | 功能说明 |
|---|---|---|---|
search_news | 新闻搜索 | 只读 | 根据 News API 的筛选条件集搜索文章 |
suggest | 解析分类体系 ID | 只读 | 将名称或前缀转换为实体 / 类别 / 主题 / 行业 ID |
search_news
参数必须是嵌套对象,不能使用带点号的字符串:
{ "language": { "code": "en" } } // ✅
{ "language.code": "en" } // ❌ rejected
首次调用前,有三点值得了解:
- 默认情况下不会返回文章正文。 默认字段列表为
id,title,href,published_at,description,source.domain。如需正文,请明确指定fl: "title,href,body"。 - 每个响应最多包含 25 篇文章。
per_page默认为 10,上限为 25;可通过page获取后续结果。如果结果集仍需截断——25 篇全文可能很大——响应中会增加_mcp_truncated字段,说明省略了多少篇。 - 标题搜索的时间跨度最长为 31 天。 如果未指定日期,则搜索最近 31 天;显式指定更长的日期范围会返回
400 ER0110。较长时段请拆分为按月划分的时间窗口。不使用标题筛选条件的搜索不受时间范围限制。
拼写错误的参数会被拒绝,并返回 JSON-RPC -32602 和建议,而不会被静默忽略:
Unknown parameter 'langauge.code'. Did you mean 'language.code'?
export、query 和 prompt 不会对外开放。
suggest
精确筛选条件需要使用无法猜出的 ID,因此请先解析:
suggest({ type: "entities", prefix: "Tesla" })
// → [{ id: 474, name: "Tesla Robotaxi", type: "brand", … }, …]
search_news({ entity: { id: "474" }, language: { code: "en" } })
type 的取值为 entities、categories、topics、industries 之一;prefix 是名称或名称的开头部分。两者均为必填项。匹配方式为前缀匹配,因此请先阅读名称,再按首个匹配项进行筛选。
筛选条件
以下所有内容均属于 search_news。内容、分类体系、语言、作者和来源筛选条件都有对应的 ignore.* 排除项(ignore.title、ignore.entity.id、ignore.source.domain 等);情感、媒体和时间筛选条件则没有。多值筛选条件最多接受 3 个逗号分隔的值。
has_* 和 is_* 的取值为 0 或 1,而不是 true/false。
内容和分类体系
| 参数 | 示例 |
|---|---|
title | "Bitcoin" — 最多 3 个逗号分隔的关键词;使用引号表示精确短语 |
category.id | "medtop:04000000" — IPTC 分类体系 |
topic.id | "industry.crypto_news" — 来自 suggest 的 slug |
industry.id | "411" — 数字,来自 suggest |
entity.id | "474" — 来自 suggest |
person.name · organization.name · location.name | "Elon Musk" · "Tesla,Apple" · "Tokyo" |
brand.name · event.name · disaster.name · disease.name | "Nike" · "Olympics" · "Earthquake" · "COVID-19" |
author.id · author.name · has_author | "123" · "Jane Smith" · 1 |
language.code | "en,de,fr" |
情感
| 参数 | 示例 |
|---|---|
sentiment.overall.polarity | "positive" | "negative" | "neutral" |
sentiment.overall.score.{min,max} | -1.0 … 1.0 |
sentiment.title.score · sentiment.body.score | 相同范围,仅针对标题或正文 |
sentiment.mixed · sentiment.consistent | 1 — 标题和正文不一致/一致 |
来源和质量
| 参数 | 示例 |
|---|---|
source.domain · source.id | "cnn.com,bbc.com" · "314" |
source.country.code | "us,uk,de" |
source.bias | "left" | "center" | "right" |
source.rank.opr.{min,max} | OpenPageRank,0–7 |
is_premium_source · is_verified_source | OPR ≥ 6 · OPR ≥ 5 |
is_duplicate · is_paywall | 0 表示排除 |
媒体、格式和时间
| 参数 | 示例 |
|---|---|
has_image · has_video · has_hq_images · is_media_rich | 1 |
media.images.count.{min,max} · media.images.{width,height} · media.videos.count | { "min": 2 } |
is_breaking · is_long_read · is_short_read | 1 — 阅读时间 ≥ 5 分钟/< 3 分钟 |
read_time.{min,max} | 分钟 |
published_at.{start,end} | "2026-01-01" … "2026-01-31",ISO 8601 |
输出:排序、分页、分面和高亮
| 参数 | 示例 |
|---|---|
sort.by | published_at、relevance、engagement、quality、controversy、trust、source.rank.opr、sentiment.*.score、media.*、read_time 等 |
sort.order | "asc" | "desc" |
page · per_page | 1 · 10(最多 25) |
fl | "id,title,source.name,sentiment.overall.score" — 嵌套字段使用点号表示法 |
facet | true,或 { "field": "source.id,language.id", "limit": 20, "mincount": 5 } |
facet.range | { "field": "published_at", "start": "2026-01-01", "end": "2026-12-31", "gap": "1MONTH" } |
hl | true,或 { "fl": "title,body", "fragsize": 300, "tag": { "pre": "<mark>", "post": "</mark>" } } |
提示词
支持 MCP 提示词的客户端中的斜杠命令:
| 提示词 | 参数 | 功能 |
|---|---|---|
monitor_company | company(必填)、days | 某家公司的近期报道和情感 |
topic_sentiment | topic(必填)、language | 某个主题报道的情感分布 |
breaking_news | subject、country | 最新突发新闻,可按需缩小范围 |
compare_coverage | subject_a、subject_b(均必填) | 并列比较两个主题的报道量和情感 |
使用场景
| 你想要 | 请求内容 | 工具 |
|---|---|---|
| 跨语言监测品牌 | 最近 7 天提及该公司的新闻及情感倾向 | suggest → search_news |
| 为交易或风险模型提供数据 | 按实体和行业筛选的新闻及情感评分 | suggest → search_news |
| 让 Agent 基于实时新闻生成结果 | 用于 RAG 的近期文章,并设置 fl: "title,href,body" | search_news |
| 追踪持续发展的新闻 | 设置 is_breaking: 1,并按 published_at 排序 | search_news |
| 衡量声量占比 | 比较两个主题的报道量和情感倾向 | compare_coverage |
| 研究历史档案 | 指定日期范围且不添加标题筛选——不受 31 天限制 | search_news |
定价
MCP 服务包含在付费计划中;免费套餐仅涵盖 REST API。
| 计划 | 价格 | 请求数 | MCP 服务 |
|---|---|---|---|
| 免费 | $0 | 100/天 | — |
| 入门版 | $29/mo | 10,000/mo | ✅ |
| 基础版 | $99/mo | 50,000/mo | ✅ |
| 专业版 | $199/mo | 150,000/mo | ✅ |
按年计费可优惠 20%。最新价格始终见 apitube.io/pricing。
页面大小设有单独上限:通过 MCP,每次响应最多包含 25 篇文章,适用于所有计划,
不受 REST API 允许的更大 per_page 值影响。
故障排查
身份验证和传输故障会以 JSON-RPC -32000 返回,消息中包含 APITube 错误代码以及
相应的 HTTP 状态。
| 代码 | HTTP | 含义 | 解决方法 |
|---|---|---|---|
ER0201 | 401 | API 密钥未传到服务器 | 缺少请求头,或客户端会剥除自定义请求头——请使用 mcp-remote 桥接程序 |
ER0202 | 401 | 密钥无效或已撤销 | 从 apitube.io 重新复制密钥 |
ER0230 | 401 | 密钥已过期 | 在密钥设置中延长有效期 |
ER0601 / ER0602 | 403 | 此密钥不允许该 IP 或来源页 | 调整密钥限制 |
ER0603 | 403 | 此密钥无权调用该工具 | 授予其访问 search_news / suggest 的权限 |
ER0429 | 429 | 请求速率超过每分钟 120 次 | 降低请求频率——此限制按密钥计算 |
ER0900 | 503 | 密钥验证暂时不可用 | 请重试;密钥正常,无需重新签发 |
其他症状
| 症状 | 原因 |
|---|---|
| 客户端不断循环重连 | 客户端打开了 GET SSE 流。预期行为:由于服务器没有事件流,它会返回 405 Allow: POST,而符合规范的客户端会回退到 POST |
-32602 并附带建议名称 | 参数拼写错误——参数必须是嵌套对象,不能使用带点号的键 |
Python 脚本返回 403 | 默认的 Python-urllib/3.x user agent 会在边缘节点被拒绝。请发送真实的 User-Agent,或使用 requests |
| 搜索不到较早的新闻 | 标题搜索仅涵盖 31 天。请添加 published_at,并按月逐段检索 |
| 收到的文章没有正文 | 默认不包含正文。请添加 fl: "title,href,body" |
文档
| 资源 | 链接 |
|---|---|
| MCP 服务参考 | https://docs.apitube.io/platform/news-api/ai/mcp-server |
| 编辑器设置和一键安装链接 | https://docs.apitube.io/platform/news-api/ai/code-editors |
| 所有 News API 参数 | https://docs.apitube.io/platform/news-api/everything |
| 身份验证 | https://docs.apitube.io/platform/news-api/authentication |
| 机器可读的服务器卡片 | https://docs.apitube.io/.well-known/mcp/server-card.json |
| Agent 技能、SDK、迁移套件 | https://github.com/apitube |
| 将此服务安装为 Agent | llms-install.md |
注册信息
已通过本仓库中的
server.json 发布到 官方 MCP Registry:
mcp-name: io.apitube/news
在 Claude Market 的 MCP 目录查看更多信息。
支持
| 渠道 | 联系方式 |
|---|---|
| 错误和更正 | 提交问题 |
| 账户和账单 | [email protected] |
| 其他事项 | https://apitube.io/contact |
发现某个参数的实际行为与本文所述不同?请提交问题,并附上你发送的请求 和收到的响应——这类更正最有价值。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。