Servidor blockchain y DApp MCP
Un sistema seguro que permite a los asistentes de IA interactuar con contratos inteligentes de blockchain y al mismo tiempo garantizar que los usuarios mantengan un control total sobre sus claves privadas y la firma de transacciones.
Descripción general
Este proyecto aborda un desafío clave en la integración de IA y blockchain: permitir que los asistentes de IA lean datos de blockchain y preparen transacciones mientras se garantiza que los usuarios mantengan control exclusivo sobre la firma de transacciones y las claves privadas.
El sistema consta de:
- Servidor MCP : un servidor de protocolo de contexto de modelo que expone las operaciones de blockchain como herramientas que pueden ser utilizadas por asistentes de IA
- Web DApp : una aplicación React que proporciona una interfaz de usuario para la conexión de billetera y la firma de transacciones.
- Base de datos : base de datos PostgreSQL para almacenar usuarios, claves API y registros de transacciones
- Almacenamiento en caché : Redis para almacenar en caché datos a los que se accede con frecuencia
Características
Características del servidor MCP
- Acceso a datos de blockchain : lectura de saldos, estado de contratos y otros datos en cadena
- Preparación de transacciones : crear transacciones sin firmar para la aprobación del usuario
- Compatibilidad con múltiples cadenas : funciona con Ethereum, Polygon y otras cadenas compatibles con EVM
- Interacción de contratos inteligentes : lea contratos inteligentes verificados en redes compatibles
- Diseño que prioriza la seguridad : las claves privadas nunca salen de la billetera del usuario
Características de la aplicación web DApp
- Integración de billetera : conéctese con MetaMask y otras billeteras Web3
- Revisión de transacciones : interfaz de usuario clara para revisar los detalles de la transacción antes de firmar
- Firma de transacciones : Firme transacciones con la billetera conectada
- Seguimiento de transacciones : supervise el estado de las transacciones enviadas
- Compatibilidad móvil : el diseño adaptable funciona en todos los dispositivos.
Principios de seguridad
- Aislamiento de clave privada : las claves nunca salen de la billetera del usuario
- Verificación de transacciones : interfaz de usuario clara para revisar los detalles de la transacción
- Autenticación de API : gestión segura de claves API
- Limitación de velocidad : evitar el abuso
- Validación de entrada : desinfectar todas las entradas
- Registro de auditoría : seguimiento de todas las operaciones
- Sólo HTTPS : Comunicaciones seguras
- Política de seguridad de contenido : Prevenir XSS
Flujo de transacciones
- El asistente de IA solicita transacciones a través del servidor MCP
- El servidor MCP prepara una transacción sin firmar con UUID
- El servidor MCP devuelve la URL de la transacción al asistente de IA
- El asistente de IA proporciona la URL al usuario
- El usuario abre la URL en el navegador
- El usuario conecta la billetera y revisa los detalles de la transacción.
- El usuario aprueba y firma la transacción con su billetera
- La aplicación web DApp envía la transacción firmada a la cadena de bloques
- El estado de la transacción se actualiza y se rastrea.
Empezando
Prerrequisitos
- Node.js (v18 o superior)
- npm o hilo
- PostgreSQL
- Redis (opcional, para almacenamiento en caché)
- Clave API de Infura (para acceso a blockchain)
- Clave API de Etherscan (para ABI de contrato)
Instalación
- Clonar el repositorio:
- Instalar dependencias:
- Configurar variables de entorno: Cree un archivo
.env
en el directorio raíz (o cópielo desde.env.example
):
- Configurar la base de datos:
Consulte la Guía de configuración de la base de datos para obtener instrucciones detalladas sobre la instalación y configuración de PostgreSQL.
- Iniciar el servidor:
Uso de Docker Compose
Para comenzar rápidamente a utilizar Docker:
Esto comenzará:
- Base de datos PostgreSQL
- Caché de Redis
- Servidor MCP
- Aplicación web descentralizada
Desarrollo
Estructura del servidor
src/mcp
: Implementación del servidor MCPsrc/services
: Servicios de lógica empresarial básicasrc/utils
: Funciones de utilidadsrc/index.ts
: Punto de entrada principal
Estructura de la aplicación web DApp
web/src/components
: Componentes de Reactweb/src/hooks
: Ganchos de React personalizadosweb/src/services
: Servicios APIweb/src/pages
: Componentes de la página
Uso del servidor MCP
El servidor MCP expone varias herramientas que pueden utilizar los asistentes de IA:
get-chains
: Obtener la lista de redes blockchain compatiblesget-balance
: Obtener el saldo de la cuenta de una direcciónread-contract
: Leer datos de un contrato inteligenteprepare-transaction
: prepara una transacción sin firmar para la aprobación del usuarioget-transaction-status
: obtener el estado actual de una transacción
Ejemplo de uso de la herramienta
Solución de problemas
Si encuentra problemas con las dependencias:
Para problemas de conexión a la base de datos, consulte la Guía de configuración de la base de datos .
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Un sistema seguro que permite a los asistentes de IA interactuar con datos de blockchain y preparar transacciones, garantizando al mismo tiempo que los usuarios mantengan control exclusivo sobre sus claves privadas y la firma de transacciones.
- Descripción general
- Características
- Principios de seguridad
- Flujo de transacciones
- Empezando
- Desarrollo
- Uso del servidor MCP
- Solución de problemas
- Licencia
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityProvides tools for AI assistants to interact with the Ethereum blockchain through standard JSON-RPC methods, enabling queries for account balances, gas prices, and smart contract code.Last updated -68JavaScriptMIT License
- -securityAlicense-qualityA comprehensive toolkit for building AI agents with blockchain capabilities, enabling interactions with multiple blockchain networks for tasks like wallet management, fund transfers, smart contract interactions, and cross-chain asset bridging.Last updated -3TypeScriptGPL 3.0
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.Last updated -1JavaScript
- -securityFlicense-qualityEnables natural language interaction with the Avalanche blockchain through AI assistants, allowing users to execute Avalanche CLI commands and AvalancheJS API operations without technical knowledge.Last updated -1TypeScript