Query Mina Protocol: accounts, blocks, transactions, zkApp events/actions, archive SQL, Rosetta.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Mina MCP Server.
query_archive_sqlExecute read-only SQL against the local archive Postgres
get_archive_schemaInspect archive DB table/column metadata
get_sync_statusDB connectivity probe + basic archive stats
list_examplesDiscover canned SQL workflows (e.g. `custom_sql`)
get_accountLive state from the daemon, with archive-DB fallback
get_staking_ledgerArchive-DB reads
MCP (Model Context Protocol) server for the Mina Protocol blockchain. Exposes Mina blockchain data and operations through MCP-compatible tools that can be used by AI assistants and other MCP clients.
New here? Jump to Which mode do I want? β Connect your MCP client β Verify it works. For copy-paste prompts, see the prompt cookbook.
Status: beta / preview. Live mode talks to public Mina networks (devnet / mainnet / mesa) and needs no local infrastructure β run
npx @o1-labs/mina-mcp-server --mode live --network devnet, or point your client at the hosted sandbox. Snapshot and tutorial modes are thin MCP layers over backing services (PostgreSQL, and for tutorial a local Mina lightnet) that you must stand up yourself first β see Prerequisites. A bundled SQLite snapshot for zero-infra snapshot mode is planned (#28).
query_archive_sql, get_archive_schema) against a frozen archive Postgres dump.| You want to⦠| Mode | Infra needed |
|---|---|---|
| Query a public network (balances, blocks, zkApp events, Rosetta) | live | None β just npx. Start here. |
| Send transactions on a public network with your own keys | live + --wallets | None (keys signed in-process) |
| Develop against a controllable chain (faucet, reset, write) | tutorial | Local Mina lightnet (Prerequisites) |
| Run analytics SQL over a historical archive dump | snapshot | A Postgres archive dump (Prerequisites) |
Most people want live β it needs nothing installed beyond Node.
Local (recommended), via npx β no clone, no infra:
Swap devnet for mainnet or mesa. For other modes, change --mode (and drop --network); see Configuration.
Hosted sandbox (zero install) β point your client at the URL:
The hosted sandbox runs tutorial mode against a shared lightnet (best-effort, no SLA). Use local live mode for real networks.
Where the config lives, per client:
| Client | Config | Notes |
|---|---|---|
| Claude Desktop | claude_desktop_config.json (Settings β Developer) | command/args shape above |
| Claude Code | .mcp.json in the project, or claude mcp add | same shape |
| Cursor | ~/.cursor/mcp.json (or Settings β MCP) | same shape |
| Cline / Roo | the extension's MCP settings JSON | same shape |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | same shape |
| Continue | ~/.continue/config.json under mcpServers | same shape |
| Zed | settings.json under context_servers | Zed uses "command": { "path": "npx", "args": [...] } |
All clients except Zed take the same { command, args } object; only the file location differs. Hosted-URL configs work in any client that supports a remote/streamable-HTTP MCP server.
After wiring it up, ask your assistant:
"Describe the current Mina network state."
It should call describe_state and return a snapshot with syncStatus (e.g. SYNCED), the network name, and mempool size. That's your green light. (On mesa, expect a PREFLIGHT caveat in the hints.)
All flags have environment-variable equivalents; run npx @o1-labs/mina-mcp-server --help for the full surface.
| Flag | Env var | Values (default) |
|---|---|---|
--mode | MINA_MCP_MODE | live / tutorial / snapshot (snapshot) |
--network | MINA_MCP_NETWORK | devnet / mainnet / mesa / mesa-mut (live only) |
--transport | MINA_MCP_TRANSPORT | stdio / http (stdio) |
--wallets | MINA_MCP_WALLETS | path to wallets.json (live-write) |
--allow-mainnet-writes | MINA_MCP_ALLOW_MAINNET_WRITES=1 | opt-in gate for mainnet sends |
| (http only) | MINA_MCP_HTTP_PORT | port for --transport http (3000) |
--help, --version | β | print help / version and exit |
| Symptom | Fix |
|---|---|
npx fails / "Unsupported engine" | Needs Node β₯ 20.18. Check node --version. |
Tools return "not reachable" in tutorial/snapshot | The server does not start infra β bring up the lightnet/Postgres first (Prerequisites). |
Port already in use (tutorial lightnet) | Another lightnet/daemon is bound to 3085/8282/5432; stop it or remap ports. |
| Changes not taking effect after editing source | Re-run npm run build (the client runs dist/, not src/). |
| Hosted server: "Missing/!Unknown session id" | Your client must echo the Mcp-Session-Id header from initialize on every request β use a client that supports streamable-HTTP MCP. |
mesa data looks unstable | mesa is a preflight network β it can reset/rename without notice. Treat its data as ephemeral. |
Only needed for
tutorialandsnapshotmodes.livemode needs none of this.
Common:
Snapshot mode additionally requires:
| Component | Purpose | Default endpoint |
|---|---|---|
| PostgreSQL with Mina archive schema + data | Source of all read queries | localhost:5432 |
You can bring this up with docker-compose.snapshot.yml (ships in the repo). A snapshot dump under ./snapshots/devnet-latest β or downloaded via the compose download profile β is required.
Tutorial mode additionally requires a full local lightnet:
| Component | Purpose | Default endpoint |
|---|---|---|
| Mina Daemon GraphQL | Live chain queries, sending payments | http://localhost:3085/graphql |
| Archive-Node-API | zkApp events/actions, archive blocks | http://localhost:8282 |
| Accounts Manager | Test account faucet | http://localhost:8181 |
| PostgreSQL (archive DB) | Read queries | localhost:5432 |
All four are brought up by docker-compose.tutorial.yml. Expect ~1β2 minutes for the network to sync before tools respond correctly.
Note: if you install from npm (
npx @o1-labs/mina-mcp-server), the docker-compose files are not included in the tarball β you will need to clone this repo, or copy thedocker-compose.*.ymlfiles out of it, to start the infra.
Live mode is a thin read-only proxy that turns MCP tool calls into GraphQL/HTTP requests against the o1Labs-hosted public endpoints. There is nothing to host β run it locally next to your MCP client:
Endpoints are best-effort services without SLAs and URLs are subject to change. Networks are classified by stability tier:
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mina-mcp-server)<a href="https://allmcps.com/mcp/mina-mcp-server"><img src="https://allmcps.com/api/badge/mina-mcp-server?style=directory" alt="Mina MCP Server on AllMCPs" /></a>