MCP · parse_feed
Parse web feed
Fetches and normalizes RSS 2.0, Atom 1.0, or JSON Feed into a stable item list. Use this when consuming update feeds without format-specific parsing. It does not fetch linked articles. Limit: 8 s, 5 redirects, 768 KiB, 100 items.
When to use it
Fetches and normalizes RSS 2.0, Atom 1.0, or JSON Feed into a stable item list. Use this when consuming update feeds without format-specific parsing. It does not fetch linked articles.
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 8,
"maxLength": 2048,
"description": "Absolute public HTTP or HTTPS URL without embedded credentials."
},
"max_items": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"url",
"max_items"
],
"additionalProperties": false
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ok": {
"const": true
},
"data": {
"type": "object",
"properties": {
"format": {
"enum": [
"rss",
"atom",
"json_feed"
]
},
"version": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
},
"home_page_url": {
"type": [
"string",
"null"
]
},
"feed_url": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object"
}
},
"truncated": {
"type": "boolean"
}
},
"required": [
"format",
"version",
"title",
"home_page_url",
"feed_url",
"items",
"truncated"
]
},
"meta": {
"type": "object",
"properties": {
"request_id": {
"type": "string"
},
"duration_ms": {
"type": "integer"
},
"limits": {
"type": "object"
}
},
"required": [
"request_id",
"duration_ms"
]
}
},
"required": [
"ok",
"data",
"meta"
],
"additionalProperties": false
}REST example
curl -X POST https://plainport.exportitnow.workers.dev/api/v1/parse-feed \
-H "content-type: application/json" \
-d '{"url":"https://example.com/feed.xml"}'Example result
{
"ok": true,
"data": {
"format": "rss",
"title": "Updates",
"items": [
{
"title": "Release notes",
"url": "https://example.com/release"
}
],
"truncated": false
},
"meta": {
"request_id": "018f…",
"duration_ms": 12
}
}Limit
8 s, 5 redirects, 768 KiB, 100 items