{
  "markdown": "# gnomcp\n\n[![Release](https://img.shields.io/github/v/release/gnoverse/gno-mcp?sort=semver)](https://github.com/gnoverse/gno-mcp/releases/latest)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)\n[![Container](https://img.shields.io/badge/ghcr.io-gnoverse%2Fgnomcp-2496ED?logo=docker&logoColor=white)](https://github.com/gnoverse/gno-mcp/pkgs/container/gnomcp)\n\n> MCP server + agent skill for [gno.land](https://gno.land).\n\n`gnomcp` connects gno.land to any MCP client (Claude Code, Claude Desktop, Cursor, Gemini CLI, OpenCode, …): read realms, evaluate expressions, inspect accounts, manage testnet keys, and simulate or broadcast transactions.\n\n- **MCP server** — the tools to read and write gno.land from your agent, with safety built in.\n- **`gno` skill** — the knowledge layer for coding agents: interrealm semantics, security taxonomy, idiomatic patterns, `Render()` conventions, stdlib surface.\n\n> [!WARNING]\n> **Work in progress — unaudited and pre-release.**\n>\n> - The tool API can still change, and the session write path will be reworked.\n> - Writes are confined to dev/testnet — no code path signs on mainnet or betanet.\n> - Upgrading isn't guaranteed to preserve your configuration: re-running the installer rebuilds the MCP registration.\n>\n> Read [docs/security.md](docs/security.md) and file issues when something looks off.\n\n## Install\n\nOne command installs everything — the server **binary** and the **plugin** (skills + agents). It downloads the binary into `~/.local/bin` (verifying the checksum) and wires up the clients it can: Claude Code, Gemini CLI, and Codex automatically, OpenCode with printed steps.\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/gnoverse/gno-mcp/main/scripts/install.sh | sh\n```\n\nThis runs a script from the internet on your machine — read [the script](scripts/install.sh) first.\n\nWhen it finishes, restart your editor or agent so it loads gnomcp.\n\nTo upgrade later, run the same command again: it moves the binary to the newest release, and refreshes the plugin for Claude Code and Gemini CLI. Codex and OpenCode manage the plugin themselves — see [docs/gnomcp.md](docs/gnomcp.md#install).\n\nOther clients (Cursor, Claude Desktop, …), manual install, building from source, and Docker → **[docs/gnomcp.md](docs/gnomcp.md#install)**.\n\n## What you can do\n\ngnomcp ships pointed at the public testnet and a local gnodev node — nothing to configure:\n\n| Profile | Chain-id | RPC |\n|---------|----------|-----|\n| `testnet` | `pearl-1` | `https://rpc.pearl.testnets.gno.land:443` |\n| `local` | `dev` | `http://127.0.0.1:26657` (local [gnodev](https://docs.gno.land/builders/local-dev-with-gnodev) node) |\n| `sapphire` | `sapphire-1` | `https://rpc.sapphire.testnets.gno.land:443` (sunset predecessor — still writable) |\n\nThen talk to your agent in plain language. New to gno.land? Just ask it to teach you — it gauges your background and gives you a hands-on tour (the `gno-onboard` skill). Otherwise:\n\n### Explore a chain\n\n> *\"Which chain is this, is the node live, and what realms exist under gno.land/r/test? Show me what the counter realm renders.\"*\n\nReads live state — node status, the realm catalog, account balances, a realm's source and rendered page — grounded in real queries, never guessed. Works immediately, on any chain.\n\n### Build and deploy a realm — `gno-build`\n\n> *\"Deploy a check-in board at gno.land/r/test/checkin: anyone can check in, it records their address, and reading it back lists everyone so far. Then check in yourself.\"*\n\nYour agent writes the realm, tests it locally, runs a security pass, then — once you pick where it runs — funds a key from the faucet, deploys, and makes a real call to prove it works. You get working on-chain code and the transaction that proves it.\n\n### Audit a realm before you trust it — `gno-audit`\n\n> *\"Give me a formal security audit of gno.land/r/test/vault before I route user data through it.\"*\n\nFetches the on-chain source (read-only — works on mainnet too) and returns an evidence-backed report: findings with quoted lines and severity, plus an honest note on what it did and didn't check. Nothing is mutated.\n\n### Debug a failed transaction — `gno-debug`\n\n> *\"My transaction failed with insufficient_funds — what happened?\"*\n\nClassifies the error, reproduces it cheaply without broadcasting, applies the fix, and re-runs to prove it works — telling you which identity signed each attempt.\n\n### Act as yourself, safely — sessions\n\n> *\"From now on write as my account g1… , not your own key. Bump the counter at gno.land/r/test/counter as me.\"*\n\nYour agent proposes a scoped session and hands you a `gnokey` command to authorize on your own machine — it never touches your keys. Once you approve, it writes as you, within the limits you set, and tells you exactly how to revoke.\n\nUnder all of these, the `gno` skill gives your agent the language, idioms, and security model; the workflows above build on it. Skill authoring → [docs/skills.md](docs/skills.md).\n\n## Tools\n\n25 tools, grouped by what they touch:\n\n- **Chain reads** — render realms, evaluate expressions, read packages, inspect accounts and status. Work immediately.\n- **Indexer reads** — list realms, deploy and transaction history, on-chain activity. Need a profile with an indexer URL.\n- **Writes** — call functions, run code, deploy packages. Need a funded agent key or an active session.\n- **Sessions & keys** — propose and revoke user sessions; generate, list, fund, delete agent keys, and transfer ugnot between a profile's own keys.\n\nFull catalog → [docs/tools.md](docs/tools.md).\n\n## Configuration\n\ngnomcp can reach any gno.land chain. Dev and testnet chains are read/write; mainnet and betanet are read-only — inspect and audit deployed code, but no signing on real-funds chains.\n\nBeyond the built-in `testnet` and `local` defaults, save the chains you use as named **profiles** with `gnomcp profile add` (written to `profiles.toml`), so gnomcp remembers them between runs. A profile can also carry an indexer URL, or a master address for user-session writes (dev/testnet only).\n\nProfile fields and the signing model → [Configuration](docs/gnomcp.md#configuration) · [Write authorization](docs/gnomcp.md#write-authorization).\n\n## Security\n\n- **Keys stay in `gnokey`** — gnomcp never sees a mnemonic; the user signs sessions on their own machine.\n- **No signing on real-funds chains** — writes are gated to dev/testnet; mainnet and betanet are read-only.\n- **Chain output can't hijack the agent** — every chain-derived byte is wrapped in an untrusted-content envelope.\n- **Bounded reads** — output is budgeted and summarized, never silently truncated.\n- **Every write is logged** — an append-only audit trail of the tool, profile, result, and signer.\n- **Structured errors** — machine-routable codes and recovery hints, so the agent fails forward.\n\nFull posture and threat model → [docs/security.md](docs/security.md).\n\n## Development\n\n```bash\nmake test                # Unit tests (no network)\nmake test-integration    # In-process node + live tests (build tag: integration)\nmake lint                # go vet + gofmt -l\nmake build               # bin/gnomcp\nmake dev                 # go run ./cmd/gnomcp (starts MCP server)\n```\n\nBuilt against the official MCP Go SDK (`github.com/modelcontextprotocol/go-sdk`) and `github.com/gnolang/gno/gno.land/pkg/gnoclient` for chain RPC. Testing: see [`test/README.md`](test/README.md) for the four test layers (unit / integration / agent e2e / manual).\n\n## Roadmap\n\n- Thin the skills toward the [gnolang/gno](https://github.com/gnolang/gno) monorepo as the single source of truth, less hand-distilled content\n- Docker as the canonical deployment\n- a2a serve mode (agent-to-agent realm bridge)\n- External security audit before any \"stable\" claim\n\n## License\n\nApache-2.0. See [LICENSE](LICENSE).\n",
  "bytes": 7843,
  "sha": "27b82c9a5004d89d8cac73302d9c46bcf830b150f25ce3d6355448599fceea2d",
  "repo_slug": "gnoverse/gno-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_gnoverse_gno_mcp_a245d7c3/readme"
}