News MCP
Proporciona acceso a artículos de noticias desde una base de datos PostgreSQL y ofrece una herramienta para resumirlos usando la API de OpenAI.
Documentación
Servidor MCP news-mcp
Servidor de noticias MCP
IMPORTANTE
- No comiences a programar a menos que el usuario te lo pida. Si el usuario hace una pregunta sobre el código, responde la pregunta; no escribas ni modifiques código a menos que se te pida explícitamente.
Componentes
Recursos
El servidor expone artículos de noticias almacenados en una base de datos mediante un URI de recurso:
news://{category}/{limit}: Recupera una lista de los artículos más recientes para una categoría determinada.{category}: Filtra artículos por categoría (p. ej.,tech,data_science,news). Consulta la descripción de la herramienta para ver la lista completa.{limit}(opcional, valor predeterminado 10): Especifica el número máximo de artículos a devolver.
- Cada artículo devuelto incluye título, enlace, fecha de publicación y fuente.
Prompts
El servidor actualmente no expone ningún prompt. (La lógica de resumen existe internamente, pero no está disponible mediante un prompt de MCP).
Herramientas
El servidor implementa una herramienta:
summarize_news: Recupera artículos de noticias sin procesar de la base de datos, lo que permite al cliente (LLM) resumirlos.- Acepta argumentos opcionales
category(cadena) ylimit(entero, valor predeterminado 20). - Devuelve una lista de diccionarios de artículos, cada uno con
id,title,link,published,sourceycontent. - Categorías disponibles:
tech,data_science,llm_tools,cybersecurity,linux,audio_dsp,startups,news,science,research,policy.
- Acepta argumentos opcionales
Configuración
El servidor depende de una base de datos PostgreSQL configurada mediante la variable de entorno DATABASE_URL (valor predeterminado: postgresql://localhost/mcp_news).
El script news_gatherer.py (diseñado para ejecutarse por separado o de forma programada) llena la base de datos desde varias fuentes RSS.
La lógica de resumen (interna, no expuesta mediante MCP) utiliza la API de OpenAI, configurada mediante la variable de entorno OPENAI_API_KEY.
Otras configuraciones (mediante variables de entorno o valores predeterminados):
LOOKBACK_HOURS: Cuánto tiempo hacia atrás buscanews_gatherer.pyartículos nuevos (valor predeterminado: 6).SUMMARY_WORD_TARGET: Recuento de palabras objetivo para el resumen interno (valor predeterminado: 500).MAX_ARTICLES_PER_SUMMARY: Número máximo de artículos incluidos en un lote de resumen (valor predeterminado: 25).KEYWORD_FILTER: Palabras clave utilizadas por la lógica de resumen interno.
Inicio rápido
Instalación
Claude Desktop
En MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
En Windows: %APPDATA%/Claude/claude_desktop_config.json
Configuración de servidores no publicados en desarrollo
``` "mcpServers": { "news-mcp": { "command": "uv", "args": [ "--directory", "~/dev/news-mcp", "run", "news-mcp" ] } } ```Configuración de servidores publicados
``` "mcpServers": { "news-mcp": { "command": "uvx", "args": [ "news-mcp" ] } } ```Desarrollo
Compilación y publicación
Para preparar el paquete para su distribución:
- Sincroniza las dependencias y actualiza el archivo de bloqueo:
uv sync
- Compila las distribuciones del paquete:
uv build
Esto creará distribuciones de código fuente y wheel en el directorio dist/.
- Publica en PyPI:
uv publish
Nota: Deberás configurar las credenciales de PyPI mediante variables de entorno o indicadores de comando:
- Token:
--tokenoUV_PUBLISH_TOKEN - O nombre de usuario/contraseña:
--username/UV_PUBLISH_USERNAMEy--password/UV_PUBLISH_PASSWORD
Depuración
Dado que los servidores MCP se ejecutan sobre stdio, la depuración puede ser un desafío. Para una mejor experiencia de depuración, recomendamos encarecidamente usar el Inspector MCP.
Puedes iniciar el Inspector MCP mediante npm con este comando:
npx @modelcontextprotocol/inspector uv --directory ~/dev/news-mcp run news-mcp
Al iniciarse, el Inspector mostrará una URL a la que puedes acceder en tu navegador para comenzar a depurar.