Skip to main content

Model Context Protocol server for Analog — Analog lets any AI understand websites as code, from any MCP client.

Project description

analog-mcp

A Model Context Protocol server for AnalogAnalog lets any AI understand websites as code — usable from Claude Desktop, Cursor, and anything else that speaks MCP. Webpages in, structured records out: deterministic, zero-shot, no LLMs in the extraction pipeline.

The headline tool is analog(url). Point it at a webpage; get back structured records (articles, pricing tables, product listings, etc.) already parsed into JSON. Same one-call shape as the Python SDK.

Tools

  • analog(url, pages=N) — extract a page; returns the structured JSON plus a handle. Pass pages=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) — re-open a previous result by handle, no re-fetch.
  • analog_export(handle, fmt) — re-emit it as json / csv / yaml / md.
  • analog_section(handle, index) — pull one section's records.
  • analog_find(handle, pattern, field=) — search a result's records across sections; pass field= to scope the search to one field.
  • analog_describe(handle) — a token-cheap preview of a saved result (section shapes plus sample records) for orienting without pulling the full JSON.
  • analog_feedback(...) — report a page that extracted poorly (reason labels are enumerated in the tool's schema) or send a free-form feature request.

Every analog result is saved locally, so the analog_* tools re-slice it without re-fetching or re-rendering the page.

Install

pip install analog-mcp

Or via uv:

uvx analog-mcp     # one-off
uv tool install analog-mcp

Sign in

analog-mcp installs the analog CLI alongside it. Sign in once:

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, run 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 with analog login.

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 self-contained JSON with the parsed records plus a markdown rendering of the page, which the agent can then reason over directly.

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

analog_mcp-0.7.0.tar.gz (25.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

analog_mcp-0.7.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file analog_mcp-0.7.0.tar.gz.

File metadata

  • Download URL: analog_mcp-0.7.0.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for analog_mcp-0.7.0.tar.gz
Algorithm Hash digest
SHA256 f99525e9ffffb5cb6c67f52f2a4f15fcac32a67b234a3d38ccf226bf86b2322e
MD5 2794e600d700a8e2f3c2308dfc656064
BLAKE2b-256 0c0ff9d289a3899c2e218cd4e5ab3fba9532eac66a9fd12329635b4691fe9db0

See more details on using hashes here.

Provenance

The following attestation bundles were made for analog_mcp-0.7.0.tar.gz:

Publisher: release-mcp-python.yml on getanalog/monorepo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file analog_mcp-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: analog_mcp-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for analog_mcp-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e5a805f0ee449f99c6799f8a3e91e1718582a4d338206136d15d6f137c8a6f9
MD5 da4ec5c18845345eaf203f0003a88ea4
BLAKE2b-256 03f9163ae248d91de7f42c8a95838e4dc5a3a983d0f9b367b7201934db257ef3

See more details on using hashes here.

Provenance

The following attestation bundles were made for analog_mcp-0.7.0-py3-none-any.whl:

Publisher: release-mcp-python.yml on getanalog/monorepo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page