Skip to main content
Glama
Jarvis News MCP

Jarvis News MCP

by soothill

Jarvis News MCP

공식 BBC News 및 Sky News RSS 피드에서 Jarvis에게 최신의 출처가 명시된 뉴스 브리핑을 제공하는 로컬 Model Context Protocol 서버입니다.

이 서버는 API 키가 필요 없습니다. Jarvis가 도구를 호출할 때만 게시자 RSS 데이터를 가져오고, 중복 피드 항목을 제거하며, 유사한 BBC/Sky 보도를 그룹화하고, 최신성, 피드 내 중요도, 공공 영향 관련 용어, 그리고 교차 게시자 보도 여부를 사용하여 기사의 순위를 매깁니다.

Jarvis가 호출할 수 있는 도구

도구

용도

get_news_summary

하나 또는 두 게시자의 기사를 순위별 브리핑으로 반환합니다.

search_news

사람, 장소, 조직 또는 사건에 관한 최근 뉴스를 찾습니다.

list_news_feeds

구성된 모든 공식 피드와 카테고리를 표시합니다.

결과에는 읽기 쉬운 Markdown과 함께 구조화된 JSON도 포함됩니다. 각 기사는 게시자, 타임스탬프, 직접 링크를 유지합니다. 하나의 피드가 중단되어도 다른 피드는 계속 반환되며 응답에는 경고가 포함됩니다.

Related MCP server: MCP News Server

설치

요구 사항: Node.js 20 이상.

git clone https://github.com/soothill/news-mcp.git
cd news-mcp
npm ci
npm run build

빌드된 서버 진입점은 dist/index.js입니다. Jarvis가 계속 실행할 수 있도록 프로젝트 폴더를 영구적인 위치에 두십시오.

Jarvis에 연결하기

Jarvis가 일반적인 mcpServers 구성 형식을 지원한다면 MCP 구성에 다음 항목을 추가하십시오:

{
  "mcpServers": {
    "news": {
      "command": "node",
      "args": ["/absolute/path/to/News Feed/dist/index.js"]
    }
  }
}

경로를 이 프로젝트의 빌드된 dist/index.js의 절대 경로로 바꾸십시오. macOS 또는 Linux에서 프로젝트 디렉터리에서 pwd를 실행하면 해당 경로의 프로젝트 부분을 확인할 수 있습니다. 편집 가능한 버전이 jarvis.mcp.example.json에 있습니다. 구성을 변경한 후 Jarvis를 다시 시작하십시오.

이 서버는 표준 입력/출력을 통한 MCP를 사용하며, 이는 서버를 하위 프로세스로 실행하는 로컬 어시스턴트를 위해 설계된 것입니다. 표준 출력은 MCP 메시지 전용 채널이므로 일반 출력을 의도적으로 작성하지 않습니다.

Jarvis에 대한 요청 예시:

  • "지난 12시간 동안 가장 중요한 BBC 및 Sky 기사 다섯 개를 알려줘."

  • "오늘 영국 정치에서 무슨 일이 있었어? 두 소스 모두 확인해 봐."

  • "지난 3일간의 BBC 및 Sky 기술 뉴스에서 양자 컴퓨팅을 검색해 줘."

  • "피드를 새로 고침하고 출처 링크와 함께 간결한 아침 브리핑을 줘."

최상의 일반 브리핑을 위해 Jarvis는 두 소스와 top 카테고리로 get_news_summary를 호출해야 합니다. 더 폭넓은 조사를 위해 한 번의 호출로 여러 카테고리를 요청할 수도 있습니다.

기존 설치 업데이트

프로젝트 디렉터리에서:

git pull --ff-only
npm ci
npm run build

그런 다음 Jarvis를 다시 시작하여 새 빌드를 실행하게 하십시오.

도구 입력

get_news_summary는 다음을 허용합니다:

  • sources: bbc, sky 또는 둘 다; 기본값은 둘 다.

  • categories: top, uk, world, us, business, politics, technology, science, health, entertainment 중 하나 이상; 기본값은 top.

  • lookbackHours: 1–168; 기본값은 24.

  • maxStories: 1–30; 기본값은 10.

  • refresh: 짧은 인메모리 캐시를 우회합니다; 기본값은 false.

search_news는 동일한 입력에 필수 query를 추가로 허용합니다.

Sky는 현재 구성된 science 또는 health RSS 피드를 제공하지 않습니다. 해당 조합에 대한 요청은 BBC 결과와 명확한 경고를 반환합니다.

런타임 설정

선택적 환경 변수:

변수

기본값

허용 범위

의미

NEWS_CACHE_TTL_SECONDS

180

0–3600

피드별 인메모리 캐시 수명.

NEWS_HTTP_TIMEOUT_MS

10000

1000–30000

각 게시자 요청의 타임아웃.

NEWS_USER_AGENT

JarvisNewsMCP/1.0...

—

피드로 전송되는 HTTP User-Agent.

개발 및 검사

npm run check
npm test
npm run test:live

test:live는 실제 BBC 및 Sky 톱뉴스 피드에 연결하여 현재 기사 다섯 개를 출력합니다. 다른 모든 테스트는 결정적이며 인터넷이 필요하지 않습니다.

문제 해결

  • Jarvis가 서버를 시작할 수 없으면 node --version이 20 이상을 보고하는지, MCP 구성의 경로가 절대 경로인지 확인하십시오.

  • dist/index.js가 없다면 npm ci를 실행한 다음 npm run build를 실행하십시오.

  • 브리핑에 피드 경고가 포함되어 있으면 refresh: true로 다시 시도하십시오. 서버는 다른 피드를 사용할 수 없어도 정상 피드를 반환합니다.

  • npm run test:live를 실행하여 이 머신이 두 게시자에 모두 도달할 수 있는지 확인하십시오.

  • MCP 전송은 표준 입력/출력을 사용합니다. node dist/index.js를 직접 실행하면 MCP 클라이언트를 기다리고 있기 때문에 아무 일도 일어나지 않는 것처럼 보이는데, 이는 정상입니다.

“중요도”가 어떻게 평가되는지

서버는 순위 산정 방식을 투명하게 공개합니다. 기사는 더 최신일수록, 게시자 피드의 상단에 더 가까울수록, 톱뉴스 피드에 포함될수록, 중대한 공공 영향과 관련된 용어를 포함할수록, 또는 두 게시자 모두에서 독립적으로 보도될수록 더 높은 순위에 오릅니다. 이는 자동화된 관련성 추정치이며, 편집상 또는 사실 관계에 대한 판단이 아닙니다.

반환되는 요약 텍스트는 게시자가 제공한 RSS 메타데이터를 짧게 정리한 버전입니다. Jarvis는 출처가 표시된 결과를 더 대화체의 브리핑으로 바꿀 수 있지만, 반환된 기사에 없는 세부 내용을 지어내서는 안 됩니다. 피드 텍스트는 신뢰할 수 없는 데이터로 취급되며 서버가 이를 명령으로 해석하는 일은 없습니다.

데이터 및 게시자 이용 약관

이 프로젝트는 공식 게시자 RSS 엔드포인트를 사용하며 출처와 링크를 보존합니다. 결과 브리핑을 개인적인 용도 밖으로 재배포하거나 게시하기 전에 현재 BBC 및 Sky 피드 약관을 검토하십시오. 기사 페이지, 이미지, 쿠키 또는 사용자 데이터는 수집하거나 저장하지 않습니다.

Available Tools

3 tools
get_news_summaryGet BBC and Sky news summaryA
Read-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.

NameRequiredDescriptionDefault
refreshNoBypass the short feed cache when true.
sourcesNoPublishers to include. Use both for corroboration.
categoriesNoNews sections to scan. 'top' is the best default briefing.
maxStoriesNoMaximum number of ranked story clusters to return.
lookbackHoursNoOnly include stories from this many hours ago.

Output Schema

NameRequiredDescription
storiesYes
warningsYes
storyCountYes
generatedAtYes
articleCountYes
lookbackHoursYes
requestedSourcesYes
requestedCategoriesYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 feedsA
Read-onlyIdempotent

List the official BBC News and Sky News RSS endpoints and categories this server can query.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
feedsYes

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 newsA
Read-onlyIdempotent

Search recent BBC News and Sky News RSS stories for a specific person, place, organisation, or event, then return ranked and attributed matches.

NameRequiredDescriptionDefault
queryYesPlain-text topic to find in headlines and descriptions.
refreshNoBypass the short feed cache when true.
sourcesNoPublishers to include. Use both for corroboration.
categoriesNoNews sections to scan. 'top' is the best default briefing.
maxStoriesNoMaximum number of ranked story clusters to return.
lookbackHoursNoOnly include stories from this many hours ago.

Output Schema

NameRequiredDescription
storiesYes
warningsYes
storyCountYes
generatedAtYes
articleCountYes
lookbackHoursYes
requestedSourcesYes
requestedCategoriesYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 3 tool updatesv1.0.0
    • First observedget_news_summary
    • First observedlist_news_feeds
    • First observedsearch_news

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

Three tools is well-scoped for a focused news RSS server. Each tool covers a distinct user need without redundancy or wasted surface area.

Completeness4/5

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

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables searching news, fetching top headlines, listing sources, and generating tech briefings via NewsAPI, with an optional browser frontend.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Fetches news from trusted global sources using NewsAPI and RSS feeds, enabling search, headline retrieval, and source listing.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables news search and headline retrieval using NewsAPI. Supports getting top headlines by country and category, and searching articles across thousands of sources.
    2
    MIT