Put your agent on gno.land
gnomcp connects gno.land to anything that speaks MCP. Once it's installed you talk to your agent in plain language, and it reads realms, checks accounts, deploys code, and sends transactions on testnet chains.
$ curl -fsSL https://raw.githubusercontent.com/gnoverse/gno-mcp/main/scripts/install.sh | sh
Pipes a script into your shell. Read it first ↗
One server, one skill
Everything on gno.land is readable Go-like source with transparent state, so an agent can read a realm the way it reads any codebase. What was missing was a safe way to let it act. gnomcp adds that part.
The MCP server
Live chain queries, writes, and an agent key of its own to sign with. It ships pointed at the public testnet and a local gnodev node, so there is nothing to configure, and any other gno.land chain is one profile away.
The gno skill
Teaches your agent where Gno differs from Go: interrealm semantics, the security taxonomy, Render() conventions, the stdlib surface. So it stops guessing from Go or Solidity habits.
Talk to it in plain language
No tool names to memorize. Describe what you want, and the answers come back grounded in real chain queries, not guesses.
Explore a chain
built-inWhich chain is this, is the node live, and what realms exist under gno.land/r/gnoland? Show me what the blog renders.
Ask what realms exist, what they render, and what an account holds. Live reads work on any chain, right after install.
Build & deploy a realm
gno-buildDeploy a check-in board: anyone can check in, it records their address, and reading it back lists everyone so far. Then check in yourself.
The agent writes the realm, tests it locally, does a security pass, funds a key from the faucet, deploys, and calls it to prove it works.
Audit before you trust
gno-auditGive me a formal security audit of gno.land/r/gnoland/wugnot before I deposit into it.
Read-only, and it works on mainnet too. Findings come back with quoted source and severity, plus an honest note on what it didn't check.
Debug a failed transaction
gno-debugMy transaction failed with insufficient_funds. What happened?
Classifies the error, reproduces it cheaply without broadcasting, applies the fix, and re-runs to prove it. It tells you which identity signed each attempt.
Act as yourself, safely
Want writes under your own address? The agent proposes a scoped session and hands you a gnokey command to sign on your own machine. It never touches your keys. Once approved it writes as you, within the limits you set, and revoking takes one command.
25 tools, grouped by what they touch
Chain reads
Render realms, evaluate expressions, read packages, inspect accounts and node status.
Work immediatelyIndexer reads
List realms, deployment and transaction history, on-chain activity.
Indexer URLWrites
Call functions, run code, deploy packages, sign the CLA. Every result names its signer.
Agent key or sessionConnect & configure
Discover a chain from its gnoweb URL and add it as an in-session profile.
A gnoweb URLSessions & keys
Propose and revoke user sessions; generate, list, fund, and manage the agent's own keys.
Your signature for sessionsgno_rendergno_readgno_evalgno_packagesgno_accountgno_statusgno_connectgno_profile_addgno_listgno_historygno_activitygno_session_proposegno_session_revokegno_auth_statusgno_callgno_rungno_addpkggno_cla_infogno_cla_signgno_key_addressgno_key_listgno_key_generategno_key_deletegno_key_sendgno_faucet_fund
Full catalog with arguments and return shapes → docs/tools.md
Safe by architecture, not by promise
An agent with chain access is a sharp tool, so the guarantees are structural. They live in code paths, not in a policy document.
Your keys stay in gnokey
The agent signs with its own key. Acting as you goes through an authorization you sign yourself.
No signing on real-funds chains
The mainnet write path does not exist in the code. Mainnet and betanet stay read-only.
Chain output is data, not instructions
Everything read from the chain is wrapped as untrusted content, so a malicious realm can't steer the agent.
Bounded reads
Output is budgeted and summarized, never silently truncated.
Every write is logged
An append-only trail records the tool, the profile, the result, and which account signed.
Structured errors
Machine-routable codes and recovery hints, so the agent fails forward.
Work in progress, unaudited, and the tool API can still change. Writes only work on dev and testnet chains. Read docs/security.md and file issues when something looks off.
Install it, then just ask
One command installs the server binary and the agent skills. It verifies the checksum and wires up the clients it can.
Install
This pipes a script from the internet into your shell, so read it first. Claude Code, Gemini CLI, and Codex are wired automatically; OpenCode gets printed steps.
Restart your agent
So it loads gnomcp. You get two profiles out of the box: the public gno.land testnet and a local gnodev node.
Ask
New to gno.land? Ask your agent to teach you instead. It will walk you through a hands-on tour. Otherwise just describe what you want on chain.