MCP Goodnews
MCPグッドニュース
MCP Goodnewsは、良いニュース、ポジティブなニュース、そして元気が出るニュースを取得するためのサーバーを備えた、シンプルなモデルコンテキストプロトコル(MCP)アプリケーションです。このツールはNewsAPIからニュース記事を取得し、Cohere LLMを用いてポジティブな感情に基づいて上位のニュース記事をランク付けして返します。
モチベーション
ネガティブなニュースがニュースの見出しを独占することが多い現代において、Goodnews MCPは、よりポジティブで明るいニュースに光を当てることを目指しています。このプロジェクトは、メール購読者に毎日ポジティブなニュースを届けるという、以前からある「GoodnewsFirst」という取り組みから着想を得ており、実に素晴らしいプロジェクトでした。GoodnewsFirstは近年の大規模言語モデル(LLM)のブレイクスルーに先駆け、感情ランキングに従来の手法を用いていましたが、Goodnews MCPは最新のLLMを活用し、ゼロショット設定で感情分析を実行します。
Related MCP server: mcp-rss-aggregator
使用例: Claude Desktop を使用した MCP Goodnews
要件
クローンmcp-goodnews
# Clone the repository
git clone https://github.com/VectorInstitute/mcp-goodnews.git次のステップでは、このクローンされたリポジトリの場所への絶対パスを指定する必要があります。
Claude Desktop Config を更新して mcp-goodnews を見つけられるようにする
Mac/Linuxの場合
# Navigate to the configuration directory
cd ~/Library/Application\ Support/Claude/config
# Edit the claude_desktop_config.json file
nano claude_desktop_config.jsonWindowsの場合
# Navigate to the configuration directory
cd %APPDATA%\Claude\config
# Edit the claude_desktop_config.json file
notepad claude_desktop_config.jsonそして、 GoodnewsのmcpServersの下にエントリを追加します。
{
"mcpServers": {
"Goodnews": {
"command": "<absolute-path-to-bin>/uv",
"args": [
"--directory",
"<absolute-path-to-cloned-repo>/mcp-goodnews/src/mcp_goodnews",
"run",
"server.py"
],
"env": {
"NEWS_API_KEY": "<newsapi-api-key>",
"COHERE_API_KEY": "<cohere-api-key>"
}
}
}
}Claude Desktopを起動または再起動する
Claude Desktop は更新された設定を使用して mcp-goodnews サーバーをビルドおよび実行します。成功すると、チャットダイアログウィンドウの右下隅にハンマーツールが表示されます。
ハンマーツールアイコンをクリックすると、利用可能なMCPツールの一覧を示すモーダルが表示されます。そこにfetch_list_of_goodnewsリストされているはずです。
クロードに良い知らせを聞いてください!
プロンプトの例:
「今日の良いニュースを教えてください。」
「今週、世界ではどんな良いことが起こりましたか?」
「科学に関する元気が出るニュースを教えてください。」
仕組み
良いニュースをリクエストすると、アプリケーションはNewsAPIに最近の記事を問い合わせます。
Cohere LLMは各記事の感情を分析します
記事はポジティブな感情スコアに基づいてランク付けされます
上位にランクインした良いニュース記事はクロードを通じてあなたに返されます
ライセンス
Goodnews MCP で前向きな気持ちを保ちましょう!
Available Tools
1 toolfetch_list_of_goodnewsC
Fetch a list of headlines and return only top-ranked news based on positivity.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions filtering by positivity but lacks details on permissions, rate limits, data freshness, or what 'top-ranked' entails (e.g., algorithm, recency). This leaves significant gaps for a tool that likely involves external data fetching.
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, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for a simple tool, though it could be slightly more informative without losing conciseness.
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 no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain return values, error handling, or behavioral traits like how 'positivity' is measured, making it inadequate for effective tool use.
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 0%, so the description must compensate. It doesn't mention the 'category' parameter at all, failing to add meaning beyond the schema. However, with only one parameter and an enum in the schema, the baseline is moderate, but the description offers no parameter context.
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 ('fetch a list of headlines') and the resource ('top-ranked news based on positivity'), making the purpose understandable. However, it doesn't differentiate from siblings since there are none, and 'top-ranked' could be more specific about ranking criteria.
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?
No guidance is provided on when to use this tool versus alternatives, prerequisites, or contextual triggers. The description implies filtering by positivity but doesn't specify scenarios or limitations for usage.
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 tool update
v0.1.0- First observed
fetch_list_of_goodnews
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool has a clear, distinct purpose focused on fetching positive news headlines.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'fetch_list_of_goodnews' follows a clear verb_noun pattern, making it predictable and readable.
A single tool is too few for a server named 'MCP Goodnews', which suggests a broader domain of positive news handling. This minimal set limits functionality and feels thin, lacking operations like filtering, searching, or managing news items.
The tool surface is severely incomplete for a news-related server. It only provides fetching of top-ranked positive news, with no ability to create, update, delete, or search news items, leaving significant gaps that could cause agent failures in broader workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Dive into the latest and greatest from the tech world with our Hacker News MCP server.
Real-time Claude & Anthropic news from your own Claude — free, no API key.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
FlicenseBqualityCmaintenanceA Model Context Protocol server that enables large language models to access the latest trending news headlines and detailed content across various categories including recommended, domestic, technology, and sports news.2-- AlicenseAqualityAmaintenanceModel Context Protocol Server for aggregating RSS feeds in Claude Desktop327Mozilla Public 2.0
- AlicenseAqualityDmaintenanceA TypeScript-based Model Context Protocol server that fetches, searches, and formats news articles from NewsAPI.org into reader-friendly Markdown digests using LLMs (Gemini and Claude).121,348 npmMIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol (MCP) server that provides real-time news intelligence using NewsAPI.ai. This server enables LLMs to search articles, track events, and analyze news through natural conversation.45 npm2MIT