Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
8 changes: 5 additions & 3 deletions src/mcp_feed_reader_crunchtools/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The docstring refers to list_entries to read cached content, but the actual registered tool name is list_entries_tool. Since MCP tool docstrings are directly exposed to LLMs, using the incorrect tool name can cause the LLM to fail or hallucinate when trying to call the recommended tool. Please update this to list_entries_tool.

Suggested change
Prefer the systemd timer for background updates. Use list_entries to read cached content.
Prefer the systemd timer for background updates. Use list_entries_tool 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)

Expand Down
Loading