Skip to main content

An MCP application that delivers curated positive and uplifting news stories.

Project description

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

License

Apache 2.0


Stay positive with Goodnews MCP!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_mcp_goodnews-0.1.0.tar.gz (74.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_mcp_goodnews-0.1.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_mcp_goodnews-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_mcp_goodnews-0.1.0.tar.gz
  • Upload date:
  • Size: 74.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mcp_goodnews-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ac514bce72bdecd455cf32956ef91ae0097fe3a9d936cf906b8acf63cc0ed6e6
MD5 d476fb19a0ea9149637b1e80b36cd81c
BLAKE2b-256 ca593d28bae2b603e2294113504cfe8563fa217f9b833b64a126ea5afbef7c7f

See more details on using hashes here.

File details

Details for the file iflow_mcp_mcp_goodnews-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_mcp_goodnews-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mcp_goodnews-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c0da4de60fa83dbf921bf2ea98afc349957861fae850cce05da9e8c051ac24f
MD5 d6cf8eff6e6c1e6acd00870dc0661f84
BLAKE2b-256 77f9b86b8ade97c183fedf5a5fd2bf58ae5c142ae51fb33cd182f4e99d7369f1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page