# Avalanche AVAX MCP

> Search and retrieve Avalanche blockchain documentation for building on AVAX.

- name: io.github.Airpote/avalanche-docs
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 86/100
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.Airpote%2Favalanche-docs
- tools: https://api.protogrid.dev/v1/servers/io.github.Airpote%2Favalanche-docs/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "avalanche-docs": {
      "type": "http",
      "url": "https://build.avax.network/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 45
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% -stale-257d
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 64 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: platform_get_current_supply (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); platform_get_current_validators (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); docs_search (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 6,744 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 48, about 6,744 tokens to load them all
- tool set hash: 4831af680eb53fb2f1727bf53a99c377
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.Airpote/avalanche-docs.svg)](https://protogrid.dev/servers/io.github.Airpote/avalanche-docs)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://build.avax.network/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (48)

- `acp_list`: List Avalanche Community Proposals with structured fields, optionally filtered by status (Activated, Implementable, Proposed, Stale, Withdrawn) or track (Standards, Best Practices, Meta, Subnet).
- `acp_lookup`: Look up Avalanche Community Proposals (ACPs) by number, title, or topic. When a number is provided the structured ACP record is returned (title, status, track, authors, cross-references).
- `avalanche_docs_fetch`: Compatibility alias for docs_fetch. Prefer docs_fetch for new clients.
- `avalanche_docs_list_sections`: Compatibility alias for docs_list_sections. Prefer docs_list_sections for new clients.
- `avalanche_docs_search`: Compatibility alias for docs_search. Prefer docs_search for new clients.
- `blockchain_get_contract_info`: Compatibility alias for onchain_lookup contract metadata. Prefer onchain_lookup for new clients.
- `blockchain_get_native_balance`: Compatibility alias for onchain_lookup address balances. Prefer onchain_lookup for new clients.
- `blockchain_lookup_address`: Compatibility alias for onchain_lookup address details. Prefer onchain_lookup for new clients.
- `blockchain_lookup_chain`: Look up a blockchain by its ID — name, VM type, and Subnet/L1.
- `blockchain_lookup_subnet`: Look up a Subnet / L1 by its ID — validators, chains, and configuration.
- `blockchain_lookup_transaction`: Look up a transaction by hash on Avalanche (C-Chain, P-Chain, or X-Chain). Supports 0x format (C-Chain) and CB58 format (P/X-Chain).
- `blockchain_lookup_validator`: Look up a validator by node ID — stake, uptime, delegation info.
- `build_plan`: Generate a step-by-step, copy-pasteable runbook for an Avalanche operation — Builder Console (no-code) path plus the equivalent platform-cli / SDK / interchain-kit commands. Read-only: never signs. operation: create-l1 (launch an L1); use ictt or interchain-kit for any CROSS-CHAIN / interoperability work — bridging tokens, sending cross-chain (ICM / Teleporter / Warp) messages, or connecting your L1 to C-Chain or other L1s (interchain-kit also lets you iterate locally first); validator-manager; staking; transfer.
- `chain_stats`: On-chain statistics via the query gateway, which picks the most accurate live source PER FIELD and stamps it (sources/warnings in the response). target=chain: tx count/gas/fees/active senders/avg gas price over a recent window (window=recent, `hours`, max 720h = 30 days) OR a time-series (window=series, `days`, max 365). target=contract: per-contract tx/sender/gas totals (`days`, max 365 — use this for contract activity beyond 30 days). target=network: current P-chain validator snapshot. IMPORTANT: relay any `warnings` notes to the user verbatim-in-substance (e.g. gas coverage windows or accuracy caveats) — never present a flagged value as exact. Note: C-Chain gasUsed is gas-target-regulated, so daily gas is ~stable even as tx count varies — expected, not an error.
- `cli_lookup_command`: Look up Avalanche CLI, Platform CLI, and tmpnet command guidance in the docs. Returns cited command references and task docs.
- `console_flow`: Builder Console flow knowledge. Call with NO `flow` to list every flow (summaries + deep-links); call with a `flow` key to explain it (ordered steps, equivalent CLI, whether it signs transactions, deep-link). Flows: create-l1, convert-to-l1, validator-manager, ictt, faucet, multisig, staking, transfers, interchain-kit-local.
- `console_link`: Return a deep-link into a specific Builder Console flow (create-l1, convert-to-l1, validator-manager, ictt, faucet, multisig, staking, transfers, interchain-kit-local). For faucet on mainnet, returns a note that there is no mainnet faucet.
- `docs_fetch`: Fetch a specific documentation page as markdown
- `docs_list_sections`: List available documentation sections and their page counts
- `docs_search`: Search body-level chunks across Avalanche documentation, academy courses, integrations, and blog posts. Returns source citations and matching excerpts.
- `info_acps`: Get information about Avalanche Community Proposals (ACPs), including their status and vote counts.
- `info_get_blockchain_id`: Get the CB58-encoded blockchain ID for a given blockchain alias (e.g., "X", "P", "C").
- `info_get_network_id`: Get the numeric ID of the Avalanche network this node is participating in.
- `info_get_network_name`: Get the human-readable name of the Avalanche network this node is participating in.
- `info_get_node_version`: Get the version of the node, including the database version, git commit, and API compatibility info.
- `info_get_tx_fee`: Get the current transaction fees for the network, returned in both nAVAX and AVAX.
- `info_is_bootstrapped`: Check whether a given chain has finished bootstrapping on the node.
- `info_peers`: Get a list of peers this node is connected to. Optionally filter by specific NodeIDs.
- `onchain_activity`: Time-windowed on-chain activity. scope=chain/address returns the transaction COUNT over the last `hours` (max 720h = 30 days; for longer windows use chain_stats series or onchain_query day-based ops) plus a recent sample. For a token/contract use scope=token (transfers). scope=primary covers P/X-chain and DEFAULTS to P-Chain when no blockchainId is given (so "last N P-chain transactions" just works). A value with no scope defaults to address.
- `onchain_lookup`: PRIMARY lookup tool — use this (not raw RPC) to resolve/describe any on-chain identifier in one call: an EVM address (native + token balances, recent txs, contract metadata + isContract), a contract/token (metadata + deployment + recent transfers), an NFT (collection + tokenId), a tx hash, a subnet ID, a NodeID validator, a P-/X-Chain account (P-…/X-… → P-Chain balance), or a chain name/id. Use this for any address balance / contract-info / token / identity question. `kind` auto-detects; network is inferred from P-/X-Chain prefixes. Backed by Glacier + P-Chain RPC.
- `onchain_query`: PRIMARY tool for indexed on-chain stats/activity/totals — prefer this over raw RPC for chain data. Each `op` is a backend-agnostic intent: the query gateway selects the most accurate live source per field (indexed DB / pre-aggregated metrics / Data API), stamps every field (`sources`), and flags any caveat (`warnings`) — relay warnings to the user, never present a flagged value as exact. Pick an `op` and pass its `params`; `chainId` is an allowlisted EVM chain (43114 C-Chain, 43113 Fuji, + L1s). Lookback: hour-based ops (chainStatsRecent/chainActivity/addressActivity) max 720h (30 days); day-based ops (chainStatsSeries/contractStats/chainGasTotal/protocolRanking/contractGasFlow/topUnknownContracts) max 365 days — use a day-based op for windows over 30 days. Ops: chainStatsRecent {chainId, hours≤720} — tx count/gas/fees/active senders/avg gas price over the last N hours; chainStatsSeries {chainId, days≤365, bucket: hour|day|week|month} — bucketed time-series of the same; addressActivity {chainId, address, hours≤720, limit≤100} — tx count + recent sample for an address in a window; chainActivity {chainId, hours≤720, limit≤100} — tx count + recent sample chain-wide in a window; contractStats {chainId, contract, days≤365} — tx/unique-sender/gas totals for a contract; protocolRanking {chainId, contracts[≤25], days≤365, orderBy: txCount|gasUsed|uniqueSenders|feesPaidAvax, dir: asc|desc, limit≤100} — rank a set of contracts; contractGasFlow {chainId, contract, days≤365, limit≤100} — gas received/given per counterparty; topUnknownContracts {chainId, exclude[≤25], days≤365, limit≤100} — top contracts by gas excluding a set; chainGasTotal {chainId, days≤365} OR {chainId, fromDate, toDate} — total tx/gas/fees over N days or a YYYY-MM-DD range (≤365d). Note: C-Chain gasUsed is gas-target-regulated → ~stable day-to-day even as txCount varies (expected, not a bug).
- `platform_get_balance`: Get the AVAX balance of one or more P-Chain addresses
- `platform_get_block`: Get a P-Chain block by its block ID
- `platform_get_block_by_height`: Get a P-Chain block by its height
- `platform_get_blockchains`: Get all blockchains that exist on the P-Chain (paginated; use limit/offset)
- `platform_get_current_supply`: Get the current total supply of AVAX on a Subnet/L1
- `platform_get_current_validators`: Get the current validators of a Subnet/L1 (paginated; use limit/offset)
- `platform_get_height`: Get the current P-Chain block height
- `platform_get_min_stake`: Get the minimum staking amounts for validators and delegators on a Subnet/L1
- `platform_get_pending_validators`: Get the pending validators of a Subnet/L1 (paginated; use limit/offset)
- `platform_get_staking_asset_id`: Get the asset ID of the token used for staking on a Subnet/L1
- `platform_get_subnets`: Get information about Subnets/L1s on the P-Chain
- `platform_get_total_stake`: Get the total amount staked on a Subnet/L1
- `platform_get_tx`: Get a P-Chain transaction by its transaction ID
- `platform_get_tx_status`: Get the status of a P-Chain transaction
- `platform_get_utxos`: Get UTXOs that reference a given set of P-Chain addresses
- `platform_get_validators_at`: Get the validators and their weights of a Subnet/L1 at a given P-Chain height
- `rpc_lookup_method`: Look up Avalanche RPC methods and API guides across C-Chain, P-Chain, X-Chain, Subnet-EVM, and node RPC docs.
