Alchemy
Dados de blockchain em mais de 100 redes: preços de tokens, NFTs, transferências, simulação, traces, Solana DAS
Documentação
Servidor MCP da Alchemy
Dê ao seu agente de codificação de IA acesso direto a mais de 100 blockchains com 168 ferramentas por meio do Model Context Protocol.
Para o índice completo da documentação, consulte llms.txt.
O Servidor MCP da Alchemy conecta suas ferramentas de IA aos dados de blockchain por meio do Model Context Protocol (MCP). Ele expõe 168 ferramentas em resolução ENS, preços de tokens, metadados de NFTs, histórico de transações, simulação de contratos inteligentes, rastreamento, abstração de contas, carteiras inteligentes, Solana DAS e muito mais — cobrindo mais de 100 redes, incluindo Ethereum, Base, Polygon, Arbitrum, Optimism, Solana e Starknet.
Conecte seu cliente
O servidor roda em https://mcp.alchemy.com/mcp e autentica via OAuth — basta entrar com sua conta Alchemy quando solicitado. Não é necessária chave de API ou instalação local.
- Adicione o servidor:
claude mcp add alchemy --transport http https://mcp.alchemy.com/mcp
-
Reinicie o Claude Code (ou inicie uma nova conversa).
-
Selecione
alchemye autentique:
/mcp
Você deve ver alchemy na lista de servidores MCP ativos. Na primeira vez que usar uma ferramenta, uma janela do navegador será aberta para entrar com sua conta Alchemy.
- Adicione o servidor:
codex mcp add alchemy --url https://mcp.alchemy.com/mcp
- Verifique se foi adicionado:
codex mcp list
Adicione o seguinte JSON ao seu arquivo de configuração MCP:
- Cursor:
~/.cursor/mcp.json(global) ou.cursor/mcp.json(nível de projeto)
{
"mcpServers": {
"alchemy": {
"type": "streamable-http",
"url": "https://mcp.alchemy.com/mcp"
}
}
}
Reinicie seu editor após salvar. Para o Cursor, você também pode verificar por meio de Cursor Settings > MCP.
Adicione em ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"alchemy": {
"type": "streamable-http",
"url": "https://mcp.alchemy.com/mcp"
}
}
}
Reinicie o Claude Desktop após salvar.
Adicione em .vscode/mcp.json no seu projeto:
{
"servers": {
"alchemy": {
"type": "http",
"url": "https://mcp.alchemy.com/mcp"
}
}
}
Para qualquer outro cliente compatível com MCP, aponte-o para https://mcp.alchemy.com/mcp usando transporte Streamable HTTP. O servidor suporta OAuth 2.1 com PKCE — seu cliente lidará com o fluxo de autorização automaticamente.
Primeiros passos
Após conectar, entre com sua conta Alchemy quando solicitado. Em seguida, o fluxo de trabalho típico é:
- Diga ao seu agente qual app usar — ex.: "Selecione um app da Alchemy"
- Pergunte ao seu agente — ex.: "Qual é o preço atual do ETH?" ou "Mostre-me os NFTs pertencentes a vitalik.eth"
Ferramentas disponíveis
O servidor expõe 168 ferramentas em três categorias:
Admin — Gerenciamento de Conta e Apps (8 ferramentas)
Gerencie sua conta e seus apps na Alchemy. Essas ferramentas não interagem com a blockchain.
| Ferramenta | Descrição |
|---|---|
ping | Verificação de integridade |
list_apps | Liste seus apps da Alchemy |
get_app | Obtenha detalhes do app |
select_app | Selecione um app e armazene em cache sua chave de API para ferramentas RPC/Dados |
create_app | Crie um novo app |
update_app | Atualize o nome ou a descrição do app |
list_chains | Liste todas as 100+ redes suportadas |
update_allowlist | Atualize as listas de permissões do app (rede, endereço, origem, IP) |
RPC — JSON-RPC Onchain (132 ferramentas)
Faça chamadas JSON-RPC para nós de blockchain. Todas exigem select_app primeiro.
| Ferramenta | Descrição |
|---|---|
ethBlockNumber | Obtenha o número do bloco mais recente |
ethChainId | Obtenha o ID da cadeia |
ethGasPrice | Obtenha o preço atual do gás |
ethMaxPriorityFeePerGas | Obtenha a taxa máxima de prioridade por gás |
ethBlobBaseFee | Obtenha a taxa base de blob EIP-4844 |
ethSyncing | Obtenha o status de sincronização do nó |
ethGetBalance | Obtenha o saldo de ETH de um endereço |
ethGetCode | Obtenha o bytecode do contrato |
ethGetStorageAt | Obtenha o valor de armazenamento em uma posição |
ethGetProof | Obtenha a prova de Merkle para armazenamento de conta |
ethGetBlockByNumber | Obtenha um bloco por número |
ethGetBlockByHash | Obtenha um bloco por hash |
ethGetBlockReceipts | Obtenha todos os recibos de um bloco |
ethGetBlockTransactionCountByHash | Obtenha a contagem de transações em um bloco por hash |
ethGetBlockTransactionCountByNumber | Obtenha a contagem de transações em um bloco por número |
ethGetTransactionByHash | Obtenha uma transação por hash |
ethGetTransactionByBlockHashAndIndex | Obtenha uma transação por hash de bloco e índice |
ethGetTransactionByBlockNumberAndIndex | Obtenha uma transação por número de bloco e índice |
ethGetTransactionReceipt | Obtenha um recibo de transação |
ethGetTransactionCount | Obtenha o nonce de um endereço |
ethGetLogs | Obtenha logs que correspondem a um filtro |
ethCall | Execute uma chamada de contrato inteligente somente leitura |
ethEstimateGas | Estime o gás para uma transação |
ethCreateAccessList | Gere lista de acesso EIP-2930 |
ethFeeHistory | Obtenha dados históricos de taxas |
ethCallBundle | Simule um pacote de transações em um bloco |
ethCallMany | Simule múltiplos pacotes de transações entre blocos |
netListening | Verifique se o nó está ouvindo conexões |
netVersion | Obtenha o ID da rede |
web3ClientVersion | Obtenha a versão do cliente |
web3Sha3 | Calcule um hash Keccak-256 |
resolveEnsName | Resolva um nome ENS onchain da mainnet para um endereço Ethereum |
| Ferramenta | Descrição |
|---|---|
getTokenBalances | Obtenha saldos de tokens ERC-20 para um endereço |
getTokenMetadata | Obtenha nome, símbolo, decimais e logotipo do token |
getTokenAllowance | Obtenha a permissão ERC-20 para um gastador |
| Ferramenta | Descrição |
|---|---|
getAssetTransfers | Obtenha transferências históricas de ativos (ERC-20, ERC-721, nativas, internas) |
getTransactionReceipts | Obtenha todos os recibos de transação de um bloco |
| Ferramenta | Descrição |
|---|---|
simulateAssetChanges | Simule as mudanças de ativos de uma transação |
simulateExecution | Simule o rastreamento de execução de uma transação |
simulateAssetChangesBundle | Simule as mudanças de ativos de um pacote de transações |
simulateExecutionBundle | Simule os rastreamentos de execução de um pacote de transações |
simulateUserOperationAssetChanges | Simule as mudanças de ativos de uma UserOperation |
| Ferramenta | Descrição |
|---|---|
traceCall | Rastreie uma chamada sem criar uma transação |
traceTransaction | Rastreie uma transação minerada |
traceBlock | Rastreie todas as transações em um bloco |
traceFilter | Filtre rastreamentos por endereço e intervalo de blocos |
traceReplayTransaction | Reproduza uma transação com rastreamentos |
traceReplayBlockTransactions | Reproduza todas as transações em um bloco |
| Ferramenta | Descrição |
|---|---|
debugTraceTransaction | Rastreie uma transação em modo de depuração |
debugTraceCall | Rastreie uma chamada em modo de depuração |
debugTraceBlockByNumber | Rastreie um bloco por número em modo de depuração |
debugTraceBlockByHash | Rastreie um bloco por hash em modo de depuração |
debugGetRawBlock | Obtenha dados brutos de bloco codificados em RLP |
debugGetRawReceipts | Obtenha recibos brutos de transação para um bloco |
| Ferramenta | Descrição |
|---|---|
estimateUserOperationGas | Estime o gás para uma UserOperation |
getUserOperationReceipt | Obtenha um recibo de UserOperation |
getUserOperationByHash | Obtenha uma UserOperation por hash |
supportedEntryPoints | Liste os endereços EntryPoint suportados |
rundlerMaxPriorityFeePerGas | Obtenha a taxa máxima de prioridade por gás do bundler |
requestGasAndPaymasterAndData | Solicite patrocínio de gás + dados de paymaster |
requestPaymasterAndData | Solicite apenas dados de paymaster |
| Ferramenta | Descrição |
|---|---|
walletPrepareCalls | Prepare chamadas para envio de carteira inteligente |
walletSendPreparedCalls | Envie chamadas preparadas e assinadas de carteira inteligente |
walletGetCallsStatus | Obtenha o status das chamadas enviadas de carteira inteligente |
walletGetCapabilities | Obtenha capacidades de carteira inteligente para cadeias especificadas |
walletListAccounts | Liste contas inteligentes associadas a um endereço de signatário |
walletCreateSession | Crie uma sessão de carteira inteligente com permissões definidas |
walletGetCrossChainStatus | Obtenha o status de transação na mesma cadeia ou entre cadeias |
walletRequestQuote | Solicite uma cotação de swap para uma troca de tokens |
| Ferramenta | Descrição |
|---|---|
solana_getBalance | Obtenha saldo de SOL em lamports |
solana_getAccountInfo | Obtenha dados da conta (proprietário, lamports, dados) |
solana_getMultipleAccounts | Obtenha dados de múltiplas contas |
solana_getTransaction | Obtenha uma transação confirmada por assinatura |
solana_getSignaturesForAddress | Obtenha assinaturas de transação para um endereço |
solana_getSignatureStatuses | Obtenha status de assinaturas de transação |
solana_simulateTransaction | Simule uma transação sem enviar |
solana_getTokenAccountBalance | Obtenha saldo de conta de token SPL |
solana_getTokenAccountsByOwner | Obtenha todas as contas de token de uma carteira |
solana_getTokenAccountsByDelegate | Obtenha contas de token delegadas |
solana_getTokenSupply | Obtenha o fornecimento total de um token SPL |
solana_getTokenLargestAccounts | Obtenha os 20 principais detentores de um token |
solana_getBlock | Obtenha um bloco confirmado por slot |
solana_getBlockHeight | Obtenha a altura atual do bloco |
solana_getBlockTime | Obtenha o timestamp Unix de um slot |
solana_getBlocks | Obtenha blocos confirmados em um intervalo |
solana_getBlocksWithLimit | Obtenha blocos confirmados a partir de um slot com limite |
solana_getBlockCommitment | Obtenha o compromisso de voto de um bloco |
solana_getBlockProduction | Obtenha estatísticas de produção de blocos |
solana_getSlot | Obtenha o slot atual |
solana_getSlotLeader | Obtenha o líder do slot atual |
solana_getSlotLeaders | Obtenha líderes de slot para um intervalo |
solana_getLatestBlockhash | Obtenha o blockhash mais recente |
solana_isBlockhashValid | Verifique a validade do blockhash |
solana_getProgramAccounts | Obtenha todas as contas pertencentes a um programa |
solana_getEpochInfo | Obtenha informações da época atual |
solana_getEpochSchedule | Obtenha o cronograma de épocas |
solana_getSupply | Obtenha o detalhamento do fornecimento de SOL |
solana_getVersion | Obtenha a versão do software do nó |
solana_getTransactionCount | Obtenha a contagem total de transações |
solana_getInflationRate | Obtenha a taxa de inflação atual |
solana_getInflationGovernor | Obtenha parâmetros do governador de inflação |
solana_getInflationReward | Obtenha recompensas de staking por época |
solana_getVoteAccounts | Obtenha contas de voto de validadores |
solana_getLargestAccounts | Obtenha as 20 principais contas por saldo |
solana_getClusterNodes | Obtenha informações de nós do cluster |
solana_getLeaderSchedule | Obtenha o cronograma de líderes de uma época |
solana_getFeeForMessage | Obtenha a taxa de uma mensagem |
solana_getRecentPrioritizationFees | Obtenha dados recentes de taxa de prioridade |
solana_getMinimumBalanceForRentExemption | Obtenha o mínimo isento de aluguel |
solana_getFirstAvailableBlock | Obtenha o bloco mais baixo disponível |
solana_getGenesisHash | Obtenha o hash de gênese |
solana_getHighestSnapshotSlot | Obtenha o slot de snapshot mais alto |
solana_getIdentity | Obtenha a chave pública de identidade do nó |
solana_getMaxRetransmitSlot | Obtenha o slot máximo de retransmissão |
solana_getMaxShredInsertSlot | Obtenha o slot máximo de inserção de shred |
solana_getRecentPerformanceSamples | Obtenha amostras recentes de TPS |
solana_getStakeActivation | Obtenha o estado de ativação de stake |
solana_minimumLedgerSlot | Obtenha o slot mais baixo do ledger |
solana_requestAirdrop | Airdrop de SOL (somente devnet) |
Dados — APIs REST (28 ferramentas)
Chame as APIs REST da Alchemy para obter dados de blockchain enriquecidos. Todas exigem select_app primeiro.
| Ferramenta | Descrição |
|---|---|
getNFTsForOwner | Obter todos os NFTs pertencentes a um endereço |
getNFTsForContract | Obter todos os NFTs em um contrato |
getNFTsForCollection | Obter todos os NFTs em uma coleção |
getNFTMetadata | Obter metadados de NFT por ID de token |
getNFTMetadataBatch | Obter metadados para até 100 NFTs |
getContractMetadata | Obter metadados do contrato de NFT |
getContractMetadataBatch | Obter metadados para múltiplos contratos |
getOwnersForNFT | Obter proprietários de um NFT específico |
getOwnersForContract | Obter todos os proprietários em um contrato |
getFloorPrice | Obter preço mínimo de marketplaces |
getContractsForOwner | Obter contratos de NFT mantidos por um endereço |
isSpamContract | Verificar se um contrato é spam |
| Ferramenta | Descrição |
|---|---|
getTokenPricesBySymbol | Obter preços de tokens por símbolo (ETH, BTC, etc.) |
getTokenPricesByAddress | Obter preços de tokens por endereço de contrato |
getHistoricalTokenPrices | Obter dados históricos de preços em um intervalo de tempo |
| Ferramenta | Descrição |
|---|---|
getTokensByAddress | Obter tokens em múltiplas cadeias |
getTokenBalancesByAddress | Obter saldos de tokens com valores em USD em múltiplas cadeias |
getNFTsByAddress | Obter NFTs em múltiplas cadeias |
getNFTContractsByAddress | Obter contratos de NFT em múltiplas cadeias |
Cadeias suportadas
Suportamos mais de 100 blockchains, incluindo Ethereum, Base, Polygon, Arbitrum, Optimism, Solana, Starknet, zkSync, Scroll, Linea, Mantle, Blast e muitos outros. Use list_chains para ver a lista completa.
Ferramentas relacionadas
- Agent Skills ensinam ao seu agente de codificação todas as APIs da Alchemy no nível do código-fonte
- O Alchemy CLI encapsula as mesmas APIs como uma interface de ferramentas amigável ao shell para consultas ao vivo, trabalho administrativo e automação local
- Autenticação por carteira para APIs da Alchemy permite que agentes se autentiquem com uma carteira em vez de uma chave de API