mcpField
A
APITube News

APITube News

远程服务
docs.apitube.io搜索与检索09 周前更新

关于 APITube News

APITube News 是托管的 MCP 服务,为 AI 助手提供实时及历史新闻的结构化访问。它通过搜索和分类查询工具支持细致筛选,并提供情感与实体信息。

主要功能

  1. 01搜索实时及历史新闻
  2. 02按语言、来源、日期和情感筛选
  3. 03提取文章中的实体与主题
  4. 04用 suggest 查询分类 ID
  5. 05排序、分页、分面与高亮结果

适用场景

  1. 01监测公司报道及情感倾向
  2. 02用近期新闻为 Agent 提供依据
  3. 03按主题追踪突发新闻
  4. 04比较报道量与情感倾向

MCP 相关

提供只读的 `search_news` 和 `suggest` 工具,以及用于公司监测、主题情感分析、突发新闻查询和报道比较的提示词。MCP 客户端通过托管的 Streamable HTTP 端点连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.apitube.io/
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.apitube.io/需要授权

工具

2
参数类型必填说明
flstring否要返回的字段,以逗号分隔(支持点号表示法),例如 "id,title,source.name,sentiment.overall.score"。
hlboolean|object否启用高亮(true)或使用对象形式。
hl.flstring否要高亮的字段,以逗号分隔。
hl.tagobject否
hl.tag.prestring否
hl.tag.poststring否
hl.fragsizeinteger否
hl.snippetsinteger否
pageinteger否页码(默认值为 1)。
sortobject否
sort.byenum否用于排序的字段。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.orderenum否排序方向。asc | desc
brandobject否
brand.namestring否品牌名称,以逗号分隔,最多 3 个。
eventobject否
event.namestring否命名事件实体,以逗号分隔,最多 3 个。目录几乎为空——优先使用 type/category;未知名称会返回 400 ER0228。
event.typestring否事件代码,以逗号分隔(最多 5 个)——参见 /v1/news/event-types,例如 layoffs、ipo、recall、wildfire。
event.categoryenum否事件类别。business | society | environment
facetboolean|object否启用分面(true)或使用对象形式进行分析。
facet.fieldstring否分面字段,以逗号分隔。
facet.limitinteger否
facet.rangeobject否范围分面 → facet.range.* 参数。
facet.range.endstring否
facet.range.gapstring否例如,日期使用 "1MONTH",数值使用 "0.25"。
facet.range.fieldstring否用于分桶的数值/日期字段。
facet.range.startstring否
facet.mincountinteger否
mediaobject否媒体内容筛选条件。
media.imagesobject否
media.images.countobject否
media.images.count.maxinteger否
media.images.count.mininteger否
media.images.widthobject否
media.images.width.maxinteger否
media.images.width.mininteger否
media.images.heightobject否
media.images.height.maxinteger否
media.images.height.mininteger否
media.videosobject否
media.videos.countobject否
media.videos.count.maxinteger否
media.videos.count.mininteger否
titlestring否按文章标题搜索。最多指定 3 个关键词,以逗号分隔(OR)。将短语放在引号中可精确匹配。
topicobject否
topic.idstring否主题 ID,以逗号分隔,最多 3 个。
authorobject否
author.idstring否作者 ID,以逗号分隔,最多 3 个。
author.namestring否作者姓名,以逗号分隔,最多 3 个。
entityobject否命名实体筛选条件。
entity.idstring否数字实体 ID,以逗号分隔,最多 3 个。
ignoreobject否排除筛选条件——排除匹配这些条件的文章。与正向筛选条件对应。
ignore.brandobject否
ignore.brand.namestring否
ignore.eventobject否
ignore.event.namestring否排除这些指定事件(最多 3 个)。
ignore.event.typestring否排除这些事件代码(最多 5 个)。
ignore.titlestring否排除标题中包含这些关键词的文章,关键词以逗号分隔。
ignore.topicobject否
ignore.topic.idstring否
ignore.authorobject否
ignore.author.idstring否
ignore.author.namestring否
ignore.entityobject否
ignore.entity.idstring否
ignore.personobject否
ignore.person.namestring否
ignore.sourceobject否
ignore.source.idstring否
ignore.source.biasstring否
ignore.source.domainstring否
ignore.source.countryobject否
ignore.source.country.codestring否
ignore.diseaseobject否
ignore.disease.namestring否
ignore.categoryobject否
ignore.category.idstring否
ignore.disasterobject否
ignore.disaster.namestring否
ignore.industryobject否
ignore.industry.idstring否
ignore.languageobject否
ignore.language.codestring否
ignore.locationobject否
ignore.location.namestring否
ignore.organizationobject否
ignore.organization.namestring否
personobject否
person.namestring否人物姓名,以逗号分隔,最多 3 个。
sourceobject否来源筛选条件。
source.idstring否来源 ID,以逗号分隔,最多 3 个。
source.biasenum否媒体倾向(多个值以逗号分隔)。left | center | right
source.rankobject否
source.rank.oprobject否OpenPageRank 范围(0-7)。
source.rank.opr.maxnumber否
source.rank.opr.minnumber否
source.domainstring否域名,例如 "cnn.com,bbc.com"。
source.countryobject否
source.country.codestring否国家/地区代码,例如 "us,uk,de"。
diseaseobject否
disease.namestring否疾病名称,以逗号分隔,最多 3 个。
categoryobject否IPTC 类别筛选条件。
category.idstring否类别 ID,例如 "medtop:04000000"。最多 3 个,以逗号分隔。
disasterobject否
disaster.namestring否灾害名称,以逗号分隔,最多 3 个。
industryobject否
industry.idstring否行业 ID,以逗号分隔,最多 3 个。
languageobject否按语言筛选。
language.codestring否ISO 代码,以逗号分隔,最多 3 个(例如 "en,ru,fr")。
locationobject否
location.namestring否地点名称,以逗号分隔,最多 3 个。
per_pageinteger否每页结果数(默认 10)。每个响应最多包含 25 篇文章。
has_imageenum否至少包含一张图片的文章。0 | 1
has_videoenum否至少包含一段视频的文章。0 | 1
read_timeobject否阅读时间(分钟)。
read_time.maxinteger否
read_time.mininteger否
sentimentobject否情感筛选。分数范围为 -1.0..1.0。
sentiment.bodyobject否
sentiment.body.scoreobject否
sentiment.body.score.maxnumber否
sentiment.body.score.minnumber否
sentiment.mixedenum否标题与正文的情感不同。0 | 1
sentiment.titleobject否
sentiment.title.scoreobject否
sentiment.title.score.maxnumber否
sentiment.title.score.minnumber否
sentiment.overallobject否
sentiment.overall.scoreobject否
sentiment.overall.score.maxnumber否
sentiment.overall.score.minnumber否
sentiment.overall.polarityenum否整体情感倾向。positive | negative | neutral
sentiment.consistentenum否标题与正文的情感一致。0 | 1
has_authorenum否有署名作者。0 | 1
is_paywallenum否设为 0 可排除付费墙内容。0 | 1
is_breakingenum否仅限突发新闻。0 | 1
is_duplicateenum否设为 0 可排除重复内容。0 | 1
is_long_readenum否阅读时间 >= 5 分钟。0 | 1
organizationobject否
organization.namestring否机构名称(逗号分隔,最多 3 个)。
published_atobject否发布日期范围(ISO 8601)。
published_at.endstring否YYYY-MM-DD 或 RFC3339。
published_at.startstring否YYYY-MM-DD 或 RFC3339。
has_hq_imagesenum否高质量图片(宽度 >= 1200px)。0 | 1
is_media_richenum否同时包含图片和视频。0 | 1
is_short_readenum否阅读时间 < 3 分钟。0 | 1
is_premium_sourceenum否优质来源(OPR >= 6)。0 | 1
is_verified_sourceenum否已验证来源(OPR >= 5)。0 | 1

详细介绍

APITube

APITube 新闻 MCP

通过 Model Context Protocol,为 AI Agent 提供实时和存档新闻搜索。

托管于 https://mcp.apitube.io/ — 无需安装软件包,也无需维持本地进程运行。

许可证:MIT 传输方式:Streamable HTTP MCP 协议 2025-11-25 2 个工具 300,000+ 个来源 59 种语言

快速开始 • 工具 • 筛选条件 • 提示词 • 定价 • 故障排除 • 文档 • 支持

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)

快速开始

  1. 在 apitube.io 获取 API 密钥。
  2. 使用下面的代码块将服务添加到客户端中——每个代码块也都是 configs/ 中的现成配置文件。
  3. 重启客户端,然后询问它类似这样的问题:“查找过去一周内用英语报道的特斯拉正面突发新闻”。
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.consistent1 — 标题和正文不一致/一致
来源和质量
参数示例
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_sourceOPR ≥ 6 · OPR ≥ 5
is_duplicate · is_paywall0 表示排除
媒体、格式和时间
参数示例
has_image · has_video · has_hq_images · is_media_rich1
media.images.count.{min,max} · media.images.{width,height} · media.videos.count{ "min": 2 }
is_breaking · is_long_read · is_short_read1 — 阅读时间 ≥ 5 分钟/< 3 分钟
read_time.{min,max}分钟
published_at.{start,end}"2026-01-01" … "2026-01-31",ISO 8601
输出:排序、分页、分面和高亮
参数示例
sort.bypublished_at、relevance、engagement、quality、controversy、trust、source.rank.opr、sentiment.*.score、media.*、read_time 等
sort.order"asc" | "desc"
page · per_page1 · 10(最多 25)
fl"id,title,source.name,sentiment.overall.score" — 嵌套字段使用点号表示法
facettrue,或 { "field": "source.id,language.id", "limit": 20, "mincount": 5 }
facet.range{ "field": "published_at", "start": "2026-01-01", "end": "2026-12-31", "gap": "1MONTH" }
hltrue,或 { "fl": "title,body", "fragsize": 300, "tag": { "pre": "<mark>", "post": "</mark>" } }

提示词

支持 MCP 提示词的客户端中的斜杠命令:

提示词参数功能
monitor_companycompany(必填)、days某家公司的近期报道和情感
topic_sentimenttopic(必填)、language某个主题报道的情感分布
breaking_newssubject、country最新突发新闻,可按需缩小范围
compare_coveragesubject_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 服务
免费$0100/天—
入门版$29/mo10,000/mo✅
基础版$99/mo50,000/mo✅
专业版$199/mo150,000/mo✅

按年计费可优惠 20%。最新价格始终见 apitube.io/pricing。

页面大小设有单独上限:通过 MCP,每次响应最多包含 25 篇文章,适用于所有计划, 不受 REST API 允许的更大 per_page 值影响。

故障排查

身份验证和传输故障会以 JSON-RPC -32000 返回,消息中包含 APITube 错误代码以及 相应的 HTTP 状态。

代码HTTP含义解决方法
ER0201401API 密钥未传到服务器缺少请求头,或客户端会剥除自定义请求头——请使用 mcp-remote 桥接程序
ER0202401密钥无效或已撤销从 apitube.io 重新复制密钥
ER0230401密钥已过期在密钥设置中延长有效期
ER0601 / ER0602403此密钥不允许该 IP 或来源页调整密钥限制
ER0603403此密钥无权调用该工具授予其访问 search_news / suggest 的权限
ER0429429请求速率超过每分钟 120 次降低请求频率——此限制按密钥计算
ER0900503密钥验证暂时不可用请重试;密钥正常,无需重新签发
其他症状
症状原因
客户端不断循环重连客户端打开了 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
将此服务安装为 Agentllms-install.md

注册信息

已通过本仓库中的 server.json 发布到 官方 MCP Registry:

mcp-name: io.apitube/news

在 Claude Market 的 MCP 目录查看更多信息。

支持

渠道联系方式
错误和更正提交问题
账户和账单[email protected]
其他事项https://apitube.io/contact

发现某个参数的实际行为与本文所述不同?请提交问题,并附上你发送的请求 和收到的响应——这类更正最有价值。

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。