MCP server for the Mina Protocol blockchain that exposes blockchain data and operations to MCP clients. It can run in live read-only mode against public Mina networks, tutorial mode against a local lightnet, or snapshot mode for archive SQL queries.
From the registry: Query Mina Protocol: accounts, blocks, transactions, zkApp events/actions, archive SQL, Rosetta.
Please install the `mina-mcp-server` MCP server into my current AI client (that's you).
Required prerequisites (do these first if not already done):
- **Install Node.js 20.18 or newer** — Required to run the server via npx. Live mode only needs Node; tutorial and snapshot modes also need local backing services. (https://nodejs.org/)
Optional prerequisites:
- Install Docker and Docker Compose — Only required for tutorial and snapshot modes, which depend on local backing services such as PostgreSQL and Mina lightnet components.
- Obtain or start backing services for snapshot mode — Snapshot mode requires a PostgreSQL database populated with Mina archive schema and data. The README notes you may need the repo's docker-compose.snapshot.yml because npm tarballs do not include compose files.
- Obtain or start backing services for tutorial mode — Tutorial mode requires a local Mina lightnet stack: Mina Daemon GraphQL, Archive-Node-API, Accounts Manager, and PostgreSQL. The README notes you may need the repo's docker-compose.tutorial.yml because npm tarballs do not include compose files.
Canonical MCP server config (stdio transport):
- command: `npx`
- args: ["-y","@o1-labs/mina-mcp-server","--mode","live","--network","devnet"]
- required environment variables:
- `MINA_MCP_NETWORK`: Mina network to target in live mode. (example: `<devnet|mainnet|mesa|mesa-mut>`)
- optional environment variables:
- `MINA_MCP_MODE`: Server mode: live, tutorial, or snapshot. Practical default config should set this to live for zero-infra usage. (example: `live`)
- `MINA_MCP_TRANSPORT`: Transport to use. Default is stdio. (example: `stdio`)
- `MINA_MCP_WALLETS`: Path to wallets.json to enable live write mode with client-side signing. (example: `<path-to-wallets.json>`)
- `MINA_MCP_ALLOW_MAINNET_WRITES`: Must be set to 1 to allow live-write mode against mainnet. (example: `1`)
- `MINA_MCP_HTTP_PORT`: Port to listen on when using HTTP transport instead of stdio. (example: `<port>`)
- `ARCHIVE_DB_HOST`: Archive PostgreSQL host for snapshot or tutorial modes. (example: `<archive-db-host>`)
- `ARCHIVE_DB_PORT`: Archive PostgreSQL port for snapshot or tutorial modes. (example: `<archive-db-port>`)
- `MINA_GRAPHQL_ENDPOINT`: Mina daemon GraphQL endpoint for tutorial mode. (example: `<mina-graphql-endpoint>`)
- `ARCHIVE_API_ENDPOINT`: Archive-Node-API endpoint for tutorial mode. (example: `<archive-api-endpoint>`)
- `ACCOUNTS_MANAGER_ENDPOINT`: Accounts Manager endpoint for tutorial mode. (example: `<accounts-manager-endpoint>`)
Note: Preferred install path is local stdio via npx. Simplest recommended config is live mode with --network devnet. The server also supports HTTP transport via --transport http / MINA_MCP_TRANSPORT=http, and the README shows a hosted remote endpoint at https://mina-mcp-sandbox.fly.dev/mcp, but the canonical repeatable local install path is stdio. For tutorial and snapshot modes, change --mode accordingly and omit --network, but ensure the required local infrastructure is running first.
Add this MCP server to my current client's config in the correct format for you. If you need secrets or credentials I haven't provided, ASK me — do not invent values or leave raw placeholders. After adding it, tell me how to verify the server is connected.MINA_MCP_MODESelects the operating mode: live, tutorial, or snapshot.MINA_MCP_NETWORKChooses the live network: devnet, mainnet, mesa, or mesa-mut.MINA_MCP_TRANSPORTSelects the transport: stdio or http.MINA_MCP_WALLETSPath to wallets.json for live-write access with user keys.MINA_MCP_ALLOW_MAINNET_WRITESOpt-in gate to allow sending transactions on mainnet.MINA_MCP_HTTP_PORTPort to use when running with HTTP transport.Meta Ads MCP (Facebook + Instagram) - analyze performance, manage budgets, pause campaigns.