Skip to main content
Glama
VectorInstitute

MCP Goodnews

Buenas noticias del MCP


CódigoQL Pelusa Pruebas unitarias y cobertura de carga código decodificador Liberar Licencia de GitHub

MCP Goodnews es una sencilla aplicación de Protocolo de Contexto de Modelo (MCP) que incluye un servidor para obtener noticias buenas, positivas y alentadoras. Esta herramienta obtiene noticias de NewsAPI y utiliza un LLM de Cohere para clasificar y mostrar las noticias más destacadas según el sentimiento positivo.

Motivación

En un mundo donde las noticias negativas suelen dominar los titulares, Goodnews MCP busca visibilizar noticias más positivas y alentadoras. Este proyecto se inspiró en una iniciativa anterior llamada GoodnewsFirst, que enviaba noticias positivas diariamente a sus suscriptores de correo electrónico. ¡Fue un proyecto realmente excepcional! Si bien GoodnewsFirst se anticipó a los avances recientes en los Modelos de Lenguaje Largo (LLM) y se basó en métodos tradicionales para la clasificación de sentimientos, Goodnews MCP aprovecha los LLM modernos para realizar análisis de sentimientos en un entorno de cero disparos.

Related MCP server: mcp-rss-aggregator

Ejemplo de uso: MCP Buenas noticias con Claude Desktop

Requisitos

Clonar mcp-goodnews

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

En el siguiente paso, necesitaremos proporcionar la ruta absoluta a la ubicación de este repositorio clonado.

Actualizar la configuración del escritorio de Claude para encontrar mcp-goodnews

Para 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

Para Windows

# Navigate to the configuration directory
cd %APPDATA%\Claude\config

# Edit the claude_desktop_config.json file
notepad claude_desktop_config.json

Y querrás agregar una entrada en mcpServers para 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>"
      }
    }
  }
}

Iniciar o reiniciar Claude Desktop

Claude Desktop usará la configuración actualizada para compilar y ejecutar el servidor mcp-goodnews. Si la ejecución es correcta, verá el martillo en la esquina inferior derecha de la ventana de chat.

Al hacer clic en el icono del martillo, se abrirá una ventana modal con las herramientas MCP disponibles. Debería aparecer fetch_list_of_goodnews .

¡Pídele buenas noticias a Claude!

Ejemplos de indicaciones:

  • "Muéstrame algunas buenas noticias de hoy".

  • ¿Qué cosas positivas sucedieron en el mundo esta semana?

  • "Dame noticias inspiradoras sobre ciencia".

Cómo funciona

  1. Cuando solicita buenas noticias, la aplicación consulta NewsAPI para obtener artículos recientes

  2. El LLM de Cohere analiza el sentimiento de cada artículo

  3. Los artículos se clasifican según la puntuación de sentimiento positivo.

  4. Las mejores noticias buenas se te devuelven a través de Claude

Licencia

Apache 2.0


¡Manténgase positivo con Goodnews MCP!

Available Tools

1 tool
fetch_list_of_goodnewsC

Fetch a list of headlines and return only top-ranked news based on positivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoall

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It mentions filtering by positivity but lacks details on permissions, rate limits, data freshness, or what 'top-ranked' entails (e.g., algorithm, recency). This leaves significant gaps for a tool that likely involves external data fetching.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for a simple tool, though it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain return values, error handling, or behavioral traits like how 'positivity' is measured, making it inadequate for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It doesn't mention the 'category' parameter at all, failing to add meaning beyond the schema. However, with only one parameter and an enum in the schema, the baseline is moderate, but the description offers no parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('fetch a list of headlines') and the resource ('top-ranked news based on positivity'), making the purpose understandable. However, it doesn't differentiate from siblings since there are none, and 'top-ranked' could be more specific about ranking criteria.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, prerequisites, or contextual triggers. The description implies filtering by positivity but doesn't specify scenarios or limitations for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedfetch_list_of_goodnews

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool has a clear, distinct purpose focused on fetching positive news headlines.

Naming Consistency5/5

Since there is only one tool, naming consistency is inherently perfect. The tool name 'fetch_list_of_goodnews' follows a clear verb_noun pattern, making it predictable and readable.

Tool Count2/5

A single tool is too few for a server named 'MCP Goodnews', which suggests a broader domain of positive news handling. This minimal set limits functionality and feels thin, lacking operations like filtering, searching, or managing news items.

Completeness2/5

The tool surface is severely incomplete for a news-related server. It only provides fetching of top-ranked positive news, with no ability to create, update, delete, or search news items, leaving significant gaps that could cause agent failures in broader workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server that enables large language models to access the latest trending news headlines and detailed content across various categories including recommended, domestic, technology, and sports news.
    2
    -
  • A
    license
    A
    quality
    D
    maintenance
    A TypeScript-based Model Context Protocol server that fetches, searches, and formats news articles from NewsAPI.org into reader-friendly Markdown digests using LLMs (Gemini and Claude).
    12
    1,348 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that provides real-time news intelligence using NewsAPI.ai. This server enables LLMs to search articles, track events, and analyze news through natural conversation.
    45 npm
    2
    MIT