Skip to main content
Glama

Agregador RSS de MCP

insignia de herrería

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

  1. Clonar o descargar este repositorio:

git clone https://github.com/imprvhub/mcp-rss-aggregator
cd mcp-rss-aggregator
  1. Instalar dependencias:

npm install
  1. Construir el proyecto:

npm run build

Configuració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:

  1. Utilice este archivo tal como está

  2. Edítalo para agregar tus propios feeds

  3. 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

  1. Abra una terminal o un símbolo del sistema

  2. Navegar al directorio del proyecto

  3. Ejecute el servidor directamente:

node build/index.js

Mantenga 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.json

  • Ventanas : %APPDATA%\Claude\claude_desktop_config.json

  • Linux : ~/.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_DIRECTORY con la ruta absoluta completa donde instaló el MCP

    • Ejemplo de macOS/Linux: /Users/username/mcp-rss-aggregator

    • Ejemplo de Windows: C:\\Users\\username\\mcp-rss-aggregator

  • Reemplace ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml con la ruta a su archivo OPML o JSON

    • Si 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

  1. Reinicie Claude Desktop después de modificar la configuración

  2. En Claude, use el comando rss para interactuar con el servidor MCP del agregador RSS

  3. El 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

latest

Mostrar los últimos artículos de todos los feeds

Límite opcional (--N)

rss latest --20

top o best

Mostrar los artículos más destacados de todos los feeds

Límite opcional (--N)

rss top --15

list

Listar todos los feeds disponibles

Ninguno

rss list

--[feed-id]

Mostrar artículos de un feed específico

Límite opcional (--N)

rss --hackernews --10

[category]

Mostrar artículos de una categoría específica

Límite opcional (--N)

rss "Tech News" --20

set-feeds-path --[path]

Establecer la ruta al archivo OPML/JSON

Ruta al archivo

rss set-feeds-path --/path/to/feeds.opml

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 --15

Consultas 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 --25

Esto 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 --20

Lectura basada en categorías

Centrarse en categorías de contenido específicas:

rss "Tech News" --30
rss "Politics" --15
rss "Science" --10

Actualizaciones específicas de la fuente

Lea actualizaciones de fuentes específicas que sigue:

rss --hackernews --20
rss --nytimes
rss --techcrunch --15

Descubra sus feeds disponibles

Descubra qué feeds tiene configurados:

rss list

Combinando múltiples solicitudes

Puede realizar múltiples solicitudes secuenciales para crear una vista completa:

rss "Tech News" --10
rss "Finance" --10
rss top --5

Flujos de trabajo prácticos

  1. Rutina matutina :

    rss top --10
    rss "News" --5
  2. Investigación de la industria :

    rss "Industry News" --15
    rss --bloomberg --5
  3. Actualizaciones técnicas :

    rss --hackernews --10
    rss --techcrunch --5

Trabajando con Claude

Puedes pedirle a Claude que analice o resuma los artículos:

  1. Después de ejecutar: rss latest --10 Pregunta: "¿Puedes resumir estos artículos?"

  2. Después de ejecutar: rss "Tech News" --15 Pregunte: "¿Cuáles son las tendencias clave en estos artículos tecnológicos?"

  3. Después de ejecutar: rss --nytimes --washingtonpost --10 Pregunta: "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:

  1. Verifique que el servidor esté ejecutándose :

    • Abra una terminal y ejecute manualmente node build/index.js desde el directorio del proyecto

    • Si el servidor se inicia correctamente, utilice Claude mientras mantiene esta terminal abierta

  2. Comprueba tu configuración :

    • Asegúrese de que la ruta absoluta en claude_desktop_config.json sea correcta para su sistema

    • Verifique nuevamente que haya utilizado barras invertidas dobles ( \\ ) para las rutas de Windows

    • Verifique 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 feedsPath en tu configuración es correcto

  • Intente 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:

  1. Añadir compatibilidad con más formatos de feed

  2. Mejorar el análisis de feeds y el manejo de errores

  3. Añadir más opciones de visualización para los artículos

  4. 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 tools
rss_feedC

Get the newest articles from one specific RSS feed

NameRequiredDescriptionDefault
limitNoNumber of articles to return (1-50, default: 10)
feed_idYesFeed id as reported by rss_list, e.g. "news-ycombinator-com"

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

NameRequiredDescriptionDefault
limitNoNumber of articles to return (1-50, default: 15)
categoryNoOptional category to filter by, e.g. "Tech News" or "Science". Use rss_list to see categories.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 4 tool updatesv0.3.0
    • Removedrss
    • Addedrss_feed
    • Addedrss_latest
    • Addedrss_list
  2. 1 tool updatev1.0.0
    • First observedrss

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness3/5

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

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers