fetch_list_of_goodnewsLABSCO SUMMARY
The ranking is the product; the news feed is just the input.
Anyone can pull a headline feed — the useful part here is sorting it by sentiment with a model rather than a keyword list, which is what stops “not as bad as feared” from being classified as good news. Two keys and a local clone is the whole setup, and both services have free tiers to start on.
What it is
A small MCP server that fetches recent articles from NewsAPI and uses a Cohere model to rank them by positive sentiment, returning the most uplifting stories to your assistant.
What you get
fetch_list_of_goodnews— recent articles ranked by positive sentiment, returned to the client- Sentiment scoring done zero-shot by an LLM rather than by keyword lists
- Ranking applied across the fresh article set on every request, so the result reflects today rather than a cached list
Requirements
Two API keys — a NewsAPI key and a Cohere key — supplied to the client config as NEWS_API_KEY and COHERE_API_KEY. Clone the repository and run it with uv, pointing the client at the server directory. Licensed Apache 2.0.
Setup effort
Clone and run — clone the repository, then add the configuration for your client; uv runs the script from your clone, with nothing to build
USE CASES
Starting the day without a doomscroll
Ask for today's positive stories and get a ranked handful rather than a raw feed.
Finding something uplifting on a specific topic
Ask for positive news about science or a region, and let the ranking do the filtering.
Catching up on a week you spent heads-down
Ask what good things happened this week and read the ranked summary.
1 tool
Listed in project docs. Your client may show a different list.
BEFORE YOU INSTALL
What to know first
Tools you get
1 tool named in the project's documentation.
Requires
- NEWS_API_KEY in your environment
- COHERE_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Clone the repository, then add the configuration for your client; uv runs the script from your clone, with nothing to build.
Server setup
git clone https://github.com/VectorInstitute/mcp-goodnews.gitMCP Clients
Claude Desktop
{
"mcpServers": {
"Goodnews": {
"command": "<YOUR_ABSOLUTE_PATH_TO_BIN>/uv",
"args": [
"--directory",
"<YOUR_ABSOLUTE_PATH_TO_CLONED_REPO>/mcp-goodnews/src/mcp_goodnews",
"run",
"server.py"
],
"env": {
"NEWS_API_KEY": "<YOUR_NEWS_API_KEY>",
"COHERE_API_KEY": "<YOUR_COHERE_API_KEY>"
}
}
}
}