MCP server
analog-mcp exposes Analog to MCP-compatible agents. It reads the
credential the analog CLI stores, so install both tools:
uv tool install analog-sdkuv tool install analog-mcpThen connect a new account:
analog signupOr connect an existing account:
analog loginThe credential lands in the local store and the MCP server reads it from there; no key ever lands in a config file.
Configure Claude Desktop
Section titled “Configure Claude Desktop”Edit ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{ "mcpServers": { "analog": { "command": "analog-mcp" } }}Restart the client. Cursor and other stdio MCP clients configure the
same way: the server command is analog-mcp.
analog extracts a page and returns a bounded receipt with section shapes,
representative records, completeness disclosures, and a saved-result handle.
Its JSON text fallback is capped at 16,384 characters. Pass pages=N to follow
the page’s own next-page links and merge the results; each page costs one
extraction and the response discloses the total.
assess checks whether structured extraction fits the task
using measured Markdown size, task guidance, verified platform feeds, and
pagination facts. It does not require sign-in.
Every extraction is saved locally. analog_history recovers handles as cheap
metadata; analog_open returns a result in full, while analog_describe
provides a smaller preview. analog_section returns one section,
analog_collection combines compatible page areas as one dataset, and
analog_find searches saved content. analog_export changes the output format
without fetching again. analog_feedback reports a poor extraction or sends a
feature request.
analog
Section titled “analog”analog(url: string, pages: integer = 1)Static domains:
pages— 1–50.
assess
Section titled “assess”assess(url: string, probe_feed: boolean = true)analog_history
Section titled “analog_history”analog_history(limit: integer = 20)Static domains:
limit— at least 0.
analog_open
Section titled “analog_open”analog_open(handle: string)analog_export
Section titled “analog_export”analog_export(handle: string, fmt: string = "json")Static domains:
fmt— one of"json","csv","yaml","md","markdown".
analog_section
Section titled “analog_section”analog_section(handle: string, index: integer)Static domains:
index— at least 0.
analog_collection
Section titled “analog_collection”analog_collection(handle: string, index: integer)Static domains:
index— at least 0.
analog_find
Section titled “analog_find”analog_find(handle: string, pattern: string, field: string | null = null)analog_describe
Section titled “analog_describe”analog_describe(handle: string, complete: boolean = false)analog_feedback
Section titled “analog_feedback”analog_feedback(kind: string, url: string | null = null, labels: list[string] | null = null, note: string = "")Static domains:
kind— one of"extraction_quality","feature_request".labels— one of"undetected_block","under_rendered","no_records_found","poor_field_naming","misfielded_values","page_chrome_in_records","over_extraction","under_extraction","wrong_content_extracted","garbled_markdown","other".