Jarvis News MCP
Fetches current news briefings from Sky News RSS feeds, ranks stories by recency and prominence, and supports search, category filtering, and lookback windows while preserving source attribution and links.
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., "@Jarvis News MCPGive me the five most important BBC and Sky stories from the last 12 hours."
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.
Jarvis News MCP
A local Model Context Protocol server that gives Jarvis current, attributed news briefings from the official BBC News and Sky News RSS feeds.
The server does not require an API key. It fetches publisher RSS data only when Jarvis calls a tool, removes duplicate feed entries, groups similar BBC/Sky reports, and ranks stories using recency, feed prominence, public-impact terms, and cross-publisher coverage.
What Jarvis can call
Tool | Purpose |
| Return a ranked briefing across one or both publishers. |
| Find recent news about a person, place, organisation, or event. |
| Show every configured official feed and category. |
Results include structured JSON as well as readable Markdown. Each story retains its publisher, timestamp, and direct link. If one feed is down, the other feeds still return and the response includes a warning.
Related MCP server: resume-news-mcp
Install
Requirements: Node.js 20 or newer.
git clone https://github.com/soothill/news-mcp.git
cd news-mcp
npm ci
npm run buildThe built server entry point is dist/index.js. Keep the project folder in a permanent location so Jarvis can continue to launch it.
Connect it to Jarvis
If Jarvis accepts the common mcpServers configuration format, add this entry to its MCP configuration:
{
"mcpServers": {
"news": {
"command": "node",
"args": ["/absolute/path/to/News Feed/dist/index.js"]
}
}
}Replace the path with the absolute path to this project's built dist/index.js. Run pwd in the project directory on macOS or Linux to find the project portion of that path. A ready-to-edit version is in jarvis.mcp.example.json. Restart Jarvis after changing its configuration.
This server uses MCP over standard input/output, which is intended for a local assistant that launches the server as a child process. It deliberately writes no ordinary output to standard output because that channel is reserved for MCP messages.
Example requests for Jarvis:
“Give me the five most important BBC and Sky stories from the last 12 hours.”
“What has happened in UK politics today? Check both sources.”
“Search the last three days of BBC and Sky technology news for quantum computing.”
“Refresh the feeds and give me a concise morning briefing with source links.”
For the best general briefing, Jarvis should call get_news_summary with both sources and the top category. For broader research, it can request several categories in one call.
Update an existing installation
From the project directory:
git pull --ff-only
npm ci
npm run buildRestart Jarvis afterward so it launches the new build.
Tool inputs
get_news_summary accepts:
sources:bbc,sky, or both; defaults to both.categories: one or more oftop,uk,world,us,business,politics,technology,science,health, andentertainment; defaults totop.lookbackHours: 1–168; defaults to 24.maxStories: 1–30; defaults to 10.refresh: bypass the short in-memory cache; defaults tofalse.
search_news accepts the same inputs plus a required query.
Sky does not currently expose configured science or health RSS feeds. Requests for those combinations return the BBC result plus a clear warning.
Runtime settings
Optional environment variables:
Variable | Default | Allowed range | Meaning |
|
| 0–3600 | Per-feed in-memory cache lifetime. |
|
| 1000–30000 | Timeout for each publisher request. |
|
| — | HTTP User-Agent sent to feeds. |
Development and checks
npm run check
npm test
npm run test:livetest:live contacts the real BBC and Sky top-news feeds and prints five current stories. All other tests are deterministic and do not require the internet.
Troubleshooting
If Jarvis cannot start the server, confirm
node --versionreports 20 or newer and that the path in its MCP configuration is absolute.If
dist/index.jsis missing, runnpm cifollowed bynpm run build.If a briefing contains feed warnings, retry with
refresh: true. The server returns healthy feeds even when another feed is unavailable.Run
npm run test:liveto check whether this machine can reach both publishers.The MCP transport uses standard input/output. Launching
node dist/index.jsdirectly appears to do nothing because it is waiting for an MCP client; this is expected.
How “important” is estimated
The server is transparent about its ranking. A story moves higher when it is newer, appears nearer the top of a publisher's feed, appears in a top-news feed, contains terms associated with major public impact, or is independently covered by both publishers. This is an automated relevance estimate, not an editorial or factual verdict.
The returned summary text is a short, cleaned version of publisher-supplied RSS metadata. Jarvis can turn those attributed results into a more conversational briefing, but it should not invent details that are absent from the returned stories. Feed text is treated as untrusted data and is never interpreted by the server as an instruction.
Data and publisher terms
This project uses official publisher RSS endpoints and preserves attribution and links. Before redistributing or publishing the resulting briefing outside personal use, review the current BBC and Sky feed terms. No article pages, images, cookies, or user data are scraped or stored.
Available Tools
3 toolsget_news_summaryGet BBC and Sky news summaryARead-onlyIdempotent
Fetch and rank important recent events from official BBC News and Sky News RSS feeds. Returns short publisher-supplied summaries, links, timestamps, source corroboration, and partial-feed warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| refresh | No | Bypass the short feed cache when true. | |
| sources | No | Publishers to include. Use both for corroboration. | |
| categories | No | News sections to scan. 'top' is the best default briefing. | |
| maxStories | No | Maximum number of ranked story clusters to return. | |
| lookbackHours | No | Only include stories from this many hours ago. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stories | Yes | |
| warnings | Yes | |
| storyCount | Yes | |
| generatedAt | Yes | |
| articleCount | Yes | |
| lookbackHours | Yes | |
| requestedSources | Yes | |
| requestedCategories | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral detail: it ranks events, relies on publisher-supplied summaries, provides source corroboration, and may return partial-feed warnings. This goes beyond the structured hints.
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 two sentences with no fluff. The core action is front-loaded, and the return payload is listed concisely. Every clause carries 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?
Given the rich input schema, full parameter descriptions, an output schema, and a complete set of safety annotations, the description covers the essential behaviors including rankings, source corroboration, and partial-feed warnings. Nothing critical is missing for a correct call.
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 100%, so the parameters are fully self-documenting. The description does not add significant meaning beyond the schema; it only mentions corroboration and ranking, which loosely relate to the sources and maxStories parameters. Baseline 3 is appropriate.
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 uses a specific verb ('Fetch and rank') and a clear resource ('important recent events from official BBC News and Sky News RSS feeds'). It also states what is returned, which distinguishes it from siblings like search_news and list_news_feeds.
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 implies this tool is for getting ranked news summaries from BBC and Sky, but it does not explicitly contrast with search_news or list_news_feeds. There is no when-to-use or when-not-to-use guidance, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_news_feedsList configured news feedsARead-onlyIdempotent
List the official BBC News and Sky News RSS endpoints and categories this server can query.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| feeds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent, and non-destructive, so the description carries less burden. It adds useful context by specifying the feeds are official BBC/Sky News endpoints and that the list is limited to what 'this server can query,' but does not describe other behaviors such as output format or ordering.
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, focused sentence with no redundant wording. It states the action and scope immediately and earns its place without unnecessary elaboration.
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 a zero-parameter, read-only listing tool with an output schema and comprehensive annotations, the description is complete. It tells the agent exactly what the tool returns and is sufficient to invoke correctly without additional context.
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?
There are no parameters, so the input schema carries no semantics to clarify. The description provides the relevant context about what will be listed, making parameter documentation unnecessary. A baseline of 4 is appropriate for a zero-parameter tool.
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 the action ('List') and the exact resource ('official BBC News and Sky News RSS endpoints and categories this server can query'). This differentiates it from sibling tools like search_news and get_news_summary, which operate on news content rather than enumerating available feeds.
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 implies this tool is the discovery mechanism for available endpoints and categories before querying news. However, it does not explicitly name sibling tools or state when to use this tool instead of them, so the guidance is clear but not fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_newsSearch BBC and Sky newsARead-onlyIdempotent
Search recent BBC News and Sky News RSS stories for a specific person, place, organisation, or event, then return ranked and attributed matches.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Plain-text topic to find in headlines and descriptions. | |
| refresh | No | Bypass the short feed cache when true. | |
| sources | No | Publishers to include. Use both for corroboration. | |
| categories | No | News sections to scan. 'top' is the best default briefing. | |
| maxStories | No | Maximum number of ranked story clusters to return. | |
| lookbackHours | No | Only include stories from this many hours ago. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stories | Yes | |
| warnings | Yes | |
| storyCount | Yes | |
| generatedAt | Yes | |
| articleCount | Yes | |
| lookbackHours | Yes | |
| requestedSources | Yes | |
| requestedCategories | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, non-destructive operation. The description adds useful behavioral context beyond that: it searches recent RSS stories, returns 'ranked and attributed matches,' and covers multiple news sources. No contradictions with the annotations are present.
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, well-structured sentence with no wasted words. It front-loads the core purpose, names the sources, describes the query type, and states the output nature all in one pass.
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 a read-only search tool with a rich input schema, full parameter documentation, and an output schema present, this description is complete enough. It communicates the domain, freshness, output format, and ranking behavior, while the schema and annotations cover the remaining operational details.
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 100%, so the input schema already fully documents every parameter, including defaults, constraints, and meanings. The description itself adds no parameter-level detail beyond implying topical search, but it doesn't need to because the schema carries that weight.
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 ('Search'), the resource ('BBC News and Sky News RSS stories'), and the intended use case ('for a specific person, place, organisation, or event'). It also describes the output as 'ranked and attributed matches,' making it distinct from the sibling tools, which seem to summarize feeds or list them rather than perform targeted searches.
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 for when to use the tool: when you need recent news stories about a specific topic or entity. It doesn't explicitly mention the sibling tools or state when not to use them, but the phrasing implies a search-oriented use case that is different from listing or summarizing feeds.
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.
3 tool updates
v1.0.0- First observed
get_news_summary - First observed
list_news_feeds - First observed
search_news
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: fetching top stories, searching by query, and listing available feeds/categories. There is no realistic confusion between broad summaries, targeted search, or feed metadata.
All tool names follow a consistent lowercase snake_case verb_noun pattern: get_news_summary, search_news, and list_news_feeds. The naming is predictable and easy to pattern-match.
Three tools is well-scoped for a focused news RSS server. Each tool covers a distinct user need without redundancy or wasted surface area.
The core news workflows—listing available sources, getting a ranked summary, and searching stories—are covered. The main minor gap is that list_news_feeds advertises categories/endpoints but there is no explicit tool to fetch news from a specific category directly.
Maintenance
Related MCP Connectors
Cross-source news (AP, BBC, NPR, HN, Google News) with topic filtering and dedup.
Get access to real-time and historical news data including top headlines from global sources
Real-time news and trending topics from major sources
RSS, Atom and JSON feeds for agents: find a site's feed, read items as JSON, keyless news search.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables searching news, fetching top headlines, listing sources, and generating tech briefings via NewsAPI, with an optional browser frontend.-
- AlicenseAqualityDmaintenanceEnables fetching daily news summaries from multiple RSS feeds, with tools to add, remove, and list news sources.41 npm1ISC
- FlicenseNot gradedqualityDmaintenanceFetches news from trusted global sources using NewsAPI and RSS feeds, enabling search, headline retrieval, and source listing.-
- FlicenseNot gradedqualityDmaintenanceEnables fetching top headlines, searching news articles across 150,000+ sources, and listing available news sources via NewsAPI.-