MCP connector for reading your own Feedly subscriptions from Claude. Local stdio server, your token stays on your machine.
Six tools with clear verb-noun naming (list_*, get_*, search_*, mark_*). All have descriptions (avg ~150 chars, within baseline 34-392). Input schemas present with type definitions and parameter descriptions. Tool annotations (readOnlyHint, destructiveHint) correctly applied. Error handling via FeedlyMcpError with structured JSON output. Main gaps: output schemas not explicitly documented in code; no pagination support for list_feeds/get_articles despite potentially large result sets; mark_read lacks confirmation/dry-run pattern for irreversible operation.
Get articles from a folder within a time window
List feeds in a folder
List the user's Feedly folders with unread counts. Folder names from here can be passed as the `folder` argument to other tools — the agent never needs to handle raw folder IDs. Do not add the unread numbers together: a feed can belong to several folders, so the sum double-counts. Use unread_counts for a real total.
Mark articles as read
Search for feeds to subscribe to
How many unread articles are waiting, in total and per folder. The total is deduplicated and is the number to trust; the per-folder figures will not sum to it. This is the cheapest useful call — one request covers the whole account.
Output schemas not documented in source code. While tools return structured JSON via toolResult(), the exact response shape (fields, types, nesting) is not visible in the provided code. LLMs cannot plan downstream calls without knowing what fields to extract.
mark_read lacks confirmation/dry-run pattern. Irreversible operations should support a confirmation step or dry-run mode to prevent accidental bulk marking. Current implementation has no safeguard against agent mistakes.
No pagination support visible for list_feeds and get_articles. If a folder contains hundreds of feeds or articles, results could exceed context window. Baseline pattern requires limit/offset and total count.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Parameter descriptions for list_feeds and search_feeds are minimal (e.g., 'Folder name or ID', 'Search query'). Should include format hints, constraints, and examples of valid input to guide LLM selection.
get_articles 'hours' parameter lacks bounds. Unbounded numeric parameters let LLMs pass absurd values (e.g., 999999 hours). Should specify min/max range (e.g., 1-8760 hours).