by VectorInstitute
Delivers curated positive and uplifting news stories by fetching articles from NewsAPI and ranking them with a Cohere language model based on positive sentiment.
Mcp Goodnews provides a simple MCP server that retrieves recent news articles, evaluates their sentiment using a Cohere LLM in a zero‑shot setting, and returns the highest‑scoring uplifting stories.
git clone https://github.com/VectorInstitute/mcp-goodnews.git
mcpServers
pointing to the cloned repository.{
"mcpServers": {
"Goodnews": {
"command": "uv",
"args": ["--directory", "<absolute-path-to-repo>/mcp-goodnews/src/mcp_goodnews", "run", "server.py"],
"env": {
"NEWS_API_KEY": "<your‑newsapi‑key>",
"COHERE_API_KEY": "<your‑cohere‑key>"
}
}
}
}
fetch_list_of_goodnews
.Q: Which API keys are required? A: A NewsAPI key for article sourcing and a Cohere API key for sentiment ranking.
Q: Do I need any special software to run the server?
A: The server is built with Python and uses the uv
package manager. Install uv
following its official guide.
Q: Can I use the server with other MCP clients besides Claude Desktop? A: Yes, any client that can invoke MCP servers with the defined command and environment variables can interact with Mcp Goodnews.
Q: How are articles ranked? A: Each article’s content is sent to the Cohere LLM, which returns a sentiment score. Articles with higher positive scores are returned first.
Q: Is the project open source? A: Yes, it is licensed under the Apache 2.0 license and hosted on GitHub.
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.
Explore related MCPs that share similar capabilities and solve comparable challenges
by exa-labs
Provides real-time web search capabilities to AI assistants via a Model Context Protocol server, enabling safe and controlled access to the Exa AI Search API.
by elastic
Enables natural‑language interaction with Elasticsearch indices via the Model Context Protocol, exposing tools for listing indices, fetching mappings, performing searches, running ES|QL queries, and retrieving shard information.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, extraction, retrieval, and RAG capabilities across a wide range of data sources and connectors.
by mamertofabian
Fast cross‑platform file searching leveraging the Everything SDK on Windows, Spotlight on macOS, and locate/plocate on Linux.
by cr7258
Provides Elasticsearch and OpenSearch interaction via Model Context Protocol, enabling document search, index management, cluster monitoring, and alias operations.
by liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.
by ihor-sokoliuk
Provides web search capabilities via the SearXNG API, exposing them through an MCP server for seamless integration with AI agents and tools.
by fatwang2
Provides web and news search, URL crawling, sitemap extraction, deep‑reasoning, and trending topic retrieval via Search1API, exposed as an MCP server for integration with AI clients.
by cnych
Provides SEO data retrieval via Ahrefs, exposing MCP tools for backlink analysis, keyword generation, traffic estimation, and keyword difficulty, with automated CAPTCHA solving and response caching.