Model Context Protocol server for Analog — expose webpage extraction to MCP-compatible AI agents.
Project description
analog-mcp
A Model Context Protocol server that exposes Analog's webpage-extraction engine to MCP-compatible AI agents — Claude Desktop, Cursor, and anything else that speaks MCP.
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; same
brand verb — analog is what your agent calls when it needs the
content of a page in a form it can actually reason over.
Install
pip install analog-mcp
Or via uv:
uvx analog-mcp # one-off
uv tool install analog-mcp
Configure your MCP client
You'll need an Analog API key. Get one at https://getanalog.io and
set it via the client's env block.
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",
"env": { "ANALOG_API_KEY": "ak_your_key_here" }
}
}
}
Restart Claude Desktop. The analog tool will appear in the tool list.
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.
What this version ships
analog-mcp 0.1.0 exposes a single tool — analog(url) — over the
stdio transport. That's enough to cover the bulk of "give me the
structured content of this page" use cases.
Planned for future versions:
- Additional tools for narrower queries
- SSE / streamable-HTTP transport for hosted/remote agents
- A
[fetcher]extra that wires in JS-aware fetching for pages that need browser rendering (the install path exists today; the tool surface lands next)
License
MIT — see LICENSE.
Links
- Homepage: https://getanalog.io
- Python SDK:
analog-sdkon PyPI - JS-aware fetcher:
analog-fetcheron PyPI
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file analog_mcp-0.1.0.tar.gz.
File metadata
- Download URL: analog_mcp-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f739b3ef27f7e3e71f2819dccc655d96168b44f7597dd03ae222265a2f90d34a
|
|
| MD5 |
cdf65d1e5cde3e4711ea934a2cdc45f0
|
|
| BLAKE2b-256 |
ebf858eec3a88d65e594f9ab3077a99ae890bef24d7b20cb40b57122cb3f334e
|
Provenance
The following attestation bundles were made for analog_mcp-0.1.0.tar.gz:
Publisher:
release-mcp-python.yml on getanalog/monorepo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
analog_mcp-0.1.0.tar.gz -
Subject digest:
f739b3ef27f7e3e71f2819dccc655d96168b44f7597dd03ae222265a2f90d34a - Sigstore transparency entry: 1596780996
- Sigstore integration time:
-
Permalink:
getanalog/monorepo@f5aa7db16779ce107ed1819cda88572415931528 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/getanalog
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-mcp-python.yml@f5aa7db16779ce107ed1819cda88572415931528 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file analog_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: analog_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91731ebfa43385206d6fc2755a0906b27a80bc35e0b5205a4f03ec6088d335f7
|
|
| MD5 |
259501d6f252671b9d2bfeed87a2d020
|
|
| BLAKE2b-256 |
82c9577bb22e42c53a66a0250bd23936013be90a1ae525ef291d26a98a9e9d4e
|
Provenance
The following attestation bundles were made for analog_mcp-0.1.0-py3-none-any.whl:
Publisher:
release-mcp-python.yml on getanalog/monorepo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
analog_mcp-0.1.0-py3-none-any.whl -
Subject digest:
91731ebfa43385206d6fc2755a0906b27a80bc35e0b5205a4f03ec6088d335f7 - Sigstore transparency entry: 1596781045
- Sigstore integration time:
-
Permalink:
getanalog/monorepo@f5aa7db16779ce107ed1819cda88572415931528 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/getanalog
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-mcp-python.yml@f5aa7db16779ce107ed1819cda88572415931528 -
Trigger Event:
workflow_dispatch
-
Statement type: