mcp-rss-aggregator
Agregador RSS de MCP
Características
Lee artículos de tus feeds RSS favoritos directamente en Claude Desktop
Compatibilidad con archivos OPML para importar sus suscripciones de feeds existentes
Organizar feeds por categorías
Recibe los últimos artículos en todos tus feeds
Filtrar artículos por fuente de alimentación o categoría
Presentación de artículos bien formateados con títulos, fragmentos y enlaces.
Related MCP server: @kazuph/mcp-pocket
Manifestación
Haga clic en cualquier marca de tiempo para saltar a esa sección del video.
00:00 - Demostración de un ejemplo de fuente RSS : Uso del archivo predeterminado 'sample-feeds.opml' incluido en el repositorio. Este segmento muestra cómo Claude procesa y presenta noticias de fuentes como TechCrunch, The Verge y otras publicaciones tecnológicas mediante el MCP (Protocolo de Contexto de Modelo).
01:05 - Proceso de edición del archivo de configuración : tutorial paso a paso sobre cómo acceder y modificar el archivo claude_desktop_config.json para cambiar la referencia de la ruta del archivo OPML de la muestra predeterminada a un archivo 'my-feeds.opml' personalizado.
01:15 - Procedimiento de reinicio de la aplicación : ilustra el paso necesario para cerrar y volver a abrir la aplicación Claude Desktop para cargar y aplicar correctamente los cambios de configuración del archivo OPML modificado.
01:25 - Resultados de la fuente RSS personalizada : Demostración de los resultados tras implementar el archivo OPML personalizado. Esta sección destaca las fuentes de noticias ampliadas y más diversas ahora disponibles a través de Claude Desktop, incluyendo contenido en español.
Requisitos
Node.js 16 o superior
Escritorio de Claude
Conexión a Internet para acceder a las fuentes RSS
Instalación
Instalación manual
Clonar o descargar este repositorio:
git clone https://github.com/imprvhub/mcp-rss-aggregator
cd mcp-rss-aggregatorInstalar dependencias:
npm installConstruir el proyecto:
npm run buildConfiguración de la fuente
El agregador RSS admite los formatos OPML y JSON para la configuración de fuentes.
Uso de OPML (recomendado)
OPML (Outline Processor Markup Language) es un formato estándar utilizado por la mayoría de los lectores RSS para exportar e importar suscripciones a feeds.
Se incluye un archivo OPML de muestra con feeds populares en el archivo public/sample-feeds.opml . Puedes:
Utilice este archivo tal como está
Edítalo para agregar tus propios feeds
Reemplácelo con una exportación de su lector RSS existente
La mayoría de los lectores RSS le permiten exportar sus suscripciones como un archivo OPML.
Usando JSON
Alternativamente, puede definir sus feeds en un archivo JSON con el siguiente formato:
[
{
"title": "Hacker News",
"url": "https://news.ycombinator.com/rss",
"htmlUrl": "https://news.ycombinator.com/",
"category": "Tech News"
},
{
"title": "TechCrunch",
"url": "https://techcrunch.com/feed/",
"htmlUrl": "https://techcrunch.com/",
"category": "Tech News"
}
]Ejecución del servidor MCP
Hay dos formas de ejecutar el servidor MCP:
Opción 1: Ejecutar manualmente
Abra una terminal o un símbolo del sistema
Navegar al directorio del proyecto
Ejecute el servidor directamente:
node build/index.jsMantenga esta ventana de terminal abierta mientras usa Claude Desktop. El servidor se ejecutará hasta que cierre la terminal.
Opción 2: Inicio automático con Claude Desktop (recomendado para uso habitual)
El Escritorio Claude puede iniciar automáticamente el servidor MCP cuando sea necesario. Para configurarlo:
Configuración
El archivo de configuración de Claude Desktop se encuentra en:
macOS :
~/Library/Application Support/Claude/claude_desktop_config.jsonVentanas :
%APPDATA%\Claude\claude_desktop_config.jsonLinux :
~/.config/Claude/claude_desktop_config.json
Edite este archivo para agregar la configuración del MCP del Agregador RSS. Si el archivo no existe, créelo:
{
"mcpServers": {
"rssAggregator": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"],
"feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
}
}
}Notas importantes :
Reemplace
ABSOLUTE_PATH_TO_DIRECTORYcon la ruta absoluta completa donde instaló el MCPEjemplo de macOS/Linux:
/Users/username/mcp-rss-aggregatorEjemplo de Windows:
C:\\Users\\username\\mcp-rss-aggregator
Reemplace
ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opmlcon la ruta a su archivo OPML o JSONSi se omite, se utilizará el archivo de feeds de muestra
Si ya tiene otros MCP configurados, simplemente agregue la sección "rssAggregator" dentro del objeto "mcpServers":
{
"mcpServers": {
"otherMcp1": {
"command": "...",
"args": ["..."]
},
"rssAggregator": {
"command": "node",
"args": [
"ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"
],
"feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
}
}
}El servidor MCP se iniciará automáticamente cuando Claude Desktop lo necesite, según la configuración de su archivo claude_desktop_config.json .
Uso
Reinicie Claude Desktop después de modificar la configuración
En Claude, use el comando
rsspara interactuar con el servidor MCP del agregador RSSEl servidor MCP se ejecuta como un subproceso administrado por Claude Desktop
Comandos disponibles
El agregador RSS MCP proporciona una herramienta llamada rss con varios comandos:
Dominio | Descripción | Parámetros | Ejemplo |
| Mostrar los últimos artículos de todos los feeds | Límite opcional (--N) |
|
| Mostrar los artículos más destacados de todos los feeds | Límite opcional (--N) |
|
| Listar todos los feeds disponibles | Ninguno |
|
| Mostrar artículos de un feed específico | Límite opcional (--N) |
|
| Mostrar artículos de una categoría específica | Límite opcional (--N) |
|
| Establecer la ruta al archivo OPML/JSON | Ruta al archivo |
|
Ejemplo de uso
A continuación se muestran varios ejemplos de cómo utilizar el agregador RSS con Claude:
Comandos directos:
rss latest
rss top --20
rss list
rss "Tech News"
rss --hackernews
rss --techcrunch --15Consultas en lenguaje natural:
También puedes interactuar con el MCP mediante lenguaje natural. Claude interpretará estas solicitudes y usará los comandos adecuados:
"¿Cuáles son las últimas noticias en Hacker News?"
"Muéstrame los mejores artículos tecnológicos de hoy"
"Obtén los últimos artículos de mis feeds de programación"
"Enumerar todos mis feeds RSS"
Ejemplos de uso extendido
Resumen diario de noticias
Reciba sus noticias de todas sus fuentes:
rss latest --25Esto recuperará los 25 artículos más recientes en todos sus feeds, lo que le brindará una descripción general rápida de las últimas noticias.
Explorando el contenido principal
Encuentra los artículos más importantes o populares:
rss top --20Lectura basada en categorías
Centrarse en categorías de contenido específicas:
rss "Tech News" --30
rss "Politics" --15
rss "Science" --10Actualizaciones específicas de la fuente
Lea actualizaciones de fuentes específicas que sigue:
rss --hackernews --20
rss --nytimes
rss --techcrunch --15Descubra sus feeds disponibles
Descubra qué feeds tiene configurados:
rss listCombinando múltiples solicitudes
Puede realizar múltiples solicitudes secuenciales para crear una vista completa:
rss "Tech News" --10
rss "Finance" --10
rss top --5Flujos de trabajo prácticos
Rutina matutina :
rss top --10 rss "News" --5Investigación de la industria :
rss "Industry News" --15 rss --bloomberg --5Actualizaciones técnicas :
rss --hackernews --10 rss --techcrunch --5
Trabajando con Claude
Puedes pedirle a Claude que analice o resuma los artículos:
Después de ejecutar:
rss latest --10Pregunta: "¿Puedes resumir estos artículos?"Después de ejecutar:
rss "Tech News" --15Pregunte: "¿Cuáles son las tendencias clave en estos artículos tecnológicos?"Después de ejecutar:
rss --nytimes --washingtonpost --10Pregunta: "Compara cómo estas fuentes cubren los acontecimientos actuales"
Solución de problemas
Error "Servidor desconectado"
Si ve el error "Agregador RSS MCP: Servidor desconectado" en Claude Desktop:
Verifique que el servidor esté ejecutándose :
Abra una terminal y ejecute manualmente
node build/index.jsdesde el directorio del proyectoSi el servidor se inicia correctamente, utilice Claude mientras mantiene esta terminal abierta
Comprueba tu configuración :
Asegúrese de que la ruta absoluta en
claude_desktop_config.jsonsea correcta para su sistemaVerifique nuevamente que haya utilizado barras invertidas dobles (
\\) para las rutas de WindowsVerifique que esté utilizando la ruta completa desde la raíz de su sistema de archivos
Herramientas que no aparecen en Claude
Si las herramientas del Agregador RSS no aparecen en Claude:
Asegúrese de haber reiniciado Claude Desktop después de la configuración
Verifique los registros de Claude Desktop para detectar cualquier error de comunicación de MCP
Asegúrese de que el proceso del servidor MCP se esté ejecutando (ejecútelo manualmente para confirmarlo)
Los feeds no se cargan
Si sus feeds no se cargan correctamente:
Asegúrese de que su archivo OPML/JSON esté correctamente formateado
Comprueba si el
feedsPathen tu configuración es correctoIntente ejecutar el servidor manualmente con un archivo de feeds conocido como bueno
Contribuyendo
¡Agradecemos sus contribuciones para mejorar el Agregador RSS! Aquí tiene algunas maneras de contribuir:
Añadir compatibilidad con más formatos de feed
Mejorar el análisis de feeds y el manejo de errores
Añadir más opciones de visualización para los artículos
Mejorar las capacidades de categorización y filtrado
Licencia
Este proyecto está licenciado bajo la Licencia Pública de Mozilla 2.0: consulte el archivo de LICENCIA para obtener más detalles.
Enlaces relacionados
Available Tools
3 toolsrss_feedC
Get the newest articles from one specific RSS feed
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of articles to return (1-50, default: 10) | |
| feed_id | Yes | Feed id as reported by rss_list, e.g. "news-ycombinator-com" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It conveys only that this is a retrieval, but says nothing about read-only safety, ordering of 'newest', behavior for an unknown feed_id, or whether results are cached/bounded. For a tool with zero annotation coverage this is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler and no redundancy. It is appropriately sized for a two-parameter read tool, though its brevity is partly the source of the gaps noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with a fully documented schema and no output schema, the description is minimally adequate. It omits sibling differentiation (rss_latest overlap) and any note on ordering or failure behavior, but nothing structurally critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with limit (range, default) and feed_id (format example) fully documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get the newest articles from one specific RSS feed'), which is clear on its own. However, it does nothing to differentiate from the sibling rss_latest, which by name appears to cover a very similar retrieval of recent articles, so an agent cannot reliably choose between them from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no when-not-to-use, and no mention of rss_list or rss_latest as alternatives. The only implied context is that a feed_id must come from somewhere (schema hints at rss_list), leaving routing purely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rss_latestA
Get the newest articles across all configured RSS feeds, most recent first, optionally limited to one category
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of articles to return (1-50, default: 15) | |
| category | No | Optional category to filter by, e.g. "Tech News" or "Science". Use rss_list to see categories. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Get' plus 'newest first' communicates a read-only, sorted retrieval, and the scope ('all configured feeds') is useful. However, it says nothing about pagination, how many feeds must be configured, or what happens when no feeds match a category.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the scope, ordering, and optional filter front-loaded and no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with full schema coverage and zero required params, the description is adequate: scope, ordering, and filtering are clear. With no output schema, a note on the returned article fields would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents limit (1-50, default 15) and category (with the rss_list pointer). The description adds only the notion of ordering and optionality, which the schema largely covers; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the newest articles across all configured RSS feeds') plus the ordering (most recent first). It distinguishes itself from rss_feed only implicitly via 'across all configured feeds'; it never names the sibling that returns a single feed's items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'optionally limited to one category' hints at a filtering use case, and the category param points at rss_list for discovering values, but there is no explicit when-to-use-this-vs-rss_feed guidance. Usage is implied by the aggregation scope rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rss_listA
List the configured RSS feeds, grouped by category, with the feed_id to use with rss_feed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses output behavior (grouped by category, includes feed_id), which matters since there is no output schema, but says nothing about read-only nature, auth requirements, or whether the feed list can be empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with zero waste, front-loading the action and the result, then ending with the actionable feed_id handoff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial parameterless list tool with no output schema, the description covers enough: what is returned, how it is grouped, and the key field (feed_id) for the next step. Minor gaps on empty-list/error behavior only.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to describe; baseline 4 applies. The description correctly adds no spurious parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (configured RSS feeds) and explicitly names the sibling used next (rss_feed) via the returned feed_id. An agent can distinguish this from rss_latest and rss_feed without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear implied context: call this to discover feeds and obtain the feed_id needed by rss_feed. It does not state when-not to use it or contrast with rss_latest, but the routing intent is explicit.
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.
4 tool updates
v0.3.0- Removed
rss - Added
rss_feed - Added
rss_latest - Added
rss_list
1 tool update
v1.0.0- First observed
rss
TDQS
Scored across 3 tools
Each tool has a clearly distinct scope: rss_list returns feed metadata, rss_latest aggregates articles across all feeds, and rss_feed targets one specific feed. The descriptions make the boundaries explicit, and the feed_id handoff between rss_list and rss_feed reinforces the separation.
All three tools share a consistent rss_ prefix, which is easy to predict. The suffix patterns vary slightly (verb 'list' vs adjective 'latest' vs noun 'feed'), so it's not a strict verb_noun scheme, but it remains readable and coherent.
Three tools is on the thin side but fits a focused read-only aggregator well, with each tool earning its place. It is slightly under-scoped given that feed configuration is implied but not directly exposed.
The read surface is solid: list feeds, aggregate latest, and drill into a single feed. However, there is no way to add, remove, or manage feeds, so lifecycle coverage is incomplete for an aggregator that references 'configured' feeds.
Maintenance
Related MCP Connectors
Managed cloud RSS and Atom feed reader with a remote Model Context Protocol (MCP) endpoint. Zero server setup required — enables AI agents like Claude to instantly subscribe to feeds, search full-text articles, extract readable content, and access curated AI editions ("Your Newspaper") over secure streamable HTTP.
MCP Server for Web2MD — convert URLs to Markdown from Claude Desktop, Cursor, etc.
A self-hostable feed of reminders, learnings and work that Claude and ChatGPT can read and write
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol (MCP) server for web research. Bring real-time info into Claude and easily research any topic.3454 npm300MIT
- AlicenseAqualityDmaintenance🔗 Model Context Protocol (MCP) Server for retrieving saved articles from Pocket API and loading them into Claude231 npm9MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that enables downloading and parsing Substack posts directly through the Claude desktop app, allowing users to access and summarize Substack content.124-
- AlicenseAqualityDmaintenanceModel Context Protocol server that enables Claude Desktop (or any MCP client) to fetch web content and process images appropriately.173 npmMIT