Foundry MCP Server

Integrations

  • Provides integration with Node.js runtime environment to execute the MCP server and its Solidity development features.

  • Enables Solidity development capabilities including creating, editing, and deploying smart contracts, running scripts, and installing dependencies through the Foundry toolchain.

Servidor MCP de Foundry

Un servidor MCP (Protocolo de contexto de modelo) simple, liviano y rápido que proporciona capacidades de desarrollo de Solidity utilizando la cadena de herramientas Foundry (Forge, Cast y Anvil).

Descripción general

Este servidor conecta a los asistentes de LLM con el ecosistema Foundry, lo que les permite:

  • Interactuar con nodos (instancias locales de Anvil o puntos finales RPC remotos)
  • Analizar contratos inteligentes y datos de blockchain
  • Realice operaciones EVM comunes usando Cast
  • Administrar, implementar y ejecutar código y scripts de Solidity
  • Trabajar con un espacio de trabajo persistente de Forge

Características

Interacción en red

  • Iniciar y administrar instancias locales de Anvil
  • Conectarse a cualquier red remota (solo especifique el RPC)
  • Obtener información de la red/cadena

Interacción contractual

  • Funciones de contrato de llamada (solo lectura)
  • Enviar transacciones a contratos (si PRIVATE_KEY está configurado)
  • Obtener recibos de transacciones
  • Leer el contrato de almacenamiento
  • Analizar rastros de transacciones
  • Recuperar ABI de contratos y fuentes de los exploradores de bloques

Desarrollo de Solidez

  • Mantener un espacio de trabajo dedicado a Forge
  • Crear y editar archivos Solidity
  • Instalar dependencias
  • Ejecutar scripts de Forge
  • Implementar contratos

Funciones de utilidad

  • Calcular direcciones de contrato
  • Comprobar el tamaño del código de bytes del contrato
  • Estimar los costos del gas
  • Convertir entre unidades (hexadecimales a decimales, etc.)
  • Generar billeteras
  • Obtener registros de eventos
  • Función de búsqueda y firmas de eventos

Uso

El servidor está diseñado para usarse como proveedor de herramientas MCP para clientes MCP. Al conectarse a un cliente, permite que estos (Claude Desktop, Cursor, Client, etc.) realicen operaciones de Solidity y en cadena directamente.

Requisitos

Configuración manual

  1. Asegúrese de que las herramientas de fundición (forja, fundición, yunque) estén instaladas en su sistema:
    curl -L https://foundry.paradigm.xyz | bash foundryup
  2. Clonar y construir el servidor.
    bun i && bun build
  3. Actualice la configuración de su cliente (por ejemplo: Claude escritorio):
"mcpServers": { "foundry": { "command": "node", "args": [ "path/to/foundry-mcp-server/dist/index.js" ], "env" :{ "PRIVATE_KEY": "0x1234", } } }

[!NOTA] PRIVATE_KEY es opcional

Configuración mediante el paquete NPM

  • Muy pronto

Configuración

El servidor admite las siguientes variables de entorno:

  • RPC_URL : URL de RPC predeterminada que se utilizará cuando no se especifique ninguna (opcional)
  • PRIVATE_KEY : Clave privada para usar en transacciones (opcional)

[!PRECAUCIÓN] No agregue claves con fondos de la red principal. Aunque el código las usa de forma segura, los LLM pueden fallar y enviar transacciones maliciosas. Úselas solo para pruebas y desarrollo. ¡NO confíe en el LLM!

Espacio de trabajo

El servidor mantiene un espacio de trabajo de Forge persistente en ~/.mcp-foundry-workspace para todos los archivos, scripts y dependencias de Solidity.

Herramientas

Yunque

  • anvil_start : Iniciar una nueva instancia de Anvil
  • anvil_stop : Detener una instancia de Anvil en ejecución
  • anvil_status : Comprueba si Anvil se está ejecutando y obtiene su estado

Elenco

  • cast_call : Llamar a una función de contrato (solo lectura)
  • cast_send : envía una transacción a una función de contrato
  • cast_balance : Verifica el saldo de ETH de una dirección
  • cast_receipt : Obtener el recibo de la transacción
  • cast_storage : lee el almacenamiento del contrato en una ranura específica
  • cast_run : ejecuta una transacción publicada en un entorno local
  • cast_logs : Obtener registros por firma o tema
  • cast_sig : obtiene el selector para una función o firma de evento
  • cast_4byte : función de búsqueda o firma de evento desde el directorio de 4 bytes
  • cast_chain : Obtener información sobre la cadena actual

Fragua

  • forge_script : Ejecuta un script de Forge desde el espacio de trabajo
  • install_dependency : instala una dependencia para el espacio de trabajo de Forge

Gestión de archivos

  • create_solidity_file : crea o actualiza un archivo Solidity en el espacio de trabajo
  • read_file : Lee el contenido de un archivo desde el espacio de trabajo
  • list_files : Lista los archivos en el espacio de trabajo

Servicios públicos

  • convert_eth_units : Convierte entre unidades EVM (wei, gwei, hex)
  • compute_address : Calcula la dirección de un contrato que se implementará
  • contract_size : obtiene el tamaño del código de bytes de un contrato implementado
  • estimate_gas : Estima el costo del gas de una transacción

Uso en la aplicación de escritorio Claude 🎯

Una vez completada la instalación y configurada la aplicación de escritorio de Claude, debe cerrarla por completo y volver a abrirla para ver el servidor tavily-mcp. Debería ver un icono de martillo en la esquina inferior izquierda de la aplicación, que indica las herramientas MCP disponibles. Puede hacer clic en él para ver más detalles sobre las herramientas disponibles.

Ahora Claude tendrá acceso completo al servidor Foundry-MCP. Si inserta los siguientes ejemplos en la aplicación de escritorio de Claude, debería ver las herramientas del servidor Foundry-MCP en acción.

Ejemplos

  1. Análisis de transacciones :
Can you analyze the transaction and explain what it does? https://etherscan.io/tx/0xcb73ad3116f19358e2e649d4dc801b7ae0590a47b8bb2e57a8e98b6daa5fb14b
  1. Consulta de saldos :
Query the mainnet ETH and USDT balances for the wallet 0x195F46025a6926968a1b3275822096eB12D97E70.
  1. Envío de transacciones :
Transfer 0.5 USDC to 0x195F46025a6926968a1b3275822096eB12D97E70 on Mainnet.
  1. Implementación de contratos/Ejecución de scripts :
Deploy a mock ERC20 contract to a local anvil instance and name it "Fire Coin".

Agradecimientos ✨

Descargo de responsabilidad

El software se proporciona tal cual. No se ofrece ninguna garantía, ni expresa ni implícita, sobre su seguridad o corrección. No ha sido auditado y, por lo tanto, no se puede garantizar su correcto funcionamiento. Los usuarios podrían experimentar retrasos, fallos, errores, omisiones, pérdida de información transmitida o pérdida de fondos. Los creadores no se responsabilizan de ninguno de los hechos anteriores. Los usuarios deben proceder con precaución y utilizar el software bajo su propia responsabilidad.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP liviano y rápido que proporciona capacidades en cadena para los LLM y los agentes.

  1. Overview
    1. Features
      1. Network Interaction
      2. Contract Interaction
      3. Solidity Development
      4. Utility Functions
    2. Usage
      1. Requirements
      2. Manual Setup
      3. Setup using NPM Package
      4. Workspace
    3. Tools
      1. Anvil
      2. Cast
      3. Forge
      4. File Management
      5. Utilities
    4. Usage in Claude Desktop App 🎯
      1. Examples
    5. Acknowledgments ✨
      1. Disclaimer
        ID: w4d49ya711