FreshRSS Agent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FRESHRSS_URL | Yes | The base URL of the FreshRSS instance (e.g., http://freshrss.arpa). | |
| FRESHRSS_USER | Yes | The FreshRSS username (GReader Email field). | |
| FRESHRSS_SSL_VERIFY | No | Whether to verify TLS certificates. | True |
| FRESHRSS_API_PASSWORD | Yes | The FreshRSS API password (Settings → Authentication). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| freshrss_ingest_itemsA | Natively ingest FreshRSS feed items into epistemic-graph as :Document nodes. Fetches a stream via the GReader API and pushes the items (title + body +
source_uri + originating feed) into the knowledge graph via the fast engine
client. Best-effort: returns |
| freshrss_ingest_subscriptionsB | Natively ingest FreshRSS subscriptions into epistemic-graph as typed nodes. Lists feed subscriptions via the GReader API and pushes them as
:FeedSubscription nodes with their :FeedCategory folders and :inCategory
links. Best-effort: returns |
| freshrss_categoriesB | List categories / tags ( |
| freshrss_item_contentsB | Fetch full contents for specific item ids (GReader |
| freshrss_labelC | Add a category label to an existing feed subscription. |
| freshrss_mark_readC | Mark one or more items as read. |
| freshrss_starC | Star or unstar an item. |
| freshrss_stream_contentsA | Fetch items for a stream.
|
| freshrss_subscribeB | Subscribe to a feed, optionally setting its title and category. |
| freshrss_subscription_listB | List all feed subscriptions. |
| freshrss_unread_countB | Return unread counts per stream. |
| freshrss_unsubscribeC | Unsubscribe from a feed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| connector-status | Ask for this connector server's current operational status. |
| feed_intelligence_specialist | FreshRSS feed-intelligence specialist: read streams, curate subscriptions, and ingest feed items into the knowledge graph over the freshrss-agent MCP server. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| _connector_status_resource | Native resource exposing this server's static status payload. |
| ontology://freshrss-mcp/feed.ttl | |
| connector-resources | Data sources, ontology mappings and resources of this connector. |
| freshrss-agent-development/SKILL.md | Develop, test, gate, and release the freshrss-agent connector. Use this skill when changing FreshRSS Reader API mappings, governed MCP tools, delegated or fixed authentication, KG ingestion, packaged content, or repository gates. |
| freshrss-agent-development/_manifest | File listing for freshrss-agent-development |
| freshrss-knowledge-ingestion/SKILL.md | Natively ingest FreshRSS data into the epistemic-graph knowledge graph via the freshrss-agent MCP server — push feed items as searchable :Document nodes (title + body + source_uri) and subscriptions as typed :FeedSubscription nodes with their :FeedCategory folders and :inCategory links. Use when the agent must build durable, queryable knowledge from feeds rather than just read them. Do NOT use for one-off reads (use freshrss-feed-reader) or feed curation (use freshrss-subscription-management). |
| freshrss-knowledge-ingestion/_manifest | File listing for freshrss-knowledge-ingestion |
| freshrss-subscription-management/SKILL.md | Curate FreshRSS feeds, categories, and item tags over the Google Reader (GReader) API via the freshrss-agent MCP server — list subscriptions and categories, subscribe/unsubscribe to feeds, label a feed into a category, and tag items (mark-read / star). Use when the agent must manage which feeds are followed, organize them into folders, or change item read/starred state. Do NOT use to read stream contents or item bodies (use freshrss-feed-reader) or to push feeds into the knowledge graph (use freshrss-knowledge-ingestion). |
| freshrss-subscription-management/_manifest | File listing for freshrss-subscription-management |
| freshrss-feed-reader/SKILL.md | Read FreshRSS streams over the Google Reader (GReader) API via the freshrss-agent MCP server — fetch stream contents for the reading-list, a single feed, or a category label, page through with a continuation cursor, pull full item bodies, and check per-stream unread counts. Use when the agent must triage what is new, fetch article bodies, or take a delta since a watermark. Do NOT use to subscribe/label/star feeds (use freshrss-subscription-management) or to push items into the knowledge graph (use freshrss-knowledge-ingestion). |
| freshrss-feed-reader/_manifest | File listing for freshrss-feed-reader |
TDQS
Scored across 12 tools
Most tools target distinct resources/actions, but there is mild overlap between freshrss_stream_contents and freshrss_item_contents (both retrieve item data) and between the two ingest_* tools. Descriptions clarify these boundaries, so misselection risk is low.
All names use a consistent freshrss_ prefix and snake_case, which is good. There is minor verb/noun mixing (verb-first like mark_read/subscribe vs noun-first like categories/subscription_list), but it remains readable and predictable.
12 tools is well-scoped for a FreshRSS integration, covering reading, subscription management, and graph ingestion without bloating. Each tool appears to earn its place.
Coverage is solid: subscribe/unsubscribe/list, read fetches, mark_read, star, label, categories, unread counts, and ingestion. Minor gaps like mark-unread, delete, or search operations exist but are workaroundable.