mcp goodnews
A Model Context Protocol server that fetches and ranks positive news articles from NewsAPI using Cohere LLM sentiment analysis, enabling users to access uplifting news stories through interfaces like Claude Desktop.
A Model Context Protocol server that fetches and ranks positive news articles from NewsAPI using Cohere LLM sentiment analysis, enabling users to access uplifting news stories through interfaces like Claude Desktop.
x000D x000D
x000D
---x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
_x000D_
_x000D_
x000D x000D MCP Goodnews is a simple Model Context Protocol (MCP) application that features_x000D_ a server for getting good, positive, and uplifting news. This tool fetches news_x000D_ articles from the NewsAPI and uses a Cohere LLM to rank_x000D_ and return the top news articles based on positive sentiment.x000D x000D
x000D In a world where negative news often dominates headlines, Goodnews MCP aims to_x000D_ shine a light on more positive and uplifting news stories. This project was_x000D_ inspired by an earlier initiative called GoodnewsFirst, which delivered positive_x000D_ news daily to email subscribers — it was a really awesome project! While GoodnewsFirst_x000D_ predated recent breakthroughs in Large Language Models (LLMs) and relied on_x000D_ traditional methods for sentiment ranking, Goodnews MCP leverages modern LLMs to_x000D_ perform sentiment analysis in a zero-shot setting.x000D x000D
x000D
x000D
x000D
x000D - Cohere API Keyx000D - NewsAPI Keyx000D - Claude Desktop Applicationx000D - uv Python Project and Package Managerx000D x000D
mcp-goodnews
x000Dx000D ```bash_x000D_
git clone https://github.com/VectorInstitute/mcp-goodnews.git_x000D_ ```x000D x000D In the next step, we'll need to provide the absolute path to the location of this_x000D_ cloned repository.x000D x000D
x000D
x000D ```bash_x000D_
cd ~/Library/Application Support/Claude/config_x000D_ x000D
nano claude_desktop_config.json_x000D_ ```x000D x000D
x000D ```bash_x000D_
cd %APPDATA%Claudeconfig_x000D_ x000D
notepad claude_desktop_config.json_x000D_
_x000D_
_x000D_
And you'll want to add an entry under `mcpServers` for `Goodnews`:_x000D_
_x000D_
json_x000D_
{x000D
"mcpServers": {x000D
"Goodnews": {x000D
"command": "
x000D
Claude Desktop will use the updated config to build and run the mcp-goodnews server.x000D
If successful, you will see the hammer tool in the bottom-right corner of the chat_x000D_
dialogue window.x000D
x000D
x000D
x000D
Clicking the hammer tool icon will bring up a modal that lists available MCP tools.x000D
You should see
fetch_list_of_goodnews
listed there.x000D
x000D
x000D
x000D
x000D Example prompts:x000D x000D - "Show me some good news from today."x000D - "What positive things happened in the world this week?"x000D - "Give me uplifting news stories about science."x000D x000D
x000D 1. When you request good news, the application queries the NewsAPI for recent articles_x000D_ 2. The Cohere LLM analyzes the sentiment of each article_x000D_ 3. Articles are ranked based on positive sentiment score_x000D_ 4. The top-ranking good news stories are returned to you through Claude_x000D_ x000D
x000D Apache 2.0x000D x000D ---x000D x000D Stay positive with Goodnews MCP!__x000D