GnoPulse MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GNOTX_BIN | No | Use your own gnotx build. Defaults to the bundled binary. | |
| GNO_CHAIN_ID | No | Chain ID, also passed to the signer by the launcher. | gnoland-1 |
| GNO_RPC_URLS | No | Comma-separated RPC endpoints, tried in order. Defaults to public gnoland-1 RPCs. | |
| GNOPULSE_SIGNER | No | Signer mode. Options: user-approval, microservice, tee, or none (simulate only). Default is 'user-approval' with npx, otherwise 'none'. | |
| GNOPULSE_API_KEY | No | GnoPulse API key used by data and analytics tools. | |
| GNOPULSE_API_BASE | No | GnoPulse API base URL. | https://gnopulse.xyz |
| GNOPULSE_MCP_HOST | No | HTTP listen host. | 127.0.0.1 |
| GNOPULSE_MCP_PORT | No | HTTP listen port. | 8080 |
| GNOTX_SERVICE_URL | No | Signing service URL (the launcher sets it). | http://127.0.0.1:8787 |
| GNO_GRC20_REGISTRY | No | GRC20 registry realm. | gno.land/r/nt/grc20reg/v0 |
| GNOPULSE_AGENT_HOME | No | Agent keybase and signer state. | ~/.gnopulse-agent |
| GNOTX_SERVICE_TOKEN | No | Signing service bearer token (the launcher sets it). | |
| GNOPULSE_SIGNER_ADDR | No | Local signer address. | 127.0.0.1:8899 |
| GNOPULSE_MCP_TRANSPORT | No | MCP transport. Use 'http' for Streamable HTTP. | stdio |
| GNOPULSE_MCP_TIMEOUT_MS | No | API and RPC request timeout. | 15000 |
| GNOPULSE_POLICY_DEFAULT | No | Policy default. Use 'deny' to reject every call when no allow rule is set. | allow |
| GNOPULSE_MCP_REQUIRE_KEY | No | Set to '1' to reject HTTP sessions without an API key. | |
| GNOPULSE_POLICY_FEES_ONLY | No | Set to '1' to allow calls but no value transfer. | |
| GNOPULSE_POLICY_DENY_FUNCS | No | Never allow these functions (comma-separated). | |
| GNOPULSE_POLICY_EXPIRES_AT | No | Session expiry as a unix time. | |
| GNOPULSE_POLICY_EXPIRES_IN | No | Session expiry in seconds. | |
| GNOPULSE_POLICY_ALLOW_FUNCS | No | Only these functions are allowed (comma-separated). | |
| GNOPULSE_POLICY_DENY_REALMS | No | Never allow these realms (comma-separated). | |
| GNOPULSE_POLICY_ALLOW_REALMS | No | Only these realms are allowed (comma-separated). | |
| GNOPULSE_POLICY_MAX_SEND_UGNOT | No | Maximum native ugnot sent per transaction. Does not cover GRC20 approve or swap amounts. Default is 5000000 with npx, otherwise none. | 5000000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gno_get_accountB | Wallet overview for a g1… address: activity, counts, labels. |
| gno_get_transactionsA | Recent classified transactions, newest first, cursor-paginated. Filter by app label or success. For a specific wallet's activity use gno_wallet_transfers. |
| gno_get_blockA | Block detail by height: transactions, proposer, time. |
| gno_get_eventsB | Emitted Gno events grouped by realm and type, with filters. |
| gno_get_packageC | Realm or package detail: metadata, deployer, functions. |
| gno_searchC | Full-text search across realms, tokens, wallets, transactions, and blocks. |
| gno_token_holdersB | Holder distribution for a GRC20 token. |
| gno_pricesA | Token prices sourced from GnoSwap. Pass a token for one price, or omit it for all. |
| gno_ohlcvC | OHLCV candles for a token. |
| gno_poolsB | GnoSwap pools with TVL, volume, and APR. For a single pool use gno_pool_depth, gno_pool_lp_providers, or gno_ohlcv. |
| gno_smart_moneyC | Wallets ranked by realized PnL. |
| gno_mevC | Detected MEV activity: sandwiches and arbitrage. |
| gno_holder_seriesC | Holder-count time series for a token. |
| gno_launch_radarC | Newly launched tokens and pools. |
| gno_labelA | Resolve an address to known entity and app labels (e.g. GnoSwap, faucet). |
| gno_whalesB | Largest whale-labeled wallets by net worth, excluding contracts. |
| gno_dev_activityB | Recent launches with creator holdings and creator-sell (rug) signals. |
| gno_nft_holdingsA | Every GRC721 NFT a wallet owns across all collections, grouped by collection. Includes GnoSwap LP positions (each is an NFT). Prefer this over gno_grc721 for 'what does X own'. |
| gno_nft_collectionC | A GRC721 collection's holders, supply, and distribution. |
| gno_wallet_pnlB | Realized and unrealized PnL for a wallet across its trades. |
| gno_wallet_transfersB | A wallet's incoming and outgoing coin transfers, newest first, cursor-paginated. |
| gno_wallet_tokensC | A wallet's current GRC20 token balances. |
| gno_wash_tradesC | Detected wash-trading activity. |
| gno_swap_signalsC | Swap-derived trading signals: tick crossings and price impact. |
| gno_pool_depthC | Liquidity depth profile for a GnoSwap pool. |
| gno_pool_lp_providersC | Liquidity providers for a GnoSwap pool. |
| gno_evalA | Evaluate a read-only Gno expression against a realm via ABCI vm/qeval, e.g. |
| gno_renderA | Fetch a realm's Render(path) output via ABCI vm/qrender: the markdown page the realm serves at gno.land/r/…:path. |
| gno_package_filesA | List a package's source files (vm/qfile) and exported function signatures (vm/qfuncs). |
| gno_get_balancesA | Native coin balances (ugnot etc.) and account number/sequence for an address, via ABCI auth/accounts. |
| gno_statusA | Chain tip: latest height, chain ID, and block time, plus which RPC endpoint answered. |
| gno_token_registryA | List every GRC20 token in the on-chain GRC20 registry. Returns the token keys expected by gno_token_metadata and gno_token_balance. New and IBC tokens register themselves here. |
| gno_token_metadataA | Name, symbol, decimals, and total supply for a GRC20 token, read via the registry. On-chain decimals can be a placeholder (e.g. wugnot reports 0 but uses 6); use gno_prices for authoritative display decimals and USD price. |
| gno_token_balanceA | Exact on-chain GRC20 balance of an address, in raw units (divide by 10^decimals). For native ugnot use gno_get_balances. |
| gno_grc721A | Best-effort read of a GRC721 NFT realm via its standard getters. Null fields mean the realm does not expose that getter. Pass owner for a balance and/or tokenId for owner and URI. To list the NFTs an address owns, use gno_nft_holdings. |
| gno_agent_statusA | The agent's own on-chain identity: the address this MCP signs with (use it as your caller or recipient), its ugnot balance and sequence, the chain, whether execution is enabled, and the active policy bounds. Call this first, before acting, to learn your address and whether you can pay gas. |
| gno_simulateA | Simulate a realm function call without broadcasting. Returns gas used, the return value, and whether it would succeed. Nothing is signed or sent. |
| gno_callA | Make a state-changing realm call (mint, register, any write) from the agent's own wallet. Always simulates and checks policy first. Then an autonomous signer broadcasts immediately, a human-approval signer returns an approval_token for gno_confirm, and simulate-only mode returns the preview. If the wallet has no gas, returns status:needs_funding with the address and faucet; offer that to the user instead of reporting an error. Use this when a request requires an on-chain action. |
| gno_approveA | Approve a GRC20 allowance from the agent's own wallet (required before a swap). Simulates and checks policy, then broadcasts (autonomous signer), returns an approval_token for gno_confirm (human-approval signer), or returns the preview (simulate-only). If unfunded, returns status:needs_funding with the address and faucet. |
| gno_swapA | Swap on GnoSwap (router.ExactInSwapRoute) from the agent's own wallet. Simulates and checks policy, then broadcasts (autonomous signer), returns an approval_token for gno_confirm (human-approval signer), or returns the preview (simulate-only). The input token must first be approved to the router (gno_approve). If unfunded, returns status:needs_funding with the address and faucet. |
| gno_deployA | Check whether an address can deploy a package on the current chain and return the deploy command. CLA enforcement varies by chain and over time, so the CLA signature is checked live on every call. The deploy itself runs via |
| gno_confirmA | Broadcast a previously proposed action using its approval token (from gno_call, gno_approve, or gno_swap). This is the human-approval step: the signing service signs and sends the transaction. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 42 tools
Most tools target a distinct resource and action, and descriptions include cross-references to steer agents to the right one. A few pairs (e.g. gno_token_balance vs gno_wallet_tokens, gno_get_package vs gno_package_files) require careful reading but are ultimately separable.
All tools share the gno_ prefix and snake_case, which gives a uniform brand. However, conventions are mixed after the prefix: some are gno_get_*, some are bare nouns like gno_whales or gno_prices, and some are bare verbs like gno_eval, gno_swap, and gno_confirm.
42 tools is well past the 25+ threshold and creates a heavy selection surface for an agent. The scope is genuinely broad, but the count is still too high for a focused MCP server.
The surface covers the Gno blockchain comprehensively: accounts, balances, tokens, NFTs, pools, transactions, blocks, events, search, analytics, and on-chain actions. Read paths, simulation, approval, swapping, deployment, and confirmation are all present, leaving no obvious dead ends.