analog-mcp
A Model Context Protocol server for Analog — Analog lets any AI understand websites as code — usable from Claude Desktop, Cursor, and anything else that speaks MCP. Analog is a web interface built for AIs. It converts webpages into the things they contain — products, articles, events, and other records — so AIs can query, compare, export, and use them directly. The extraction pipeline contains no LLMs.
For URL acquisition, pages are rendered in a browser on your machine by default. The built-in
browser starts a fresh session and does not use your browser profile, cookies,
or saved credentials. For structured extraction, the rendered page content and
its URL are sent to Analog. Results return to the SDK and are saved locally
unless disabled. Signed-in page content is sent only when you explicitly supply it.
mode="local" converts the page
to Markdown on your machine and sends nothing to Analog.
This server is Analog for MCP clients. Agents with shell access can
use the analog command-line app
directly — the same extraction and saved-result workflow as shell
commands, no configuration required.
The headline tool is analog(url). Point it at a webpage; get back a bounded
receipt with section shapes, representative records, completeness disclosures,
and a handle for the saved result. Its JSON text fallback never exceeds 16,384
characters; structured content carries the same receipt.
analog and analog_describe accept guidance: true to add at most one
available next action. Guidance is off by default and changes no evidence
or capture settings. The receipt includes advice only when it fits after
the selected evidence; necessary recovery remains visible either way.
Tools
analog(url, pages=N)— extract a page; returns a bounded orientation receipt plus ahandle. Passpages=N(max 50) to follow the site's own next-page links and merge up to N pages into one result (each page costs one extraction; the sweep is disclosed on the response).assess(url)— check which tool fits a page for your task: the page's measured markdown size plus task-keyed guidance (working with the data → analog; one quick question → read it directly; a platform data feed spotted → worth knowing), so you route a page without spending an extraction. No sign-in required.analog_history(limit=N)— list saved results, newest first, as cheap metadata (handle, url, when saved, size) to recover a handle you no longer have in context.analog_open(handle)— return a previous result in full, no re-fetch.analog_export(handle, fmt)— re-emit it asjson/csv/yaml/md.analog_section(handle, index)— pull one section's records.analog_collection(handle, index)— query compatible physical sections as one identity-deduplicated records view while retaining their provenance.analog_find(handle, pattern, field=)— search a result's records across sections; passfield=to scope the search to one field.analog_describe(handle)— a token-cheap preview of a saved result (section shapes and field metadata) when page orientation is useful.analog_feedback(...)— report a page that extracted poorly (reason labels are enumerated in the tool's schema) or send a free-form feature request.
When saving succeeds, the analog_* tools re-slice the saved result
without re-fetching or re-rendering the page. A failed save leaves the
bounded receipt available and reports that no saved handle can be used.
JSON-shaped tools expose navigable MCP structured content and an equivalent text fallback. Format exports, previews, and feedback confirmations remain text-only.
Install
The server reads the credential stored by the analog CLI (it ships
with analog-sdk), so install both tools:
uv tool install analog-sdk
uv tool install analog-mcp
Prefer pip? pip install analog-mcp in one environment puts both
executables on PATH. uvx analog-mcp runs the server one-off, but
signing in still needs the CLI installed.
Sign in
Connect a new account:
analog signup
Or connect an existing account:
analog login
This opens your browser, signs you in, and stores the key in the
CLI's local credential store — analog-mcp reads it from there, so no
key ever lands in an MCP config file.
Analog renders pages with a built-in headless browser that downloads on
first use (~150 MB, one-time). To fetch it ahead of time so the first
analog tool call doesn't pause:
analog browser install
Configure your MCP client
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 Claude Desktop. The analog tool will appear in the tool list.
No env block is needed — analog-mcp reads the credential you stored
during sign-in.
Cursor / other MCP clients
Same idea — the server command is analog-mcp and it speaks stdio.
Refer to your client's MCP configuration docs for the exact file
location.
Usage
Once configured, just ask the agent things like:
Extract the speakers from https://example-conference.com/2026
The agent calls analog(url=…) under the hood. The tool returns
a bounded receipt with representative records and a saved-result handle.
The agent can answer from that receipt or use the handle to request the
complete result, one section, a search, or another format without fetching
the page again.
Full documentation: https://getanalog.io/docs
What this version ships
analog-mcp exposes the extraction tool analog(url), a local routing
check assess(url), and the analog_* re-slice tools, over the stdio
transport.
License
MIT — see LICENSE.
Links
- Homepage: https://getanalog.io
- Command-line app and Python SDK:
analog-sdkon PyPI
Metadata
Release files for analog-mcp 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| analog_mcp-0.11.0.tar.gz | 48.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| analog_mcp-0.11.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.7 kB
Release files / analog_mcp-0.11.0.tar.gz
| Download URL | analog_mcp-0.11.0.tar.gz |
|---|---|
| Size | 48.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95fa6a0f0553f647311b6876f0b9130efc9f66f5552505f5de04700f295b0813
|
|
BLAKE2b-256 checksum How to use checksums |
c318b7b53ecfe1cd3eadbd553717c1d12f57ee3697ac0e459035844512c6f1a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / analog_mcp-0.11.0-py3-none-any.whl
| Download URL | analog_mcp-0.11.0-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
98f2d89ebcb0b5974a11e015ae68eec1f4322c58c4610c47fa250b42a2570761
|
|
BLAKE2b-256 checksum How to use checksums |
beb7d48102e573ba395c74652b645525c9e496a3115fd2b37211b38dfa4e338b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log