Avalanche AVAX MCP
Search and retrieve Avalanche blockchain documentation for building on AVAX.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (8)
- HIGH
- MEDIUMen onchain_query
- LOWen cli_lookup_command
- LOWen rpc_lookup_method
- LOWen blockchain_lookup_subnet
- LOWen blockchain_get_contract_info
- LOWen platform_get_current_validators
- LOWen platform_get_pending_validators
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"avalanche-docs": {
"url": "https://build.avax.network/api/mcp"
}
}
}Puntos de conexión remotos
https://build.avax.network/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (48)
🟢docs_search(query, source, limit)
Search body-level chunks across Avalanche documentation, academy courses, integrations, and blog posts. Returns source citations and matching excerpts.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query"
},
"source": {
"type": "string",
"enum": [
"docs",
"academy",
"integrations",
"blog"
],
"description": "Filter by documentation source (optional)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"description": "Maximum number of chunk results (default: 10)"
}
},
"required": [
"query"
]
}🟢docs_fetch(url)
Fetch a specific documentation page as markdown
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The page URL path (e.g., /docs/primary-network/overview)"
}
},
"required": [
"url"
]
}🟢docs_list_sections
List available documentation sections and their page counts
Esquema de entrada
{
"type": "object",
"properties": {},
"required": []
}⚪cli_lookup_command(query, cli, limit)
Look up Avalanche CLI, Platform CLI, and tmpnet command guidance in the docs. Returns cited command references and task docs.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Command, flag, or task to look up"
},
"cli": {
"type": "string",
"enum": [
"platform-cli",
"tmpnet",
"all"
],
"description": "CLI surface to search. Defaults to all."
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of results (default: 8)"
}
},
"required": [
"query"
]
}⚪rpc_lookup_method(query, chain, limit)
Look up Avalanche RPC methods and API guides across C-Chain, P-Chain, X-Chain, Subnet-EVM, and node RPC docs.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "RPC method, namespace, or task to look up"
},
"chain": {
"type": "string",
"enum": [
"p-chain",
"c-chain",
"x-chain",
"subnet-evm",
"other",
"all"
],
"description": "RPC area to search. Defaults to all."
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of results (default: 8)"
}
},
"required": [
"query"
]
}⚪acp_lookup(query, number, limit)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "ACP title, topic, or keyword"
},
"number": {
"type": "number",
"description": "ACP number, if known"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of results (default: 8)"
}
},
"required": []
}🟢acp_list(status, track, limit)
List Avalanche Community Proposals with structured fields, optionally filtered by status (Activated, Implementable, Proposed, Stale, Withdrawn) or track (Standards, Best Practices, Meta, Subnet).
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"Proposed",
"Implementable",
"Activated",
"Stale",
"Withdrawn",
"Unknown"
],
"description": "Filter by ACP status (case-insensitive)"
},
"track": {
"type": "string",
"enum": [
"Standards",
"Best Practices",
"Meta",
"Subnet"
],
"description": "Filter by ACP track. Matches Standards, Best Practices, Meta, or Subnet."
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 100,
"description": "Maximum number of ACPs to return (default: 50)"
}
},
"required": []
}🟢avalanche_docs_search(query, source, limit)
Compatibility alias for docs_search. Prefer docs_search for new clients.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query"
},
"source": {
"type": "string",
"enum": [
"docs",
"academy",
"integrations",
"blog"
],
"description": "Filter by documentation source (optional)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"description": "Maximum number of chunk results (default: 10)"
}
},
"required": [
"query"
]
}🟢avalanche_docs_fetch(url)
Compatibility alias for docs_fetch. Prefer docs_fetch for new clients.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The page URL path (e.g., /docs/primary-network/overview)"
}
},
"required": [
"url"
]
}🟢avalanche_docs_list_sections
Compatibility alias for docs_list_sections. Prefer docs_list_sections for new clients.
Esquema de entrada
{
"type": "object",
"properties": {},
"required": []
}⚪blockchain_lookup_transaction(txHash, network)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"txHash": {
"type": "string",
"description": "Transaction hash (0x... for C-Chain, CB58 for P/X-Chain)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"default": "mainnet",
"description": "Network to search"
}
},
"required": [
"txHash"
]
}⚪blockchain_lookup_subnet(subnetId, network)
Look up a Subnet / L1 by its ID — validators, chains, and configuration.
Esquema de entrada
{
"type": "object",
"properties": {
"subnetId": {
"type": "string",
"description": "The Subnet ID"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"default": "mainnet"
}
},
"required": [
"subnetId"
]
}⚪blockchain_lookup_chain(chainId, network)
Look up a blockchain by its ID — name, VM type, and Subnet/L1.
Esquema de entrada
{
"type": "object",
"properties": {
"chainId": {
"type": "string",
"description": "The blockchain ID"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"default": "mainnet"
}
},
"required": [
"chainId"
]
}⚪blockchain_lookup_validator(nodeId, subnetId, network)
Look up a validator by node ID — stake, uptime, delegation info.
Esquema de entrada
{
"type": "object",
"properties": {
"nodeId": {
"type": "string",
"description": "Node ID (e.g. NodeID-...)"
},
"subnetId": {
"type": "string",
"default": "11111111111111111111111111111111LpoYY",
"description": "Subnet ID (default: Primary Network)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"default": "mainnet"
}
},
"required": [
"nodeId"
]
}🟢platform_get_height(network)
Get the current P-Chain block height
Esquema de entrada
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
}
}🟢platform_get_block(blockID, encoding, network)
Get a P-Chain block by its block ID
Esquema de entrada
{
"type": "object",
"properties": {
"blockID": {
"type": "string",
"description": "The CB58-encoded block ID"
},
"encoding": {
"type": "string",
"enum": [
"json",
"hex"
],
"description": "Encoding format for the block (default: json)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
},
"required": [
"blockID"
]
}🟢platform_get_block_by_height(height, encoding, network)
Get a P-Chain block by its height
Esquema de entrada
{
"type": "object",
"properties": {
"height": {
"type": "string",
"description": "The block height as a string"
},
"encoding": {
"type": "string",
"enum": [
"json",
"hex"
],
"description": "Encoding format for the block (default: json)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
},
"required": [
"height"
]
}🟢platform_get_blockchains(network, limit, offset)
Get all blockchains that exist on the P-Chain (paginated; use limit/offset)
Esquema de entrada
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"description": "Max items to return (default: 50). Use with \"offset\" to page."
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Number of items to skip from the start (default: 0)."
}
}
}🟢platform_get_subnets(ids, network, limit, offset)
Get information about Subnets/L1s on the P-Chain
Esquema de entrada
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of Subnet IDs to filter by"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"description": "Max items to return (default: 50). Use with \"offset\" to page."
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Number of items to skip from the start (default: 0)."
}
}
}🟢platform_get_current_validators(subnetID, nodeIDs, network, limit, offset)
Get the current validators of a Subnet/L1 (paginated; use limit/offset)
Esquema de entrada
{
"type": "object",
"properties": {
"subnetID": {
"type": "string",
"description": "The Subnet ID to query validators for (default: Primary Network)"
},
"nodeIDs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of node IDs to filter by"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"description": "Max items to return (default: 50). Use with \"offset\" to page."
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Number of items to skip from the start (default: 0)."
}
}
}🟢platform_get_pending_validators(subnetID, nodeIDs, network, limit, offset)
Get the pending validators of a Subnet/L1 (paginated; use limit/offset)
Esquema de entrada
{
"type": "object",
"properties": {
"subnetID": {
"type": "string",
"description": "The Subnet ID to query pending validators for (default: Primary Network)"
},
"nodeIDs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of node IDs to filter by"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"description": "Max items to return (default: 50). Use with \"offset\" to page."
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Number of items to skip from the start (default: 0)."
}
}
}🟢platform_get_staking_asset_id(subnetID, network)
Get the asset ID of the token used for staking on a Subnet/L1
Esquema de entrada
{
"type": "object",
"properties": {
"subnetID": {
"type": "string",
"description": "The Subnet ID to query the staking asset for (default: Primary Network)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
}
}🟢platform_get_min_stake(subnetID, network)
Get the minimum staking amounts for validators and delegators on a Subnet/L1
Esquema de entrada
{
"type": "object",
"properties": {
"subnetID": {
"type": "string",
"description": "The Subnet ID to query minimum stake for (default: Primary Network)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
}
}🟢platform_get_total_stake(subnetID, network)
Get the total amount staked on a Subnet/L1
Esquema de entrada
{
"type": "object",
"properties": {
"subnetID": {
"type": "string",
"description": "The Subnet ID to query total stake for (default: Primary Network)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
}
}🟢platform_get_balance(addresses, network)
Get the AVAX balance of one or more P-Chain addresses
Esquema de entrada
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of P-Chain addresses to query (e.g. P-avax1...)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
},
"required": [
"addresses"
]
}🟡platform_get_utxos(addresses, limit, sourceChain, network)
Get UTXOs that reference a given set of P-Chain addresses
Esquema de entrada
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of P-Chain addresses to get UTXOs for"
},
"limit": {
"type": "number",
"description": "Maximum number of UTXOs to return"
},
"sourceChain": {
"type": "string",
"description": "If fetching atomic UTXOs, the chain they were exported from"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
},
"required": [
"addresses"
]
}🟢platform_get_tx(txID, encoding, network)
Get a P-Chain transaction by its transaction ID
Esquema de entrada
{
"type": "object",
"properties": {
"txID": {
"type": "string",
"description": "The CB58-encoded transaction ID"
},
"encoding": {
"type": "string",
"enum": [
"json",
"hex"
],
"description": "Encoding format for the transaction (default: json)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
},
"required": [
"txID"
]
}🟢platform_get_tx_status(txID, network)
Get the status of a P-Chain transaction
Esquema de entrada
{
"type": "object",
"properties": {
"txID": {
"type": "string",
"description": "The CB58-encoded transaction ID"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
},
"required": [
"txID"
]
}🟢platform_get_current_supply(subnetID, network)
Get the current total supply of AVAX on a Subnet/L1
Esquema de entrada
{
"type": "object",
"properties": {
"subnetID": {
"type": "string",
"description": "The Subnet ID to query current supply for (default: Primary Network)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
}
}🟢platform_get_validators_at(height, subnetID, network)
Get the validators and their weights of a Subnet/L1 at a given P-Chain height
Esquema de entrada
{
"type": "object",
"properties": {
"height": {
"oneOf": [
{
"type": "number",
"description": "A specific P-Chain block height"
},
{
"type": "string",
"enum": [
"proposed"
],
"description": "Use \"proposed\" for the proposed height"
}
],
"description": "The P-Chain height to query validators at, or \"proposed\""
},
"subnetID": {
"type": "string",
"description": "The Subnet ID to query validators for (default: Primary Network)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Avalanche network to query (default: mainnet)"
}
},
"required": [
"height"
]
}🟢info_get_node_version(network)
Get the version of the node, including the database version, git commit, and API compatibility info.
Esquema de entrada
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": []
}🟢info_get_network_id(network)
Get the numeric ID of the Avalanche network this node is participating in.
Esquema de entrada
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": []
}🟢info_get_network_name(network)
Get the human-readable name of the Avalanche network this node is participating in.
Esquema de entrada
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": []
}🟢info_get_blockchain_id(alias, network)
Get the CB58-encoded blockchain ID for a given blockchain alias (e.g., "X", "P", "C").
Esquema de entrada
{
"type": "object",
"properties": {
"alias": {
"type": "string",
"description": "The blockchain alias (e.g., \"X\", \"P\", \"C\", or a full blockchain name)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": [
"alias"
]
}🟢info_is_bootstrapped(chain, network)
Check whether a given chain has finished bootstrapping on the node.
Esquema de entrada
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "The chain ID or alias to check (e.g., \"X\", \"P\", \"C\")"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": [
"chain"
]
}🟢info_get_tx_fee(network)
Get the current transaction fees for the network, returned in both nAVAX and AVAX.
Esquema de entrada
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": []
}🟢info_peers(nodeIDs, network)
Get a list of peers this node is connected to. Optionally filter by specific NodeIDs.
Esquema de entrada
{
"type": "object",
"properties": {
"nodeIDs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of NodeIDs to filter peers by (e.g., [\"NodeID-AbC...\"]). If omitted, all peers are returned."
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": []
}🟢info_acps(network)
Get information about Avalanche Community Proposals (ACPs), including their status and vote counts.
Esquema de entrada
{
"type": "object",
"properties": {
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "The Avalanche network to query (default: mainnet)"
}
},
"required": []
}🟢blockchain_get_native_balance(address, chainId)
Compatibility alias for onchain_lookup address balances. Prefer onchain_lookup for new clients.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "EVM address (0x...)"
},
"chainId": {
"type": "string",
"default": "43114",
"description": "43114 for C-Chain mainnet, 43113 for Fuji"
}
},
"required": [
"address"
]
}🟢blockchain_get_contract_info(address, chainId)
Compatibility alias for onchain_lookup contract metadata. Prefer onchain_lookup for new clients.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Contract address (0x...)"
},
"chainId": {
"type": "string",
"default": "43114",
"description": "43114 for C-Chain mainnet, 43113 for Fuji"
}
},
"required": [
"address"
]
}⚪blockchain_lookup_address(address, chainId)
Compatibility alias for onchain_lookup address details. Prefer onchain_lookup for new clients.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "EVM address (0x...)"
},
"chainId": {
"type": "string",
"default": "43114",
"description": "43114 for C-Chain mainnet, 43113 for Fuji"
}
},
"required": [
"address"
]
}⚪onchain_lookup(value, kind, network, chainId, tokenId, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The identifier: 0x address / 0x tx hash / NodeID-… / subnetId / chain name or id"
},
"kind": {
"type": "string",
"enum": [
"auto",
"address",
"contract",
"token",
"nft",
"transaction",
"subnet",
"validator",
"chain",
"pchain"
],
"description": "Entity kind (default: auto-detect from value)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Network (default: mainnet)"
},
"chainId": {
"type": "string",
"description": "EVM chain ID for EVM kinds (default: C-Chain for the network)"
},
"tokenId": {
"type": "string",
"description": "NFT token ID (kind=nft)"
},
"include": {
"type": "array",
"items": {
"type": "string",
"enum": [
"balances",
"nfts"
]
},
"description": "Extra data for an address (e.g. [\"nfts\"])"
}
},
"required": [
"value"
]
}🟢onchain_activity(scope, value, feed, network, chainId, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"address",
"chain",
"token",
"contract",
"primary"
],
"description": "address | chain | token | contract | primary"
},
"value": {
"type": "string",
"description": "Address/contract/token (omit for scope=chain)"
},
"feed": {
"type": "string",
"enum": [
"transactions",
"transfers",
"erc20Transfers",
"nftTransfers"
],
"description": "transactions (default) | transfers | erc20Transfers | nftTransfers"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Network (default: mainnet)"
},
"chainId": {
"type": "string",
"description": "EVM chain ID (default: C-Chain for the network)"
},
"blockchainId": {
"type": "string",
"description": "Blockchain ID for scope=primary (default: P-Chain)"
},
"hours": {
"type": "number",
"description": "Look-back window in hours for EVM transaction feeds (default: 2 for chain, max 720)"
},
"fromTimestamp": {
"type": "number",
"description": "Unix start time (scope=primary)"
},
"toTimestamp": {
"type": "number",
"description": "Unix end time (scope=primary)"
},
"pageSize": {
"type": "number",
"minimum": 1,
"maximum": 100,
"description": "Max rows (default: 25)"
}
},
"required": [
"scope"
]
}🟢chain_stats(target, window, chainId, value, timeInterval, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"chain",
"contract",
"network"
],
"description": "chain (default) | contract | network"
},
"window": {
"type": "string",
"enum": [
"series",
"recent"
],
"description": "chain: recent aggregate (default) or series"
},
"chainId": {
"type": "string",
"description": "EVM chain ID (default: C-Chain for the network)"
},
"value": {
"type": "string",
"description": "Contract address (target=contract)"
},
"timeInterval": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month"
],
"description": "Bucket size for window=series (default: day)"
},
"hours": {
"type": "number",
"description": "Look-back hours for window=recent (default: 24, max 720)"
},
"days": {
"type": "number",
"description": "Look-back days for series / contract (default: 30, max 365)"
},
"network": {
"type": "string",
"enum": [
"mainnet",
"fuji"
],
"description": "Network (default: mainnet)"
}
},
"required": []
}🟡onchain_query(op, params)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"chainStatsRecent",
"chainStatsSeries",
"addressActivity",
"chainActivity",
"contractStats",
"protocolRanking",
"contractGasFlow",
"topUnknownContracts",
"chainGasTotal"
],
"description": "The query operation"
},
"params": {
"type": "object",
"description": "Op-specific parameters (see description); validated server-side."
}
},
"required": [
"op",
"params"
]
}🟡build_plan(operation, network, name, vm, validatorManager, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"operation": {
"type": "string",
"enum": [
"create-l1",
"ictt",
"validator-manager",
"staking",
"transfer",
"interchain-kit"
],
"description": "Which runbook to generate"
},
"network": {
"type": "string",
"enum": [
"fuji",
"mainnet"
],
"description": "Target network (default: fuji)"
},
"name": {
"type": "string",
"description": "create-l1: L1 name (default: myL1)"
},
"vm": {
"type": "string",
"enum": [
"subnet-evm",
"custom"
],
"description": "create-l1: VM type (default: subnet-evm)"
},
"validatorManager": {
"type": "string",
"enum": [
"poa",
"pos-native",
"pos-erc20"
],
"description": "create-l1 / validator-manager: model (default: poa)"
},
"chainId": {
"type": "string",
"description": "create-l1: EVM chain ID"
},
"tokenSymbol": {
"type": "string",
"description": "create-l1: native token symbol"
},
"type": {
"type": "string",
"enum": [
"poa",
"pos-native",
"pos-erc20"
],
"description": "validator-manager: manager type (alias of validatorManager)"
},
"token": {
"type": "string",
"description": "ictt: token contract address (or \"native\")"
},
"tokenType": {
"type": "string",
"enum": [
"erc20",
"native"
],
"description": "ictt: token type (default: erc20)"
},
"homeChain": {
"type": "string",
"description": "ictt: home chain (where the token originates)"
},
"remoteChain": {
"type": "string",
"description": "ictt: destination chain (required for operation=ictt)"
},
"stake": {
"type": "string",
"description": "staking: stake amount"
},
"duration": {
"type": "string",
"description": "staking: staking period (e.g. 336h)"
},
"nodeId": {
"type": "string",
"description": "staking: NodeID-…"
},
"transferKind": {
"type": "string",
"enum": [
"send",
"p-to-c",
"c-to-p"
],
"description": "transfer: kind (default: send)"
},
"amount": {
"type": "string",
"description": "transfer: amount"
},
"to": {
"type": "string",
"description": "transfer: destination address (transferKind=send)"
},
"example": {
"type": "string",
"enum": [
"send-message",
"transfer-token",
"validator-manager-setup",
"add-validator"
],
"description": "interchain-kit: which example to run"
}
},
"required": [
"operation"
]
}⚪console_link(flow, network, validatorManager)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"flow": {
"type": "string",
"enum": [
"create-l1",
"convert-to-l1",
"validator-manager",
"ictt",
"faucet",
"multisig",
"staking",
"transfers",
"interchain-kit-local"
],
"description": "The console flow to link to"
},
"network": {
"type": "string",
"enum": [
"fuji",
"mainnet"
],
"description": "Network (only affects faucet; default: fuji)"
},
"validatorManager": {
"type": "string",
"enum": [
"poa",
"pos-native",
"pos-erc20"
],
"description": "Validator-manager variant (default: poa)"
}
},
"required": [
"flow"
]
}🟡console_flow(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.
Esquema de entrada
{
"type": "object",
"properties": {
"flow": {
"type": "string",
"enum": [
"create-l1",
"convert-to-l1",
"validator-manager",
"ictt",
"faucet",
"multisig",
"staking",
"transfers",
"interchain-kit-local"
],
"description": "Flow key to explain. Omit to list all flows."
}
},
"required": []
}Comunidad
Evidencia