@missionsquad/mcp-rss
OfficialUses environment variables for server configuration through .env files.
Supports exporting and formatting feed content in Markdown format.
Runs on Node.js v20 or later as its runtime environment.
Supports installation and package management through npm.
Fetches, parses, and manages RSS/Atom feeds with capabilities for caching, batch fetching, monitoring for updates, searching across feeds, and extracting content in various formats (JSON, Markdown, HTML, text).
Supports installation and package management through Yarn.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@missionsquad/mcp-rssfetch the latest headlines from TechCrunch"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-RSS Server
A Model Context Protocol (MCP) server for fetching, parsing, and managing RSS feeds.
Features
Fetch and parse RSS/Atom feeds
In-memory caching with TTL
Batch fetching of multiple feeds
Monitor feeds for new items
Search content across multiple feeds
Extract and format feed content
OPML export of subscribed feeds
Related MCP server: simply-feed-mcp
Getting Started
Install:
yarn add @missionsquad/mcp-rssornpm install @missionsquad/mcp-rss
Prerequisites
Node.js v20 or later
npm or yarn
Setup
Install Dependencies:
yarnConfigure Environment:
Copy
.env.exampleto.env.Edit
.envand set the necessary environment variables.
Build the Project:
yarn buildStart the Server:
yarn start
Available Tools
fetch_rss_feed: Fetches and parses a single RSS feed.fetch_multiple_feeds: Fetches multiple RSS feeds in parallel or sequentially.monitor_feed_updates: Checks for new items in a feed since a specific time.search_feed_items: Searches for content across one or more RSS feeds.extract_feed_content: Extracts and formats content from feed items. Supportsjson,markdown,html, andtextformats.get_feed_headlines: Gets a list of headlines from a feed. Supportsjson,markdown,html, andtextformats.
Available Resources
rss://cache/{feedUrl}: Access cached feed data.rss://opml/export: Export all monitored feeds in OPML format.
Configuration
Configure the server using environment variables defined in .env. See .env.example for all available options.
Try it on Mission Squad
You can test the mcp-rss server and other MCP servers on the Mission Squad platform. Mission Squad is an Agentic AI Platform that allows you to build, manage, and deploy cooperative agents that connect to any model, leverage private data, and automate complex tasks. Sign up for a free account to get started
Available Tools
6 toolsextract_feed_contentC
Extract and format feed content for different use cases
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format for the content | text |
| includeMetadata | No | If 'true', include item metadata (date, author, etc) in output | false |
| url | Yes | The RSS feed URL to extract content from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'extract and format' but doesn't disclose behavioral traits such as whether it's a read-only operation, potential rate limits, authentication needs, or what happens if the URL is invalid. This leaves critical operational details unspecified for a tool that processes external feeds.
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?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. However, it could be more front-loaded with key details like the resource type (RSS feed) from the schema, but it's appropriately sized for its content.
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?
Given the tool's complexity (processing external feeds with formatting options), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'extract' entails, the output structure, or error handling, making it inadequate for an agent to use effectively without guessing.
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 fully documents parameters like 'url', 'format', and 'includeMetadata'. The description adds no additional meaning beyond the schema, such as examples or edge cases. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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?
The description states the tool 'Extract and format feed content' which provides a clear verb ('extract and format') and resource ('feed content'), but it's vague about what 'extract' entails compared to siblings like 'fetch_rss_feed' or 'get_feed_headlines'. It doesn't specify whether it extracts full articles, summaries, or specific fields, making it less distinct from alternatives.
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 description mentions 'for different use cases', which implies context but doesn't specify when to use this tool versus siblings like 'fetch_multiple_feeds' or 'search_feed_items'. There's no explicit guidance on scenarios, prerequisites, or exclusions, leaving the agent with minimal direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_multiple_feedsA
Batch fetch multiple RSS feeds with success/error status for each
| Name | Required | Description | Default |
|---|---|---|---|
| parallel | No | If 'true', fetch feeds in parallel; otherwise, fetch sequentially | true |
| urls | Yes | Array of RSS feed URLs to fetch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses key behavioral traits: batch fetching capability and per-feed status reporting. However, it doesn't mention error handling details, rate limits, authentication requirements, or what constitutes 'success' versus 'error' status. The description adds value but leaves important behavioral aspects unspecified.
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?
The description is a single, efficient sentence that front-loads the core functionality. Every word earns its place: 'batch' establishes scope, 'fetch multiple RSS feeds' states the action, and 'with success/error status for each' adds crucial behavioral context. No wasted words or redundant information.
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 batch operation tool with no annotations and no output schema, the description provides adequate functional context but lacks important details. It doesn't explain the return format (what does 'success/error status' look like?), error handling behavior, or performance implications of the parallel parameter. Given the complexity of batch operations, more completeness would be beneficial.
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 fully documents both parameters. The description doesn't add any parameter-specific semantics beyond what's in the schema. It mentions 'batch fetch' which aligns with the urls array parameter, but provides no additional syntax, format, or usage details for parameters.
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?
The description clearly states the tool's purpose with specific verbs ('batch fetch') and resource ('multiple RSS feeds'), and distinguishes it from siblings by emphasizing batch processing and per-feed status reporting. It explicitly mentions 'success/error status for each' which differentiates it from single-feed tools like fetch_rss_feed.
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 description implies usage context (batch processing multiple feeds with status tracking) but doesn't explicitly state when to use this versus alternatives like fetch_rss_feed (single feed) or get_feed_headlines (headlines only). It provides clear functional context but lacks explicit comparison guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_rss_feedB
Fetches and parses an RSS feed, returning structured data with feed info and items
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the RSS feed to fetch | |
| useDescriptionAsContent | No | If 'true', use description field as content instead of content field |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks critical behavioral details. It doesn't disclose error handling (e.g., invalid URLs), rate limits, authentication needs, or what 'structured data' entails (format, fields). The mention of parsing hints at transformation but doesn't clarify output behavior.
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?
The description is a single, efficient sentence with zero waste—it directly states the action, resource, and outcome. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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?
Given no annotations and no output schema, the description is incomplete for a tool that fetches and parses external data. It lacks details on error handling, output structure, and behavioral constraints. However, it does cover the core purpose adequately, making it minimally viable but with clear gaps.
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 both parameters fully. The description adds no parameter-specific semantics beyond what's in the schema, such as URL format examples or use-case details for 'useDescriptionAsContent'. Baseline 3 is appropriate as the schema does the heavy lifting.
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?
The description clearly states the specific action ('fetches and parses') and resource ('RSS feed'), and distinguishes from siblings by specifying it returns structured data with feed info and items. This differentiates it from tools like 'get_feed_headlines' (likely just headlines) or 'extract_feed_content' (likely content-focused).
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 description provides no guidance on when to use this tool versus alternatives like 'fetch_multiple_feeds' or 'search_feed_items'. It doesn't mention prerequisites, exclusions, or comparative contexts, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feed_headlinesC
Gets a list of headlines from a feed, including title, summary, and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format for the headlines | json |
| url | Yes | The RSS feed URL to get headlines from |
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 states the tool 'Gets' data, implying a read-only operation, but does not disclose behavioral traits such as error handling, rate limits, authentication needs, or what happens with invalid URLs. For a tool with no annotation coverage, this leaves significant gaps.
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?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part earns its place by specifying the action, resource, and data included.
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?
Given the complexity (2 parameters, no annotations, no output schema), the description is incomplete. It lacks details on return values (e.g., structure of the list), error cases, or behavioral context, which are crucial for a tool with no structured output or annotation support.
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 both parameters ('url' and 'format') with details like enum values and defaults. The description adds no additional meaning beyond what the schema provides, such as explaining feed URL formats or format implications, meeting the baseline for high schema coverage.
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?
The description clearly states the verb ('Gets') and resource ('list of headlines from a feed'), specifying what data is included ('title, summary, and URL'). It distinguishes from siblings like 'extract_feed_content' or 'fetch_multiple_feeds' by focusing on headlines only, but could be more explicit about the differentiation.
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 guidance is provided on when to use this tool versus alternatives like 'fetch_rss_feed' or 'search_feed_items'. The description implies usage for retrieving headlines from a single feed URL, but lacks explicit when/when-not instructions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitor_feed_updatesC
Check for new items in a feed since a specific time or last check
| Name | Required | Description | Default |
|---|---|---|---|
| since | Yes | Time reference for checking updates | |
| url | Yes | The RSS feed URL to monitor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool checks for updates but lacks details on permissions, rate limits, error handling, or what constitutes 'new items' (e.g., format, pagination). This is inadequate for a tool with potential network or data implications.
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?
The description is a single, efficient sentence that front-loads the core functionality without unnecessary words. Every part earns its place by specifying the action, resource, and key constraint.
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?
Given the tool's complexity (involving network calls and temporal logic), no annotations, and no output schema, the description is incomplete. It doesn't address return values, error cases, or behavioral nuances, leaving significant gaps for agent understanding.
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 fully documents the parameters. The description adds no additional semantic context beyond implying temporal filtering, which is already covered in the schema. This meets the baseline for high schema coverage.
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?
The description clearly states the tool's purpose with specific verbs ('Check for new items') and resource ('in a feed'), and specifies temporal scope ('since a specific time or last check'). It doesn't explicitly differentiate from sibling tools like 'fetch_rss_feed' or 'get_feed_headlines', which prevents a score of 5.
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 description provides no guidance on when to use this tool versus alternatives like 'fetch_rss_feed' or 'search_feed_items'. It mentions the temporal aspect but doesn't clarify use cases, exclusions, or prerequisites, leaving the agent without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_feed_itemsC
Search for content across one or more RSS feeds
| Name | Required | Description | Default |
|---|---|---|---|
| feeds | Yes | RSS feed URLs to search across | |
| query | Yes | Search query string | |
| searchIn | No | Which fields to search in | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool searches for content, but doesn't describe how results are returned (e.g., format, pagination, sorting), error handling, rate limits, or authentication needs. For a search tool with zero annotation coverage, this is a significant gap in transparency.
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?
The description is a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
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?
Given the complexity of a search operation with no annotations and no output schema, the description is incomplete. It doesn't explain what the search returns (e.g., items, metadata), how results are structured, or any behavioral aspects like performance or limitations, leaving key contextual gaps.
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 input schema has 100% description coverage, so the schema already documents all parameters thoroughly. The description doesn't add any meaning beyond what's in the schema (e.g., it doesn't explain query syntax or feed URL validation). Baseline 3 is appropriate when the schema does the heavy lifting.
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?
The description clearly states the action ('Search for content') and the resource ('across one or more RSS feeds'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'get_feed_headlines' or 'fetch_multiple_feeds' which might also involve feed content retrieval, so it doesn't reach the highest score.
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 description provides no guidance on when to use this tool versus alternatives like 'get_feed_headlines' or 'fetch_multiple_feeds'. It doesn't mention any prerequisites, exclusions, or specific contexts that would help an agent choose between similar tools, leaving the usage ambiguous.
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.
6 tool updates
v1.0.0- First observed
extract_feed_content - First observed
fetch_multiple_feeds - First observed
fetch_rss_feed - First observed
get_feed_headlines - First observed
monitor_feed_updates - First observed
search_feed_items
TDQS
Most tools have distinct purposes, but there is some overlap between 'fetch_rss_feed' and 'extract_feed_content' or 'get_feed_headlines', which could cause confusion. However, descriptions help clarify that 'fetch_rss_feed' provides full structured data, while others focus on specific aspects like headlines or formatted content.
All tool names follow a consistent verb_noun pattern with snake_case, such as 'fetch_rss_feed', 'monitor_feed_updates', and 'search_feed_items'. This predictability makes it easy for agents to understand and use the tool set without naming confusion.
With 6 tools, the server is well-scoped for RSS feed management, covering core operations like fetching, monitoring, searching, and extracting content. Each tool serves a clear purpose without being overly sparse or bloated, fitting typical use cases effectively.
The tool set covers most essential RSS operations, including fetching, monitoring, searching, and extracting content. A minor gap is the lack of subscription management or feed modification tools, but agents can still handle common workflows like reading and tracking feeds without significant issues.
Maintenance
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
Reddit MCP server: search posts, subreddit feeds, comments & user profiles as JSON. No API key.
MCP server for Google search results via SERP API
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP RSS is a Model Context Protocol (MCP) server for interacting with RSS feeds1627MIT
- AlicenseAqualityAmaintenanceAn MCP server for managing and querying RSS/news feeds, enabling real-time fetching, searching, and retrieval of feed items.5251MIT
- AlicenseAqualityAmaintenanceSecure MCP server for RSS/Atom feed reading with SQLite backend. Enables feed management, entry search, and OPML import/export.17AGPL 3.0
- AlicenseAqualityBmaintenanceLocal MCP server for reading and searching RSS and Atom feeds, enabling AI assistants to fetch feed contents, search entries by keyword, and view feed metadata without any cloud intermediary.3MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/MissionSquad/mcp-rss'
If you have feedback or need assistance with the MCP directory API, please join our Discord server