hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Handles environment variable configuration for the MCP Blockchain Server
Provides containerization support for running the PostgreSQL database, Redis cache, MCP Server, and Web DApp as a complete system
Enables reading balances, contract state, and other on-chain data from the Ethereum blockchain, as well as preparing unsigned transactions for user approval and signing
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
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.
- Overview
- Features
- Security Principles
- Transaction Flow
- Getting Started
- Development
- Using the MCP Server
- Troubleshooting
- License