Supabase
Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.
Description from the maker (original English)
Query Mina Protocol: accounts, blocks, transactions, zkApp events/actions, archive SQL, Rosetta.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"mina": {
"command": "npx",
"args": [
"-y",
"@o1-labs/mina-mcp-server",
"--mode",
"live",
"--network",
"devnet"
]
}
}
}Run this in your terminal
claude mcp add mina -- npx -y @o1-labs/mina-mcp-server --mode live --network devnetPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mina": {
"command": "npx",
"args": [
"-y",
"@o1-labs/mina-mcp-server",
"--mode",
"live",
"--network",
"devnet"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"mina": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@o1-labs/mina-mcp-server",
"--mode",
"live",
"--network",
"devnet"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account MinaProtocol, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.7.3) reached the registry 5 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Supabase, MongoDB MCP Server, Elasticsearch MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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:
{
"mcpServers": { "mina": { "command": "npx", "args": ["-y", "@o1-labs/mina-mcp-server", "--mode", "live", "--network", "devnet"] } } }
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:
{ "mcpServers": { "mina": { "url": "https://mina-mcp-sandbox.fly.dev/mcp" } } }
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.
$ mina-mcp-server --help
USAGE mina-mcp-server [--mode ] [options]
MODES live Read-only proxy to a public network. No local infra. (use --network) tutorial Read+write against a local Mina lightnet (daemon + archive + faucet). snapshot Schema-only SQL access against a frozen archive Postgres dump. (default)
| 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 `tutorial` and `snapshot` modes. `live` mode 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.
# Install dependencies
npm install
npm run build
SNAPSHOT_DIR=./snapshots/devnet-latest docker compose -f docker-compose.snapshot.yml up -d
docker compose -f docker-compose.snapshot.yml --profile download up -d
docker compose -f docker-compose.tutorial.yml up -d
MINA_MCP_MODE=snapshot npm start # or MINA_MCP_MODE=tutorial npm start # or npm start -- --mode live --network devnet # no Postgres / lightnet needed
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:
npm start -- --mode live --network devnet # or mainnet, mesa
MINA_MCP_MODE=live MINA_MCP_NETWORK=devnet npm start
Endpoints are best-effort services without SLAs and URLs are subject to change. Networks are classified by stability tier:
| Network | Stability | What it means |
|---|---|---|
devnet | stable | Long-lived dev network. Expected to stick around. |
mainnet | stable | Production. Expected to stick around. |
mesa | preflight | Preview/staging network. May be reset, renamed, or retired without notice. Endpoints, archive-dump filenames, and even the network identity itself are not guaranteed stable. |
mesa-mut | preflight | Mesa Upgrade Test — a fork of mainnet state for rehearsing the Mesa hardfork. Tied to the upgrade rehearsal; will be reset/retired without notice. Genesis is a mainnet-state fork, but the daemon reports networkID mina:testnet (testnet signature schema). No Rosetta endpoint, no faucet, and no published archive dump (snapshot mode unavailable). |
When a LiveProvider is constructed against a preflight network, the server emits a [WARN] Network ' ' is a PREFLIGHT network… line at startup and prepends a PREFLIGHT hint to describe_state's hints[] — so any LLM consuming the output sees the caveat before reasoning about the data. If you build downstream automation against a preflight network, treat any data you gather as ephemeral and have a fallback to a stable network.
When a live-mode network has a Rosetta endpoint configured (devnet, mainnet, and mesa do today; mesa-mut does not), the server registers five Rosetta Data API tools alongside the daemon/archive ones. On a network without a Rosetta endpoint the rosetta_* tools are not registered at all, so the advertised tool list reflects what the network can actually do. These return responses in standardized Rosetta format — useful for LLMs and integrations that already speak Rosetta:
| Tool | Rosetta endpoint | Use |
|---|---|---|
rosetta_status | POST /network/status | Current / genesis / oldest block, sync state |
rosetta_account | POST /account/balance | Balance for an address, optionally at a specific block |
rosetta_block | POST /block | Full block (with operations) by index or hash |
| rosetta_mempool | POST /mempool | Pending tran
Only the beginning is shown; read the rest in the repo