MCP Connector

Fetch and Rank Positive News Articles

MCP Goodnews server fetches and ranks positive news articles using a Cohere LLM for sentiment analysis. Get uplifting stories easily.

Works with newsapicohere

Maintainer of this project? Claim this page to edit the listing.


91
Spark score
out of 100
Updated Jul 2025
Version 0.1.0
Models
universal

Add to Favorites

Why it matters

Access and analyze news from NewsAPI, leveraging Cohere's LLM to identify and rank articles based on positive sentiment, delivering inspiring content.

Outcomes

What it gets done

01

Retrieve news articles from NewsAPI.

02

Analyze news articles for positive sentiment using Cohere LLM.

03

Rank articles by positive sentiment score.

04

Return a curated list of top positive news stories.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-goodnews | bash

Capabilities

Tools your agent gets

fetch_list_of_goodnews

Fetches and returns a curated list of positive news articles ranked by sentiment

Overview

Goodnews MCP Server

MCP Goodnews is a Model Context Protocol (MCP) application that provides a server for accessing positive and uplifting news. This tool fetches news articles from NewsAPI and utilizes a Cohere LLM to rank them based on positive sentiment. To set this up, you will need to clone the repository and configure your AI client. Here's how to clone the repository: ```bash # Clone the repository git clone https://github.com/VectorInstitute/mcp-goodnews.git ``` After cloning, you'll need to update your AI client's configuration file (e.g., `claude_desktop_config.json`) to include the Goodnews MCP server. This involves specifying the command to run the server and providing necessary API keys: ```json { "mcpServers": { "Goodnews": { "command": "<absolute-path-to-bin>/uv", "args": [ "--directory", "<abso

What it does

MCP Goodnews is a Model Context Protocol (MCP) application that provides a server for accessing positive and uplifting news. This tool fetches news articles from NewsAPI and utilizes a Cohere LLM to rank them based on positive sentiment.

To set this up, you will need to clone the repository and configure your AI client. Here's how to clone the repository:

# Clone the repository
git clone https://github.com/VectorInstitute/mcp-goodnews.git

After cloning, you'll need to update your AI client's configuration file (e.g., claude_desktop_config.json) to include the Goodnews MCP server. This involves specifying the command to run the server and providing necessary API keys:

{
  "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>"
      }
    }
  }
}

Once configured and the AI client is restarted, you can prompt it to fetch good news. The application queries NewsAPI, analyzes sentiment with the Cohere LLM, ranks articles by positive sentiment, and returns the top stories.

Source README

MseeP.ai Security Assessment Badge

MCP Goodnews


CodeQL
Linting
Unit Testing and Upload Coverage
codecov
Release
GitHub License

MCP Goodnews Logo

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

image

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.

image

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

image

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

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.