brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
readwise-mcpSet up, OAuth-authenticate, and use the Readwise MCP server (mcp2.readwise.io/mcp) via the mcporter CLI. Use when a user asks to connect/auth Readwise MCP, reset or troubleshoot OAuth login (stale redirect ports, invalid state), verify the connection, or run Readwise tools through mcporter.
Independent GitHub snapshot · Automated classification · Original documentation governs
This skill is intentionally kept short.
High-level workflows live in: skills/readwise-mcp/RECIPES.md.
command -v mcporter && mcporter --version
Ensure you’re in the Clawdbot workspace root where config/mcporter.json lives.
# Add the server to the *project* config
mcporter config add readwise https://mcp2.readwise.io/mcp \
--auth oauth \
--description "Readwise MCP"
# Start OAuth login (will open a browser)
mcporter auth readwise --reset
mcporter list readwise --output json
mcporter call readwise.reader_list_tags --args '{}' --output json
Cause: you approved in a stale browser tab (old auth attempt / old port).
Fix:
mcporter auth readwise --reset
Cause: browser session reuse.
Fix:
You must land on:
http://127.0.0.1:<PORT>/callback?code=...&state=...
If the redirect hits a different port, mcporter will keep waiting.
To find the expected port:
cat ~/.mcporter/credentials.json
Look for redirect_uris and ensure the browser redirect matches exactly.
General pattern:
mcporter call readwise.<tool_name> --args '{...}' --output json
Notes:
--args must be valid JSON (prefer single quotes in shell).new = inbox, later, shortlist, archive, feed (RSS only).readwise_search_highlights — search highlights (vector + optional field filters)reader_search_documents — search Reader documents (hybrid search)reader_create_document — save a URL or HTML into Readerreader_list_documents — list newest documents (and paginate)reader_get_document_details — fetch a document’s full Markdown contentreader_get_document_highlights — fetch highlights for a documentreader_list_tags — list tag namesreader_add_tags_to_document / reader_remove_tags_from_documentreader_add_tags_to_highlight / reader_remove_tags_from_highlightreader_set_document_notes / reader_set_highlight_notesreader_move_document — move between inbox/later/shortlist/archivereader_edit_document_metadata — edit metadata (including seen)reader_export_documents — export Reader docs as a ZIPmcporter call readwise.readwise_search_highlights \
--args '{"vector_search_term":"incentives", "limit": 10}' \
--output json
mcporter call readwise.reader_search_documents \
--args '{"query":"MCP", "limit": 10}' \
--output json
mcporter call readwise.reader_list_documents \
--args '{
"limit": 10,
"location": "new",
"response_fields":["title","author","url","category","location","created_at","tags"]
}' \
--output json
mcporter call readwise.reader_get_document_details \
--args '{"document_id":"<id>"}' \
--output json
See: skills/readwise-mcp/RECIPES.md
Recipe names:
Readwise supports a shortlist location, but many people use it differently.
Default assumption (most users): inbox / later / archive
shortlist tag AND move the doc to later.Alternative setup: later / shortlist / archive
shortlist.So: before applying any shortlisting action, confirm which setup the user uses. If unknown, assume the default (tag + move to later).
When a workflow proposes writes (tagging, moving, setting notes/seen), default to: