MCP Goodnews

by VectorInstitute
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides code coverage reporting for the MCP server repository

  • Hosts the repository with CI/CD workflows for linting, testing, and releasing the server

MCP Goodnews


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.

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

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.

Clicking the hammer tool icon will bring up a modal that lists available MCP tools. You should see fetch_list_of_goodnews listed there.

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

  1. When you request good news, the application queries the NewsAPI for recent articles
  2. The Cohere LLM analyzes the sentiment of each article
  3. Articles are ranked based on positive sentiment score
  4. The top-ranking good news stories are returned to you through Claude

License

Apache 2.0


Stay positive with Goodnews MCP!

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Motivation
    1. Example Usage: MCP Goodnews with Claude Desktop
      1. Requirements
      2. Clone mcp-goodnews
      3. Update Claude Desktop Config to find mcp-goodnews
      4. Start or Restart Claude Desktop
      5. Ask Claude for Good News!
    2. How It Works
      1. License