by VectorInstitute
MCP Goodnews is a Model Context Protocol (MCP) application that curates and delivers positive news stories. It leverages Large Language Models (LLMs) for sentiment analysis to counter negative news saturation and promote mental well-being.
MCP Goodnews is a simple Model Context Protocol (MCP) application designed to deliver curated positive and uplifting news stories. It addresses the common issue of negative news saturation by focusing solely on good news, leveraging modern Large Language Models (LLMs) for sentiment analysis.
To use MCP Goodnews, you need to:
uv
: Install uv
Python Project and Package Manager.mcp-goodnews
repository from GitHub.claude_desktop_config.json
file in your Claude Desktop application directory to include the Goodnews
MCP server configuration, providing the absolute path to the cloned repository and your API keys.What is the motivation behind MCP Goodnews? The project was inspired by the desire to highlight positive news in a world often dominated by negative headlines, building upon an earlier initiative called GoodnewsFirst but leveraging modern LLMs for improved sentiment analysis.
What are the main requirements to run MCP Goodnews?
You need a Cohere API Key, a NewsAPI Key, the Claude Desktop Application, and uv
Python Project and Package Manager.
How does MCP Goodnews determine "good news"? It uses a Cohere LLM to analyze the sentiment of news articles fetched from NewsAPI and ranks them based on their positive sentiment score.
Can I use MCP Goodnews with other applications besides Claude Desktop? While the example usage focuses on Claude Desktop, as an MCP application, it could potentially be integrated with other MCP-compatible platforms, though specific instructions for other platforms are not provided in the documentation.
MCP Goodnews is a simple Model Context Protocol (MCP) application that features a server for getting good, positive, and uplifting news. This tool fetches news articles from the NewsAPI and uses a Cohere LLM to rank and return the top news articles based on positive sentiment.
Read the blog post on Medium!
In a world where negative news often dominates headlines, Goodnews MCP aims to shine a light on more positive and uplifting news stories. This project was inspired by an earlier initiative called GoodnewsFirst, which delivered positive news daily to email subscribers — it was a really awesome project! While GoodnewsFirst predated recent breakthroughs in Large Language Models (LLMs) and relied on traditional methods for sentiment ranking, Goodnews MCP leverages modern LLMs to perform sentiment analysis in a zero-shot setting.
mcp-goodnews
# Clone the repository
git clone https://github.com/VectorInstitute/mcp-goodnews.git
In the next step, we'll need to provide the absolute path to the location of this cloned repository.
# Navigate to the configuration directory
cd ~/Library/Application\ Support/Claude/config
# Edit the claude_desktop_config.json file
nano claude_desktop_config.json
# Navigate to the configuration directory
cd %APPDATA%\Claude\config
# Edit the claude_desktop_config.json file
notepad claude_desktop_config.json
And you'll want to add an entry under mcpServers
for Goodnews
:
{
"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 will use the updated config to build and run the mcp-goodnews server. If successful, you will see the hammer tool in the bottom-right corner of the chat dialogue window.
Clicking the hammer tool icon will bring up a modal that lists available MCP tools.
You should see fetch_list_of_goodnews
listed there.
Example prompts:
Stay positive with Goodnews MCP!
Please log in to share your review and rating for this MCP.