Skip to main content
Glama

RSS Feeds MCP Server

An MCP server for digital marketers to fetch, search, and filter RSS blog feeds. Works with Claude Desktop and any MCP-compatible client.

Quick setup with Claude Code (copy this prompt)

Open Claude Code in your terminal and paste the prompt below. It clones this repo, builds it, and wires it into Claude Desktop for you.

Set up this RSS MCP server for my Claude Desktop.

Repo: https://github.com/lionkiii/rss-feeds-mcp

Do all of the following:
1. Clone the repo into a sensible folder (e.g. ~/mcp-servers/rss-feeds-mcp) if it isn't already cloned, then cd into it.
2. Run `npm install` and `npm run build`. Confirm `dist/index.js` exists.
3. Find the absolute path to my node binary (`which node`; if it is under nvm use that full path, because Claude Desktop does not load my shell PATH).
4. Locate my Claude Desktop config:
   - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
   - Windows: %APPDATA%\Claude\claude_desktop_config.json
   Create the file with `{}` if it does not exist. Back it up first.
5. IMPORTANT: fully quit Claude Desktop before editing the config, because a running Claude Desktop rewrites the file on write and will discard my changes. On macOS quit it with `osascript -e 'tell application "Claude" to quit'`.
6. Merge (do not overwrite) an "mcpServers" entry named "rss-feeds" whose "command" is my absolute node path and whose "args" is the absolute path to dist/index.js. Keep the JSON valid and preserve any existing config keys and other mcpServers.
7. Relaunch Claude Desktop and verify the config still contains the rss-feeds entry after launch, and that a node process running dist/index.js was spawned.
8. Tell me to try: "fetch the latest marketing blogs".

Related MCP server: RSS-MCP

Tools

  • list_categories - list feed categories

  • list_feeds - list configured feeds

  • add_feed - add a feed (name, url, category)

  • remove_feed - remove a feed by name

  • fetch_blogs - latest posts across all feeds (range, limit)

  • fetch_by_category - posts filtered by category

  • fetch_from_source - posts from one source

  • search_blogs - keyword search across all feeds

Date ranges: 1d, 7d, 1w, 30d, 1m, this_week, this_month.

Setup

npm install
npm run build

Connect to Claude Desktop

Config file (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "rss-feeds": {
      "command": "node",
      "args": ["/absolute/path/to/RSS/dist/index.js"]
    }
  }
}

Notes:

  • Use an absolute path to dist/index.js.

  • If node is installed via nvm, use the absolute node path (e.g. ~/.nvm/versions/node/<version>/bin/node) because Claude Desktop does not load your shell PATH.

  • Run npm run build after editing src/index.ts, then restart Claude Desktop.

Managing feeds

Feeds live in feeds.json. Edit directly or use the add_feed / remove_feed tools. All feed requests use a browser User-Agent and a 20s hard timeout so a slow or dead feed can never hang the whole request.

Available Tools

8 tools
add_feedC

Add a new RSS feed with optional category

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the feed (e.g., 'techcrunch')
urlYesRSS feed URL
categoryNoCategory: seo, content, social, email, analytics, crm, news

TDQS

C2.9/5.0
Behavior2/5

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

Fails to disclose non-idempotent behavior (risk of duplicate feeds) or whether URL validation occurs, adding nothing beyond annotations.

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?

Extremely terse (9 words) but front-loaded; lacks secondary sentence for behavioral context but avoids fluff.

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?

Minimal but acceptable for low complexity; missing explanation of return value or success confirmation due to absent output schema.

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 has 100% description coverage; description reinforces optional nature of category but adds no new semantic meaning.

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?

Clear verb ('Add') and resource ('RSS feed') with mention of optional category, though doesn't differentiate from sibling fetch_from_source.

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 on when to use this vs fetch_from_source or whether to check list_feeds first to avoid duplicates.

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

fetch_blogsB
Read-onlyIdempotent

Fetch latest blogs from all feeds with date range and limit

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeNoDate range: '1d', '7d', '1w', '30d', '1m', 'this_week', 'this_month' (default: 7d)
limitNoMaximum number of articles to return (default: 20)

TDQS

B3.2/5.0
Behavior3/5

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

No contradictions with annotations, but adds no behavioral context beyond what readOnly/idempotent hints already provide.

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?

Extremely concise and front-loaded, though arguably too terse to convey differentiating value.

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?

Adequate for simple tool but lacks output description (no output schema exists) and sibling differentiation guidance.

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 has 100% coverage; description merely repeats that range and limit exist without adding semantic 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?

States specific action (fetch) and scope (all feeds), distinguishing from fetch_by_category and fetch_from_source, though unclear how it differs from search_blogs.

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 on when to use this versus fetch_by_category, fetch_from_source, or search_blogs.

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

fetch_by_categoryC
Read-onlyIdempotent

Fetch blogs from a specific category (seo, content, social, email, analytics, crm, news)

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory to filter by: seo, content, social, email, analytics, crm, news
rangeNoDate range: '1d', '7d', '1w', '30d', '1m' (default: 7d)
limitNoMaximum number of articles to return (default: 20)

TDQS

C2.9/5.0
Behavior2/5

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

Adds no behavioral context beyond what annotations already provide (read-only, idempotent); does not disclose return format or rate limits despite no output schema.

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?

Single sentence is appropriately front-loaded and concise, though minimal content leaves informational gaps.

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?

Lacks return value description despite no output schema; missing usage context that would help select between similar fetch tools.

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 has 100% description coverage; description redundantly lists category enum values already present in schema without adding semantic 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?

Clear verb (fetch) and resource (blogs), distinguishes from siblings by specifying 'specific category' and listing valid category values.

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 on when to use this versus fetch_blogs, fetch_from_source, or search_blogs; no exclusions or alternatives mentioned.

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

fetch_from_sourceC
Read-onlyIdempotent

Fetch blogs from a specific source

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the feed source
rangeNoDate range: '1d', '7d', '1w', '30d', '1m' (default: 7d)
limitNoMaximum number of articles to return (default: 20)

TDQS

C2.7/5.0
Behavior3/5

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

Annotations fully cover behavior (readOnly, idempotent, openWorld); description adds no new behavioral context but does not contradict annotations.

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

Conciseness3/5

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

Extremely concise (6 words) but too terse for the complexity of the tool suite; lacks necessary differentiating context despite brevity.

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?

Insufficient given 7 sibling tools with overlapping functionality; fails to clarify the feed/source selection use case despite requiring specific source names.

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 has 100% description coverage with clear parameter semantics; description adds nothing but baseline is 3 per rules for high schema coverage.

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

Purpose3/5

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

States basic action (fetch blogs) but 'specific source' is vague and fails to distinguish from sibling 'fetch_blogs' or clarify what constitutes a source.

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?

Provides no guidance on when to use this tool versus 'fetch_blogs', 'fetch_by_category', or 'search_blogs'.

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

list_categoriesB
Read-onlyIdempotent

List all available feed categories for organizing content

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Adds minimal context ('for organizing content') but provides no behavioral details beyond annotations (e.g., whether categories are user-defined or system-defined, cached vs. live).

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?

Single, front-loaded sentence with no redundancy; appropriate length for tool complexity.

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?

Lacks description of return structure despite absent output schema; misses opportunity to explain relationship to sibling 'fetch_by_category' given category values are likely inputs there.

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?

Zero parameters present, meeting the baseline expectation; no additional parameter semantics needed.

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?

Clear verb ('List') and resource ('feed categories') with purpose clause ('for organizing content'), implicitly distinguishing from 'list_feeds' though explicit sibling contrast would strengthen it further.

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 on when to use versus alternatives (e.g., 'use before fetch_by_category to discover valid values') or when not to use.

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

list_feedsA
Read-onlyIdempotent

List all configured RSS feeds with their categories

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Adds 'configured' (implying persistence) and 'with their categories' (structural hint) beyond annotations, but misses opportunity to clarify return format or pagination behavior.

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?

Single front-loaded sentence with strong verb; no fluff given the tool's simplicity and zero-parameter schema.

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?

Mentions categories which aids understanding, but lacks return value description despite absence of output schema; adequate but not comprehensive for the sibling complexity.

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?

Zero parameters present triggers baseline 4; description appropriately omits parameter discussion as none exist.

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?

Clear verb ('List') and resource ('configured RSS feeds'), with 'configured' effectively distinguishing from fetch siblings, though explicit differentiation from list_categories is absent.

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?

Usage is implied by the listing purpose, but lacks explicit guidance on when to use versus fetch_blogs or list_categories, and omits 'when-not' scenarios.

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

remove_feedC
DestructiveIdempotent

Remove an RSS feed by name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the feed to remove

TDQS

C2.9/5.0
Behavior2/5

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

Adds no behavioral context beyond annotations (destructive/idempotent nature not mentioned in text).

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?

Extremely brief (5 words) and front-loaded, though arguably too minimal for a destructive operation.

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?

Adequate for a single-parameter tool, but lacks any mention of the destructive consequences despite annotation hint.

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 has 100% coverage; description only echoes 'by name' without adding semantic nuance.

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?

Specific verb ('Remove') and resource ('RSS feed') clearly stated, and implicitly distinguishes from sibling 'add_feed' and 'list_feeds'.

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 on when to use versus alternatives or when removal is appropriate.

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

search_blogsB
Read-onlyIdempotent

Search blogs by keyword across all feeds - great for finding content ideas on specific topics

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword or phrase to search for (e.g., 'email marketing', 'AI', 'SEO tips')
rangeNoDate range: '1d', '7d', '1w', '30d', '1m' (default: 30d)
limitNoMaximum number of articles to return (default: 20)

TDQS

B3.4/5.0
Behavior3/5

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

Adds scope context ('across all feeds') beyond annotations, though omits return format details and rate limiting since annotations cover safety/read-only traits.

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?

Single well-structured sentence with purpose front-loaded and benefit clause appended; no fluff but could use punctuation to separate clauses.

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?

Adequate for basic invocation but lacks description of return values since no output schema exists (only hint is 'content ideas' and schema's 'articles' reference).

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 coverage is 100% with clear examples; description relies on schema without adding redundant parameter guidance, meeting baseline.

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?

Clear verb ('Search') + resource ('blogs across all feeds') with explicit keyword mechanism that distinguishes from fetch-by-category or list operations.

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?

Provides one use case ('finding content ideas') but lacks explicit when-not-to-use guidance or comparison to fetch_blogs/fetch_from_source alternatives.

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. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.2
    • First observedadd_feed
    • First observedfetch_blogs
    • First observedfetch_by_category
    • First observedfetch_from_source
    • First observedlist_categories
    • First observedlist_feeds
    • First observedremove_feed
    • First observedsearch_blogs

TDQS

B3.4/5.0
Disambiguation5/5

Each fetch operation has a clearly distinct filtering mechanism—date range for fetch_blogs, category for fetch_by_category, specific source for fetch_from_source, and keyword for search_blogs. Feed management tools (add, list, remove) target different lifecycle stages without overlap.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (add_feed, list_feeds, search_blogs). The fetch operations slightly deviate with prepositions (fetch_by_category, fetch_from_source) but remain consistent with each other and readable.

Tool Count5/5

Eight tools provides excellent coverage for RSS management without bloat. The set includes feed CRUD operations (minus update), multiple retrieval strategies, and category management—appropriate scope for an RSS server.

Completeness4/5

Covers core RSS workflows well: adding/removing feeds, listing metadata, and retrieving content via multiple filters. Minor gap in missing update_feed operation (for changing categories or URLs), though agents can work around this via remove/add sequence.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with blog RSS/Atom feeds to list posts, fetch content, get recent posts, retrieve blog metadata, and perform full-text search across post content. Supports any blog with an RSS/Atom feed through natural language queries.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Professional RSS/Atom feed management system with AI-powered analytics including sentiment analysis, trend detection, auto-categorization, cross-source verification, automated scheduling, and content export capabilities.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides tools to list, read, and fetch RSS/Atom feeds, with curated categories and robust fetching capabilities.
    15
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lionkiii/rss-feeds-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server