Pocket inside Claude — paste a URL in chat, Claude saves it to a SQLite-backed reading queue, and a Prefab dashboard shows what you have to read.
| Tool | Kind | What it does |
|---|---|---|
fetch_url_metadata(url) |
internet | Fetches the page, parses <title> / <meta description> / OpenGraph tags. |
manage_reading_list(action, ...) |
local CRUD | SQLite-backed. Actions: add, list, mark_read, delete. |
render_reading_queue() |
UI | Returns a Prefab dashboard showing unread queue + recently read items + counts. |
Plus an MCP prompt template save_and_show(url) that calls all three in one go.
Save https://example.com/some-article to my reading list and show me my queue.
The agent must hit all three tools to answer.
uv sync
uv run reading-queue-mcpTest interactively with the MCP inspector:
uv run mcp dev src/reading_queue_mcp/server.pyEdit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"reading-queue": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/reading-queue-mcp", "run", "reading-queue-mcp"]
}
}
}Restart Claude Desktop.
READING_QUEUE_DB— overrides the SQLite path (default~/.reading_queue.db). Handy for tests / demos.