Overview
The APITube MCP server gives an assistant live access to the world's news as structured data, not
scraped HTML. It exposes 2 tools:
search_news — most of the News API filter set in one call: keywords, language, country, source
domain and quality rank, sentiment range, named entities, media, date ranges, sorting, faceting
and highlighting.
suggest — resolves a name like "Tesla" into the entity, category, topic and industry IDs the
precise filters need.
Every article comes back enriched by the pipeline behind it: sentiment scores, extracted entities
(people, organizations, locations, brands, events), IPTC categories, topics and industries.
Quick Start
- Get an API key at apitube.io.
- Add the server to your client with the block below — each one is also a ready file in
configs/.
- Restart the client and ask it something like "find positive breaking news about Tesla in English
from the last week".
Claude Code
Check it with /mcp. To commit the server to a project instead, put
configs/claude-code.mcp.json at the repo root as .mcp.json.
Cline
MCP Servers → Configure, or ~/.cline/mcp.json for the CLI:
type must be set explicitly — without it Cline falls back to the legacy SSE transport, which this
server does not serve. Both tools are read-only, so autoApprove: ["search_news", "suggest"] is
safe if you would rather not confirm every call.
Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
Settings → MCP should list apitube-news as connected.
Claude Desktop
Claude Desktop only launches local processes, so bridge the hosted server with
mcp-remote. Edit claude_desktop_config.json
(~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
Restart the app; the tools appear under the slider icon.
VS Code (GitHub Copilot)
.vscode/mcp.json, with the key prompted instead of stored in plain text:
Open Copilot Chat in Agent mode and enable the apitube-news tools.
Windsurf
~/.codeium/windsurf/mcp_config.json — note serverUrl, not url:
Windsurf Settings → Cascade → MCP Servers → refresh.
Any other client, or plain curl
Anything that speaks Streamable HTTP takes the URL directly; clients limited to stdio go through
mcp-remote, as in the Claude Desktop block. The handshake needs no key:
A real search adds the key:
Tools
search_news
Arguments are nested objects, never dotted strings:
Three things worth knowing before the first call:
- The article body is not returned by default. The default field list is
id,title,href,published_at,description,source.domain. Ask for the text explicitly with
fl: "title,href,body".
- One response carries at most 25 articles.
per_page defaults to 10 and is clamped to 25; walk
further with page. If a result set still has to be cut — 25 articles of full text can be large — the
response gains an _mcp_truncated field saying how many were omitted.
- A title search spans at most 31 days. With no dates it covers the last 31 days; a wider explicit
range fails with
400 ER0110. Split longer periods into month-sized windows. Searches without a
title filter have no range limit.
Misspelled arguments are rejected with JSON-RPC -32602 and a suggestion, instead of being
silently ignored:
export, query and prompt are deliberately not exposed.
suggest
The precise filters take IDs you cannot guess, so resolve them first:
type is one of entities, categories, topics, industries; prefix is a name or its
beginning. Both are required. Matching is by prefix, so read the names before filtering on the
first hit.
Filters
Everything below belongs to search_news. Content, taxonomy, language, author and source filters
have an ignore.* twin for exclusion (ignore.title, ignore.entity.id, ignore.source.domain, …);
sentiment, media and time filters do not. Multi-value filters take up to 3 comma-separated values.
has_* and is_* take 0 or 1, not true/false.
Content and taxonomy
Sentiment
Sources and quality
Media, shape and time
Output: sorting, paging, faceting, highlighting
Prompts
Slash commands in clients that support MCP prompts:
Use cases
Pricing
The MCP server is part of the paid plans; the free tier covers the REST API only.
Annual billing takes 20% off. Current numbers always live at apitube.io/pricing.
Page size is capped separately: through MCP one response holds at most 25 articles on every plan,
regardless of the larger per_page the REST API allows.
Troubleshooting
Auth and transport failures arrive as JSON-RPC -32000 with an APITube code in the message and the
matching HTTP status.
Other symptoms
Documentation
Registry
Published in the official MCP Registry from
server.json in this repository:
mcp-name: io.apitube/news
See more on Claude Market's MCP directory.
Support
Found an argument that behaves differently from what is written here? Open an issue with the request
you sent and the response you got — those corrections are the most useful thing you can file.
License
MIT — see LICENSE.