
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.
README
<!-- markdownlint-disable-file MD033 -->
MCP Goodnews
<p align="center"> <img src="https://d3ddy8balm3goa.cloudfront.net/vector-mcp-goodnews/logo.svg" alt="MCP Goodnews Logo" width="400"/> </p>
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!
Motivation
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.
Example Usage: MCP Goodnews with Claude Desktop
<img width="1112" alt="image" src="https://github.com/user-attachments/assets/fe204338-7505-4ce5-91b8-0b0b611099e1" />
Requirements
Clone 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.
Update Claude Desktop Config to find mcp-goodnews
For Mac/Linux
# Navigate to the configuration directory
cd ~/Library/Application\ Support/Claude/config
# Edit the claude_desktop_config.json file
nano claude_desktop_config.json
For Windows
# 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>"
}
}
}
}
Start or Restart Claude Desktop
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.
<img width="749" alt="image" src="https://github.com/user-attachments/assets/f871451b-cd66-4a75-bdde-35220e485203" />
Clicking the hammer tool icon will bring up a modal that lists available MCP tools.
You should see fetch_list_of_goodnews
listed there.
<img width="505" alt="image" src="https://github.com/user-attachments/assets/d68bef03-0926-4ae9-8b4a-00a003097169" />
Ask Claude for Good News
Example prompts:
- "Show me some good news from today."
- "What positive things happened in the world this week?"
- "Give me uplifting news stories about science."
How It Works
- When you request good news, the application queries the NewsAPI for recent articles
- The Cohere LLM analyzes the sentiment of each article
- Articles are ranked based on positive sentiment score
- The top-ranking good news stories are returned to you through Claude
License
Stay positive with Goodnews MCP!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.