Foundry MCP Server
Un servidor MCP ligero para el desarrollo en Solidity que utiliza el conjunto de herramientas Foundry (Forge, Cast y Anvil).
Documentación
Servidor Foundry MCP
Un servidor MCP (Model Context Protocol) simple, ligero y rápido que proporciona capacidades de desarrollo en Solidity utilizando el conjunto de herramientas Foundry (Forge, Cast y Anvil).

Descripción general
Este servidor conecta asistentes LLM al ecosistema Foundry, permitiéndoles:
- Interactuar con nodos (instancias locales de Anvil o endpoints RPC remotos)
- Analizar contratos inteligentes y datos de blockchain
- Realizar operaciones EVM comunes usando Cast
- Gestionar, desplegar y ejecutar código y scripts de Solidity
- Trabajar con un espacio de trabajo Forge persistente
Características
Interacción con la red
- Iniciar y gestionar instancias locales de Anvil
- Conectarse a cualquier red remota (solo especifica el RPC)
- Obtener información de red/cadena
Interacción con contratos
- Llamar funciones de contratos (solo lectura)
- Enviar transacciones a contratos (si
PRIVATE_KEYestá configurado) - Obtener recibos de transacciones
- Leer almacenamiento de contratos
- Analizar trazas de transacciones
- Recuperar ABIs y fuentes de contratos desde exploradores de bloques
Desarrollo en Solidity
- Mantener un espacio de trabajo Forge dedicado
- Crear y editar archivos Solidity
- Instalar dependencias
- Ejecutar scripts de Forge
- Desplegar contratos
Funciones de utilidad
- Calcular direcciones de contratos
- Verificar el tamaño del bytecode de contratos
- Estimar costos de gas
- Convertir entre unidades (hex a decimales, etc.)
- Generar billeteras
- Obtener registros de eventos
- Buscar firmas de funciones y eventos
Análisis de contratos inteligentes (Heimdall)
- Desensamblar bytecode EVM en opcodes legibles
- Decodificar calldata crudo sin requerir ABI
- Descompilar bytecode EVM a código fuente Solidity y ABI
- Generar gráficos de flujo de control visuales para bytecode EVM
- Inspección detallada de transacciones con decodificación de calldata y análisis de trazas
Uso
El servidor está diseñado para usarse como proveedor de herramientas MCP para clientes MCP. Cuando está conectado a un cliente, permite que los clientes (Claude Desktop, Cursor, client, etc.) realicen operaciones de Solidity y onchain directamente.
Requisitos
- Node.js v18+
- Conjunto de herramientas Foundry (Forge, Cast, Anvil)
- Heimdall-rs (para análisis de contratos inteligentes)
Configuración manual
-
Asegúrate de que las herramientas Foundry (Forge, Cast, Anvil) estén instaladas en tu sistema:
curl -L https://foundry.paradigm.xyz | bash foundryup -
Clona y compila el 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_KEYes opcional
Configuración usando paquete NPM
Ahora puedes instalar y ejecutar el servidor directamente usando npm:
Instalación global
npm install -g @pranesh.asp/foundry-mcp-server
Uso directo con npx
npx @pranesh.asp/foundry-mcp-server
Configuración del 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":""}}'
Otros clientes MCP (Cursor, Claude, Windsurf)
Agrega a tu configuración MCP:
{
"mcpServers": {
"foundry": {
"command": "npx",
"args": ["@pranesh.asp/foundry-mcp-server"],
"env": {
"RPC_URL": "http://localhost:8545",
"PRIVATE_KEY": "0x..."
}
}
}
}
Configuración
El servidor admite las siguientes variables de entorno:
RPC_URL: URL RPC predeterminada para usar cuando no se especifica ninguna (opcional)PRIVATE_KEY: Clave privada para usar en transacciones (opcional)
[!CAUTION] No agregues claves con fondos de mainnet. Aunque el código la usa de forma segura, los LLM pueden alucinar y enviar transacciones maliciosas. Úsala solo para fines de prueba/desarrollo. ¡NO confíes en el LLM!
[!TIP] ¿Tienes errores de
Invalid configuration? Verifica tu sintaxis JSON: los problemas comunes incluyen comillas dobles (""KEY"→"KEY"), comas finales o claves sin comillas. Valida conecho '...' | jq .
Espacio de trabajo
El servidor mantiene un espacio de trabajo Forge persistente en ~/.mcp-foundry-workspace para todos los archivos Solidity, scripts y dependencias.
Herramientas
Anvil
anvil_start: Iniciar una nueva instancia de Anvilanvil_stop: Detener una instancia de Anvil en ejecuciónanvil_status: Verificar si Anvil está en ejecución y obtener su estado
Cast
cast_call: Llamar una función de contrato (solo lectura)cast_send: Enviar una transacción a una función de contratocast_balance: Verificar el saldo ETH de una direccióncast_receipt: Obtener el recibo de la transaccióncast_storage: Leer almacenamiento de contrato en una ranura específicacast_run: Ejecutar una transacción publicada en un entorno localcast_logs: Obtener registros por firma o temacast_sig: Obtener el selector para una firma de función o eventocast_4byte: Buscar firma de función o evento desde el directorio 4bytecast_chain: Obtener información sobre la cadena actual
Forge
forge_script: Ejecutar un script de Forge desde el espacio de trabajoinstall_dependency: Instalar una dependencia para el espacio de trabajo Forge
Gestión de archivos
create_solidity_file: Crear o actualizar un archivo Solidity en el espacio de trabajoread_file: Leer el contenido de un archivo del espacio de trabajolist_files: Listar archivos en el espacio de trabajo
Utilidades
convert_eth_units: Convertir entre unidades EVM (wei, gwei, hex)compute_address: Calcular la dirección de un contrato que se desplegaríacontract_size: Obtener el tamaño del bytecode de un contrato desplegadoestimate_gas: Estimar el costo de gas de una transacción
Análisis Heimdall
heimdall_disassemble: Desensamblar bytecode EVM en opcodes legiblesheimdall_decode: Decodificar calldata crudo sin requerir ABIheimdall_decompile: Descompilar bytecode EVM a código fuente Solidity y ABIheimdall_cfg: Generar gráfico de flujo de control visual para bytecode EVMheimdall_inspect: Inspección detallada de transacciones de Ethereum
Uso en la aplicación de escritorio Claude 🎯
Una vez completada la instalación y configurada la aplicación de escritorio Claude, debes cerrar y reabrir completamente la aplicación de escritorio Claude para ver el servidor tavily-mcp. Deberías ver un ícono de martillo en la parte inferior izquierda de la aplicación, que indica las herramientas MCP disponibles; puedes hacer clic en el ícono de martillo para ver más detalles sobre las herramientas disponibles.

Ahora Claude tendrá acceso completo al servidor foundry-mcp. Si insertas los siguientes ejemplos en la aplicación de escritorio Claude, deberías ver las herramientas del servidor foundry-mcp en acción.
Ejemplos
- Análisis de transacciones:
Can you analyze the transaction and explain what it does?
https://etherscan.io/tx/0xcb73ad3116f19358e2e649d4dc801b7ae0590a47b8bb2e57a8e98b6daa5fb14b
- Consulta de saldos:
Query the mainnet ETH and USDT balances for the wallet 0x195F46025a6926968a1b3275822096eB12D97E70.
- Envío de transacciones:
Transfer 0.5 USDC to 0x195F46025a6926968a1b3275822096eB12D97E70 on Mainnet.
- Despliegue de contratos/Ejecución de scripts:
Deploy a mock ERC20 contract to a local anvil instance and name it "Fire Coin".
Agradecimientos ✨
- Model Context Protocol por la especificación MCP
- Anthropic por Claude Desktop
Aviso legal
El software se proporciona tal cual. No se ofrece ninguna garantía, representación o garantía, expresa o implícita, sobre la seguridad o corrección del software. No ha sido auditado y, por lo tanto, no se puede garantizar que funcione como se espera, y los usuarios pueden experimentar retrasos, fallos, errores, omisiones, pérdida de información transmitida o pérdida de fondos. Los creadores no son responsables de lo anterior. Los usuarios deben proceder con precaución y usarlo bajo su propio riesgo.