Foundry MCP Server
Um servidor MCP leve para desenvolvimento Solidity usando o toolchain Foundry (Forge, Cast e Anvil).
Documentação
Foundry MCP Server
Um servidor MCP (Model Context Protocol) simples, leve e rápido que fornece capacidades de desenvolvimento Solidity usando o conjunto de ferramentas Foundry (Forge, Cast e Anvil).

Visão Geral
Este servidor conecta assistentes de LLM ao ecossistema Foundry, permitindo que eles:
- Interajam com nós (instâncias locais do Anvil ou endpoints RPC remotos)
- Analisem contratos inteligentes e dados de blockchain
- Realizem operações EVM comuns usando Cast
- Gerenciem, implantem e executem código e scripts Solidity
- Trabalhem com um workspace Forge persistente
Recursos
Interação com Rede
- Iniciar e gerenciar instâncias locais do Anvil
- Conectar-se a qualquer rede remota (basta especificar o RPC)
- Obter informações de rede/cadeia
Interação com Contratos
- Chamar funções de contratos (somente leitura)
- Enviar transações para contratos (se
PRIVATE_KEYestiver configurado) - Obter recibos de transações
- Ler armazenamento de contratos
- Analisar rastreamentos de transações
- Recuperar ABIs e fontes de contratos de exploradores de blocos
Desenvolvimento Solidity
- Manter um workspace Forge dedicado
- Criar e editar arquivos Solidity
- Instalar dependências
- Executar scripts Forge
- Implantar contratos
Funções Utilitárias
- Calcular endereços de contratos
- Verificar tamanho do bytecode de contratos
- Estimar custos de gás
- Converter entre unidades (hex para decimais, etc.)
- Gerar carteiras
- Obter logs de eventos
- Consultar assinaturas de funções e eventos
Análise de Contratos Inteligentes (Heimdall)
- Desmontar bytecode EVM em opcodes legíveis
- Decodificar calldata bruto sem exigir ABI
- Descompilar bytecode EVM para código-fonte Solidity e ABI
- Gerar gráficos visuais de fluxo de controle para bytecode EVM
- Inspeção detalhada de transações com decodificação de calldata e análise de rastreamento
Uso
O servidor foi projetado para ser usado como um provedor de ferramentas MCP para Clientes MCP. Quando conectado a um cliente, ele permite que os clientes (claude desktop, cursor, client, etc.) realizem operações Solidity e onchain diretamente.
Requisitos
- Node.js v18+
- Conjunto de ferramentas Foundry (Forge, Cast, Anvil)
- Heimdall-rs (para análise de contratos inteligentes)
Configuração Manual
-
Garanta que as ferramentas Foundry (Forge, Cast, Anvil) estejam instaladas no seu sistema:
curl -L https://foundry.paradigm.xyz | bash foundryup -
Clone e construa o servidor.
bun i && bun build ./src/index.ts --outdir ./dist --target node -
Update your client config (eg: Claude desktop):
"mcpServers": {
"foundry": {
"command": "node",
"args": [
"path/to/foundry-mcp-server/dist/index.js"
],
"env" :{
"PRIVATE_KEY": "0x1234",
}
}
}
[!NOTE]
PRIVATE_KEYé opcional
Configuração usando Pacote NPM
Agora você pode instalar e executar o servidor diretamente usando npm:
Instalação Global
npm install -g @pranesh.asp/foundry-mcp-server
Uso Direto com npx
npx @pranesh.asp/foundry-mcp-server
Configuração do Cliente MCP
Claude Code
claude mcp add-json foundry-mcp-server '{"type":"stdio","command":"npx","args":["@pranesh.asp/foundry-mcp-server"],"env":{"RPC_URL":"","PRIVATE_KEY":""}}'
Outros Clientes MCP (Cursor, Claude, Windsurf)
Adicione às suas configurações MCP:
{
"mcpServers": {
"foundry": {
"command": "npx",
"args": ["@pranesh.asp/foundry-mcp-server"],
"env": {
"RPC_URL": "http://localhost:8545",
"PRIVATE_KEY": "0x..."
}
}
}
}
Configuração
O servidor suporta as seguintes variáveis de ambiente:
RPC_URL: URL RPC padrão a ser usada quando nenhuma for especificada (opcional)PRIVATE_KEY: Chave privada a ser usada para transações (opcional)
[!CAUTION] Não adicione chaves com fundos da mainnet. Mesmo que o código use isso com segurança, LLMs podem alucinar e enviar transações maliciosas. Use apenas para fins de teste/desenvolvimento. NÃO confie no LLM!!
[!TIP] Recebendo erros de
Invalid configuration? Verifique sua sintaxe JSON—problemas comuns incluem aspas duplas (""KEY"→"KEY"), vírgulas finais ou chaves sem aspas. Valide comecho '...' | jq .
Workspace
O servidor mantém um workspace Forge persistente em ~/.mcp-foundry-workspace para todos os arquivos Solidity, scripts e dependências.
Ferramentas
Anvil
anvil_start: Iniciar uma nova instância do Anvilanvil_stop: Parar uma instância do Anvil em execuçãoanvil_status: Verificar se o Anvil está em execução e obter seu status
Cast
cast_call: Chamar uma função de contrato (somente leitura)cast_send: Enviar uma transação para uma função de contratocast_balance: Verificar o saldo de ETH de um endereçocast_receipt: Obter o recibo da transaçãocast_storage: Ler armazenamento de contrato em um slot específicocast_run: Executar uma transação publicada em um ambiente localcast_logs: Obter logs por assinatura ou tópicocast_sig: Obter o seletor para uma assinatura de função ou eventocast_4byte: Consultar assinatura de função ou evento do diretório 4bytecast_chain: Obter informações sobre a cadeia atual
Forge
forge_script: Executar um script Forge do workspaceinstall_dependency: Instalar uma dependência para o workspace Forge
Gerenciamento de Arquivos
create_solidity_file: Criar ou atualizar um arquivo Solidity no workspaceread_file: Ler o conteúdo de um arquivo do workspacelist_files: Listar arquivos no workspace
Utilitários
convert_eth_units: Converter entre unidades EVM (wei, gwei, hex)compute_address: Calcular o endereço de um contrato que seria implantadocontract_size: Obter o tamanho do bytecode de um contrato implantadoestimate_gas: Estimar o custo de gás de uma transação
Análise Heimdall
heimdall_disassemble: Desmontar bytecode EVM em opcodes legíveisheimdall_decode: Decodificar calldata bruto sem exigir ABIheimdall_decompile: Descompilar bytecode EVM para código-fonte Solidity e ABIheimdall_cfg: Gerar gráfico visual de fluxo de controle para bytecode EVMheimdall_inspect: Inspeção detalhada de transações Ethereum
Uso no Aplicativo Claude Desktop 🎯
Após a instalação estar completa e o aplicativo desktop Claude estar configurado, você deve fechar e reabrir completamente o aplicativo desktop Claude para ver o servidor tavily-mcp. Você deve ver um ícone de martelo no canto inferior esquerdo do aplicativo, indicando ferramentas MCP disponíveis. Você pode clicar no ícone de martelo para ver mais detalhes sobre as ferramentas disponíveis.

Agora o Claude terá acesso completo ao servidor foundry-mcp. Se você inserir os exemplos abaixo no aplicativo desktop Claude, deverá ver as ferramentas do servidor foundry-mcp em ação.
Exemplos
- Análise de transação:
Can you analyze the transaction and explain what it does?
https://etherscan.io/tx/0xcb73ad3116f19358e2e649d4dc801b7ae0590a47b8bb2e57a8e98b6daa5fb14b
- Consultando Saldos:
Query the mainnet ETH and USDT balances for the wallet 0x195F46025a6926968a1b3275822096eB12D97E70.
- Enviando transações:
Transfer 0.5 USDC to 0x195F46025a6926968a1b3275822096eB12D97E70 on Mainnet.
- Implantando contratos/Executando scripts:
Deploy a mock ERC20 contract to a local anvil instance and name it "Fire Coin".
Agradecimentos ✨
- Model Context Protocol pela especificação MCP
- Anthropic pelo Claude Desktop
Aviso Legal
O software é fornecido como está. Nenhuma garantia, representação ou garantia é feita, expressa ou implícita, quanto à segurança ou correção do software. Eles não foram auditados e, portanto, não há garantia de que funcionarão como pretendido, e os usuários podem experimentar atrasos, falhas, erros, omissões, perda de informações transmitidas ou perda de fundos. Os criadores não são responsáveis por qualquer um dos itens acima. Os usuários devem proceder com cautela e usar por sua conta e risco.