mcp-feed-reader-crunchtools
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_feed_toolB | Add an RSS/Atom feed by URL, optionally assign to a category. |
| list_feeds_toolC | List all feeds with unread counts. |
| get_feed_toolC | Get details for a single feed including entry counts. |
| delete_feed_toolB | Remove a feed and all its entries. |
| refresh_feeds_toolA | Crawl feed sources over the network for new content. Slow — takes 30-60s for all feeds. Prefer the systemd timer for background updates. Use list_entries to read cached content. |
| list_entries_toolA | List entries with optional filters. Date-window filters apply to COALESCE(published, created_at), so entries with no publish date still fall in the window by ingest time. Use them to fetch only a trailing period instead of paging through everything. |
| read_entry_toolA | Get full content of an entry (auto-marks as read). |
| mark_read_toolC | Mark entries as read. |
| mark_unread_toolC | Mark an entry as unread. |
| search_entries_toolC | Full-text search across entry titles and content. |
| list_categories_toolA | List all categories with feed counts. |
| create_category_toolC | Create a new category. |
| rename_category_toolC | Rename a category. |
| delete_category_toolB | Delete a category. Feeds in this category become uncategorized. |
| import_opml_toolB | Import feeds from an OPML file, creating categories from outline groups. |
| export_opml_toolA | Export all feeds as OPML XML string. |
| get_stats_toolA | Get dashboard stats: total feeds, unread count, entries per category. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool targets a distinct resource and action: feed CRUD, entry listing/reading/searching, read-state toggles, category management, stats, and OPML import/export. The only minor overlap is read_entry_tool auto-marking entries as read, but its primary purpose (content retrieval) is clearly distinct from mark_read_tool's explicit state change. No two tools are confusable.
All 17 tools use consistent snake_case with a uniform verb_noun_tool pattern (e.g., add_feed_tool, delete_category_tool, list_entries_tool). The redundant '_tool' suffix is applied uniformly, so there is no mixing of conventions. The pattern is entirely predictable.
17 tools is slightly above the typical 3-15 sweet spot, but each tool serves a clear purpose in a full-featured feed reader: feed management, entry handling, category CRUD, stats, and OPML support. The set feels well-scoped rather than bloated.
The surface covers most feed-reader workflows: add/delete/list/get feeds, refresh, entry listing/reading/searching, read-state toggles, category CRUD, stats, and OPML import/export. The notable gap is an update_feed operation (e.g., changing URL, title, or category assignment); workarounds exist (delete and re-add) but lose state. This is a minor gap rather than a critical failure.