Skip to main content
Glama

feedport

feedport reads web feeds for you. Give it the address of an RSS 2.0 or Atom document and it hands back the feed's title, link and description plus a clean list of its items — titles, links, descriptions, dates and ids — without you having to look at raw XML. It can also check an address first and tell you whether what lives there really is a feed.

Install

npx @reneturcios/feedport validate-feed https://example.com/feed.xml

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/feedport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

Related MCP server: RSS MCP Server

CLI

All commands print JSON.

# Whole feed: channel metadata plus items
feedport fetch-feed https://example.com/feed.xml

# Just the items, at most five of them
feedport fetch-feed-items https://example.com/feed.xml --limit 5

# Is this address actually a feed?
feedport validate-feed https://example.com/feed.xml
# {"valid": true, "format": "rss", "item_count": 12}

feedport --version

Exit codes: 0 on success, 1 when a feed cannot be fetched or parsed (the error names the problem), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/feedport mcp

MCP client configuration:

{
  "mcpServers": {
    "feedport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/feedport", "mcp"]
    }
  }
}

Tools

Tool

Input

What it returns

fetch_feed

url (string, required), limit (integer, optional)

The feed's title, link and description, plus items — each with title, link, and description, pubDate and guid when the document carries them.

fetch_feed_items

url (string, required), limit (integer, optional)

Only the item list, in the same shape as fetch_feed's items.

validate_feed

url (string, required)

valid, the detected format (rss, atom or unknown), the item_count, and an error string when the address is not a usable feed.

RSS 2.0 items come from <item> elements and Atom entries from <entry> elements; for Atom, an entry's summary (or content) becomes its description, its published (or updated) date becomes pubDate, and its id becomes guid. CDATA sections and XML entities are decoded.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables language models to fetch and parse standard RSS/Atom feeds and RSSHub content, with multi-instance support to improve retrieval success rates.
    1
    26 npm
    35
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with RSS readers that support the FreshRSS API through natural language. Allows users to manage and query their RSS feeds and articles via LLM conversations.
    7
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides tools to list, read, and fetch RSS/Atom feeds, with curated categories and robust fetching capabilities.
    2 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to browse and read curated software-development feeds, fetch any RSS/Atom/RDF feed via URL, and filter items by keywords.
    254 npm
    MIT