Skip to main content
Glama
web-mcp
by ManiaSacha

web-mcp

ci PyPI Python License: MIT

针对 AI 代理的 RSS/Atom 订阅源语义搜索——一个单文件 MCP 服务器。无需 API 密钥,无需云端,只需你选择的订阅源。

让它指向一些 RSS/Atom 订阅源,并给代理工具,按语义搜索(TF-IDF + 新鲜度加分)、查看趋势、生成摘要、监控订阅源健康——全部在本地运行,且订阅源由你控制。

web-mcp 演示

功能

  • 添加/移除/列订阅源 — 支持 RSS 2.0 和 Atom

  • 排名搜索 — TF-IDF 余弦相似度配合新度加分,纯标准库(无需嵌入,除获取订阅源本身外无需网络调用)

  • 热门话题 — 按最近文章中的高频词

  • 订阅源健康 — 标记出错、静默或过期的订阅源

  • Markdown 摘要 — 按订阅源分组的小结

  • 后台刷新 — 订阅源自动定时刷新

Related MCP server: mcp-rss-feed-searcher

安装

需要 Python 3.10+。

关于包名: 项目是 web-mcp,但 PyPI 发行包是 feed-mcp——PyPI 拒绝 web-mcp,因为它与无关的现有包 webmcp 过于相似。所以你要 pip install feed-mcp,它会同时安装 web-mcp 和 feed-mcp 命令;它们是同一个程序,用哪个都行。

选项 A — Claude Code 插件(推荐)

一键安装 MCP 服务器 以及 内置的技能和代理:

pip install feed-mcp

然后,在 Claude Code 中:

/plugin marketplace add ManiaSacha/web-mcp
/plugin install web-mcp@maniasacha-web-mcp

该插件会自动注册 web MCP 服务器,并提示输入起始订阅源列表。如果安装总结显示 Run /reload-plugins to activate.,请运行它。

必须执行 pip install 步骤:插件的 MCP 服务器会调用 web-mcp 命令,该命令由 pip 放入你的 PATH。

选项 B — 仅 MCP 服务器

pip install feed-mcp
claude mcp add web -- web-mcp --feeds https://hnrss.org/frontpage

对于 Claude Desktop,请将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "web": {
      "command": "web-mcp",
      "args": ["--feeds", "https://hnrss.org/frontpage,https://github.blog/feed/"]
    }
  }
}

选项 C — 从源码安装

git clone https://github.com/ManiaSacha/web-mcp.git
cd web-mcp
./install.sh          # Windows: .\install.ps1

安装脚本会检查你的 Python 版本、安装包,并为你打印出适合你配置的确切下一步命令。

快速开始

直接运行服务器以确认工作正常:

web-mcp --feeds https://hnrss.org/frontpage,https://github.blog/feed/

它通过 stdio 进行 MCP 通信,因此会静默等待客户端——这是正常行为,不是挂起。按 Ctrl+C 退出。

连接后,你可以向代理提问,例如:

  • “我的订阅源今天有什么热门内容?”

  • “在订阅源中搜索与 Postgres 性能相关的内容。”

  • “给我一份过去 24 小时的摘要。”

  • “我的订阅源有损坏的吗?”

内含组件

组件

名称

用途

MCP 服务器

web

下面的 9 个工具

技能

feed-curation

添加、审计和整理订阅源

技能

feed-digest

将原始工具输出转化为综合简报

代理

pm

按单文件理念界定功能范围

代理

security-reviewer

审计 SSRF/获取面

代理

git-pipeline

分支、提交和审查交接

工具

工具

说明

add_feed(url)

添加 RSS/Atom 订阅源并索引其当前文章

remove_feed(url)

移除订阅源及其索引的文章

list_feeds()

列出已配置订阅源及其文章数

search(query, limit=10, max_days=30)

带时效加权的排名搜索

recent(limit=20)

返回所有订阅源的最近文章

trending(hours=24, limit=10)

最近 N 小时内的热门词汇

digest(hours=24, limit=8)

按订阅源分组的 Markdown 摘要

source_health()

哪些订阅源健康、延迟或报错

refresh()

立即强制刷新所有订阅源

安全说明

add_feed(url) 会让服务器获取一个 URL,该 URL 可能来自网页而非你本人,因此该路径被视为不可信:

  • 协议白名单 — 仅允许 http:// 和 https://。拒绝 file://、ftp://、gopher:// 和 data:。

  • 仅限公网地址 — 除非某个 URL 解析得到的每个地址都为公网可路由,否则拒绝该 URL。环回、私有、链路本地(包括 169.298.298.169.254 云元数据端点)、组播和保留地址均被阻止,其 IPv4 映射的 IPv6 形式亦然。

  • 连接时 IP 固定 — 校验的地址即为实际拨号的地址,因此 DNS 无法在校验与连接之间给出不同解析(重绑定)。TLS 仍会根据主机名校验证书。

  • 逐跳重定向校验 — 手动跟随重定向,并在每一跳重新校验,因此公共 URL 无法通过重定向到内部主机。上限 5 跳。

  • 资源限制 —每个订阅源主体 5 MB,显式套接字超时,以及所有工具 limit 的限制。

它的两个“不”:它没有认证(它需要在本机 stdio 上运行——不要暴露在网络上),且不审查订阅源内容。被索引的文章文本由订阅源控制者决定,因此请将其视为数据,而不是指令。

完整细节(包括剩余限制)参见 docs/SECURITY-MODEL.md。若报告漏洞,请参见 SECURITY.md。

开发

pip install -e ".[dev]"
pytest              # 53 tests, no network access
ruff check .        # lint
python scripts/validate_plugin.py   # manifests, frontmatter, version sync

CI 在 Python 3.10–3.13 上运行全部这三个(Linux;macOS 和 Windows 在 3.12 上),并且额外安装构建好的 wheel,以确认控制台脚本正常。

工作流程见 CONTRIBUTING.md,版本历史见 CHANGELOG.md。

许可证

MIT

Available Tools

9 tools
add_feedA

Add an RSS/Atom feed and fetch its current articles.

NameRequiredDescriptionDefault
urlYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of explaining behavior. It discloses that the operation adds a feed and fetches its articles, indicating a state-changing action. It does not detail edge-case behaviors such as duplicate feeds, validation failures, or what happens if the fetch fails, but it is transparent about the core operation.

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?

The description is a single, direct sentence that front-loads the primary verb and object. Every word contributes meaningful information, with no filler or redundant restatement of the tool name.

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 one-parameter tool with an output schema, the description is mostly complete: it states the operation, the target resource, and the immediate fetch behavior. It could additionally mention that the feed becomes part of the user's feed list or that fetching may be synchronous, but the existing description covers the essential context.

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?

The input schema only defines 'url' with no description, and schema description coverage is 0%. The description adds that the URL should point to an RSS/Atom feed, which is helpful context beyond the bare parameter name, but it does not elaborate on URL format, protocol expectations, or validation rules.

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?

The description uses a specific verb and resource: 'Add an RSS/Atom feed and fetch its current articles.' It clearly distinguishes from siblings like remove_feed, list_feeds, and refresh by indicating this tool creates a new feed subscription and performs an initial fetch.

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 description implies the tool should be used when a user wants to add a new feed, and it contrasts implicitly with remove_feed and refresh. However, it does not explicitly state when not to use it, mention alternatives, or clarify that refresh is the appropriate tool for updating an existing feed.

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

digestB

Generate a markdown digest grouping recent articles and trending topics.

NameRequiredDescriptionDefault
hoursNo
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/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 behavioral burden. It indicates the tool generates a digest and nothing else, but it does not disclose potential side effects, dependencies on feeds, rate limits, or how content is selected. Some behavior is clear, but much is left unspecified.

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 sentence that leads with the action and output format. Every word earns its place, and there is no redundant or filler content.

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?

With an output schema present and only two optional parameters with defaults, an agent can invoke this tool with no arguments reasonably safely. However, the description omits how hours and limit interact, what 'trending topics' means, and whether the digest depends on configured feeds, leaving room for misinterpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not explain 'hours' or 'limit'. The parameter names and defaults are somewhat self-explanatory, and 'recent articles' hints at hours, but the description adds no explicit parameter semantics to compensate for the schema's lack of descriptions.

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?

The description states a clear verb ('Generate') and resource ('markdown digest grouping recent articles and trending topics'), making the tool's core function obvious. It does not explicitly compare itself with siblings like recent or trending, but the grouping and digest format distinguish it enough.

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 description implies usage: call this when you want a consolidated markdown digest of recent articles and trending topics. It does not provide explicit when-to-use versus alternatives or mention exclusions, so guidance is only implied.

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

list_feedsA

List configured feeds with article counts.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. The verb 'List' clearly signals a read-only operation, and the phrase 'with article counts' discloses key behavior about the returned data. It does not mention auth, caching, or ordering, but these are minor for a zero-parameter listing tool.

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?

The description is a single short sentence with no filler. The verb and resource are front-loaded, and every word contributes meaning ('configured feeds', 'article counts').

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 zero-parameter tool with an output schema, the description is sufficient: it names the resource and the key expected output field. It could add ordering or live-vs-cached count details, but these are not required for correct invocation.

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 has zero parameters, so the input schema is already fully complete. The description adds no parameter detail, and none is needed; this matches the baseline for no-parameter tools.

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?

The description states an explicit verb ('List') and resource ('configured feeds') and adds a useful output detail ('with article counts'). This clearly distinguishes it from siblings that operate on article content (search, recent, trending, digest) or mutate feeds (add_feed, remove_feed).

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 description implies when to use this tool: when the agent needs to see configured feeds and their article counts. However, it does not explicitly discuss when not to use it or point to alternatives such as source_health for feed status or refresh for live counts, leaving some routing to inference.

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

recentC

Most recent articles across all feeds.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must carry the behavioral disclosure burden. It only says 'across all feeds' and does not mention ordering, freshness window, pagination, or any limitations. The description adds little beyond what the tool name already implies.

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?

The description is one short, front-loaded sentence with no filler or redundant statements. It is easy to scan and gets the core idea across quickly. The brevity comes at the cost of behavioral detail, but it is appropriately concise for a simple tool.

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?

The tool is simple and has an output schema, but with no annotations and no sibling differentiation, the description is not fully complete. An agent has little guidance for choosing this over 'trending' or 'digest,' and no information about default sorting or response shape. The output schema helps fill some gaps, but the description remains under-specified for confident selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, and the description does not explain the 'limit' parameter at all. The schema provides the type and default, and the parameter name is fairly self-explanatory, but the description itself adds no parameter-level meaning. It partially compensates by being about a simple single-parameter tool.

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?

The description states that the tool returns the most recent articles and scopes it 'across all feeds,' which is clear enough to convey the basic purpose. It lacks an explicit verb like 'list' or 'get,' but the intent is unambiguous. It does not explicitly differentiate from sibling tools like search, trending, or digest.

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?

There is an implied use case: fetch the newest articles from all feeds. However, the description provides no explicit 'when to use this vs. other tools' guidance, and it does not mention alternatives such as trending or digest. The usage context is minimal and largely inferred.

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

refreshA

Force-refresh all feeds now.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses that the refresh is forced and immediate, not a scheduled or passive update. It does not detail side-effects like network load or rate limiting, but for a zero-parameter command this level of disclosure is generally sufficient.

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?

The description is a single, tight sentence that leads with the action and immediately states scope. No filler or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, an existing output schema, and no overlapping siblings, this description supplies all the context an agent needs to select and invoke the tool correctly. Anything more would be unnecessary for such a simple command.

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 input schema confirms zero parameters, so there is nothing to document. The description adds no parameter-level detail, but none is needed; baseline 4 applies.

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?

The description states a specific verb ('Force-refresh') and resource ('all feeds'), clearly identifying a manual refresh action. It is distinct from all sibling tools, which handle feed management, search, and digests, so an agent can easily understand what this tool does.

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?

The intended context is clear: use this when you want to force an immediate refresh of all feeds. No sibling tool overlaps with this action, and no exclusion is necessary. It stops short of explicitly stating when not to use it or citing alternatives, but the context is unambiguous.

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

remove_feedA

Remove a feed and all of its indexed articles.

NameRequiredDescriptionDefault
urlYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden and it explicitly discloses that the feed and all its indexed articles are removed, which is the key destructive side effect. It stops short of stating irreversibility or permission requirements, but the main behavioral risk is clearly surfaced.

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, front-loaded sentence with no filler: the subject, action, and destructive scope are all in few words. Every element 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 one-parameter destructive tool with an output schema present, the description is nearly sufficient: it defines the action and the critical cascade. It could add a note about irreversibility or URL semantics, but output formatting is already covered by the output schema and the tool complexity is low.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not compensate: it never explains that the feed is identified by URL, what URL formats are accepted, or that the parameter is required. The schema only provides the parameter name and type, so the description adds no parameter meaning.

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?

The description uses the specific verb 'Remove' with the resource 'feed' and adds the cascading effect on indexed articles, so an agent can unambiguously tell this from siblings like add_feed or list_feeds. It states a clear action and scope.

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 operation itself is self-evident: use it when a feed should no linger be present. However, the description gives no explicit when-to-use/when-not-to-use guidance, no alternatives, and no prerequisites or warnings beyond the action, so usage is implied rather than stated.

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

source_healthA

Check which feeds are healthy, late, or producing errors.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. The read-only verb 'Check' and the enumerated status categories communicate expected behavior and outcome shape. It does not elaborate on underlying mechanics (e.g., network requests), but for a zero-parameter status query this is not a critical omission.

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 front-loaded sentence with no filler. Every phrase adds semantic value, and no redundant details are included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is maximally simple: no params, no required inputs, and an output schema exists. The description is sufficient for an agent to correctly select and invoke the tool without missing context.

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?

There are zero parameters, so the schema already fully covers invocation inputs. Baseline 4 applies because there is no parameter information for the description to add.

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?

The description uses a specific verb ('Check') with a clear resource ('feeds') and defines the exact health outcomes ('healthy, late, or producing errors'). This distinguishes it from siblings like list_feeds (plain listing) and refresh (manual trigger) without ambiguity.

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?

The context is clear: call this when the agent needs feed health status rather than feed content or management. It does not explicitly name when not to use it or alternative tools, but the single-purpose phrasing leaves little ambiguity.

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. 9 tool updatesv0.2.1
    • First observedadd_feed
    • First observeddigest
    • First observedlist_feeds
    • First observedrecent
    • First observedrefresh
    • First observedremove_feed
    • First observedsearch
    • First observedsource_health
    • First observedtrending

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a clearly distinct operation: feed lifecycle management, retrieval, aggregation, health monitoring, and refresh. There is no meaningful overlap between search, recent, trending, and digest—they serve different user intents.

Naming Consistency3/5

The naming is readable but mixes conventions: some tools use verb_noun (add_feed, remove_feed, list_feeds), while others are bare verbs or nouns (search, recent, trending, digest). Also, add_feed/remove_feed use singular while list_feeds uses plural, creating minor inconsistency.

Tool Count5/5

Nine tools is well-scoped for an RSS/feed aggregator. Each tool earns its place covering management, querying, aggregation, health, and refresh without unnecessary redundancy.

Completeness4/5

The tool surface covers the core feed lifecycle (add, remove, list, refresh), retrieval (search, recent), insight (trending, digest), and maintenance (source_health). Minor gaps exist like per-feed article listing or feed URL editing, but these are not critical for the intended use.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    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
    6
    54 npm
    12
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables searching across multiple RSS feed sources simultaneously, with support for extensible feed sources and both STDIO and HTTP modes.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for managing and querying RSS/news feeds, enabling real-time fetching, searching, and retrieval of feed items.
    5
    14 npm
    1
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Secure MCP server for RSS/Atom feed reading with SQLite backend. Enables feed management, entry search, and OPML import/export.
    17
    AGPL 3.0