About feedport
feedport is a feed-reading MCP server and CLI for developers and agents that need structured data from RSS 2.0 or Atom URLs. It can return feed metadata and items or check whether a URL contains a usable feed.
Key features
- 01Fetch RSS 2.0 and Atom feeds
- 02Return feed metadata and items
- 03Fetch items with an optional limit
- 04Validate feed URLs and formats
- 05Decode XML entities and CDATA
Use cases
- 01Read feed entries without parsing XML
- 02Retrieve only a limited set of items
- 03Check whether a URL is a valid feed
MCP support
Exposes feed fetching, item retrieval, and URL validation as tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEfeedport
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.
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.