diff --git a/CLAUDE.md b/CLAUDE.md index 0923332..e7ff28d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,7 +16,7 @@ uv run mcp-feed-reader-crunchtools ## Tools (17) ### Feed Management (5) -- add_feed_tool, list_feeds_tool, get_feed_tool, delete_feed_tool, fetch_feeds_tool +- add_feed_tool, list_feeds_tool, get_feed_tool, delete_feed_tool, refresh_feeds_tool ### Entry Management (5) - list_entries_tool, read_entry_tool, mark_read_tool, mark_unread_tool, search_entries_tool diff --git a/README.md b/README.md index 5115836..de06061 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ podman run -v feedreader-data:/data quay.io/crunchtools/mcp-feed-reader - `list_feeds_tool` — List all feeds with unread counts - `get_feed_tool` — Get feed details - `delete_feed_tool` — Remove a feed -- `fetch_feeds_tool` — Fetch new entries +- `refresh_feeds_tool` — Crawl feed sources for new content (slow, prefer systemd timer) ### Entry Management - `list_entries_tool` — List entries (filterable, paginated) diff --git a/src/mcp_feed_reader_crunchtools/server.py b/src/mcp_feed_reader_crunchtools/server.py index dde94fc..43485f6 100644 --- a/src/mcp_feed_reader_crunchtools/server.py +++ b/src/mcp_feed_reader_crunchtools/server.py @@ -82,11 +82,13 @@ async def delete_feed_tool(feed_id: int) -> str: @mcp.tool() -async def fetch_feeds_tool(feed_id: int | None = None) -> str: - """Fetch new entries for all feeds or a specific feed. +async def refresh_feeds_tool(feed_id: int | None = None) -> str: + """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. Args: - feed_id: Specific feed ID to fetch (optional, fetches all if omitted) + feed_id: Specific feed ID to refresh (optional, refreshes all if omitted) """ return await fetch_feeds(feed_id)