Firmante EVM de MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) para gestionar claves privadas de Ethereum e implementar contratos inteligentes con Infura. Este servidor permite que Claude for Desktop y otros clientes MCP interactúen con cadenas de bloques compatibles con EVM.

Características
🔑 Almacene y administre de forma segura las claves privadas de Ethereum localmente
🔌 Conéctese a Infura para interacciones en blockchain
📝 Implementar contratos inteligentes a partir de ABI compilados y código de bytes
✍️ Firmar y enviar transacciones
💰 Ver saldos de cuentas e historial de transacciones
🔍 Consultar datos de blockchain e interactuar con contratos implementados
Related MCP server: MCP Neo4j Server
Inicio rápido
Prerrequisitos
Node.js v16 o superior
Una cuenta de Infura con clave API
Aplicación Claude para escritorio instalada
Instalación
Clonar este repositorio:
git clone https://github.com/zhangzhongnan928/mcp-evm-signer.git cd mcp-evm-signerInstalar dependencias:
npm installConstruir el proyecto:
npm run buildConfigurar variables de entorno:
cp .env.example .envEdite el archivo
.envpara agregar su clave API de Infura y configurar otros ajustes.
Integración con Claude para escritorio
Agregue el servidor a su configuración de Claude for Desktop:
{
"mcpServers": {
"evm-signer": {
"command": "node",
"args": ["/path/to/mcp-evm-signer/build/index.js"],
"env": {
"INFURA_API_KEY": "your_infura_api_key_here",
"DEFAULT_NETWORK": "sepolia",
"ENCRYPT_KEYS": "true",
"KEY_PASSWORD": "your_secure_password_here"
}
}
}
}Reiniciar Claude para escritorio
Ahora puedes pedirle a Claude que implemente contratos inteligentes, verifique saldos o interactúe con cadenas de bloques EVM
Herramientas disponibles
El servidor MCP EVM Signer expone las siguientes herramientas para su uso con Claude:
Gestión de billetera
create-wallet: Crea una nueva billetera Ethereumimport-wallet: Importa una billetera existente desde una clave privadalist-wallets: Lista todas las billeteras guardadas
Operaciones de blockchain
check-balance: Verifica el saldo de ETH de una direcciónget-transactions: Obtener transacciones recientes para una direcciónsend-transaction: Envía ETH a una dirección
Interacciones de contratos inteligentes
deploy-contract: Implementa un contrato inteligente desde ABI y bytecodecall-contract: Llama a un método de contrato de solo lecturaexecute-contract: Ejecuta un método de contrato que modifica el estado
Ejemplo de uso
A continuación se muestran algunos ejemplos de cómo puedes utilizar estas herramientas con Claude:
Creando una billetera
Puedes preguntarle a Claude:
Could you create a new Ethereum wallet for me using the evm-signer tools?Consultar un saldo
Puedes preguntarle a Claude:
Can you check the balance of my Ethereum wallet 0x1234...5678 on the Sepolia network?Implementación de un token ERC-20
Consulte nuestro ejemplo de token ERC-20 para obtener una guía completa sobre cómo implementar e interactuar con un contrato de token ERC-20.
Notas de seguridad
Las claves privadas se almacenan localmente en su máquina
Las claves se pueden cifrar con una contraseña
El servidor solo expone la funcionalidad a través del protocolo MCP
Revise siempre las transacciones antes de aprobarlas en Claude for Desktop
Utilice redes de prueba como Sepolia o Goerli al comenzar
Documentación
Para obtener documentación más detallada, consulte:
Guía de uso : instrucciones de uso detalladas y ejemplos
Ejemplos : ejemplos de flujos de trabajo e implementaciones de contratos
Estructura del proyecto
mcp-evm-signer/
├── src/ # Source code
│ ├── config.ts # Configuration management
│ ├── crypto.ts # Key management utilities
│ ├── ethereum.ts # Ethereum interaction functions
│ └── index.ts # Main MCP server implementation
├── keys/ # Storage for wallet keys (gitignored)
├── examples/ # Example usage patterns
├── .env.example # Example environment variables
└── ... # Project configuration filesDesarrollo
Para contribuir a este proyecto:
Bifurcar el repositorio
Crear una rama de características (
git checkout -b feature/amazing-feature)Realiza tus cambios
Confirme sus cambios (
git commit -m 'Add some amazing feature')Empujar a la rama (
git push origin feature/amazing-feature)Abrir una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.