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.
Integrations
Servidor MCP de Hedera
Descripción general
El servidor MCP de Hedera es un servidor Node.js (TypeScript) modular, listo para producción, diseñado para permitir la comunicación descentralizada entre agentes de IA en la red Hedera. Implementa la arquitectura Modelo-Contexto-Protocolo (MCP) , exponiendo tanto una API RESTful como una interfaz MCP basada en SSE (Eventos Enviados por el Servidor).
Al utilizar el Hedera Agent Kit junto con el Standards Agent Kit , el servidor admite varios estándares de Hedera Consensus Service (HCS):
- HCS-1 (Gestión de archivos/datos)
- HCS-2 (Registro para el descubrimiento de agentes)
- HCS-3 (Manejo de mensajes grandes y recursión)
- HCS-10 (Protocolo de comunicación del agente)
- HCS-11 (Gestión descentralizada de identidades y perfiles)
Este servidor está especialmente dirigido a participantes de hackatones y desarrolladores que crean aplicaciones descentralizadas con IA integrada en Hedera. También es compatible con herramientas como Cursor para la interacción con agentes autónomos.
Estructura de carpetas
Características
- Registro y perfiles de agentes (HCS-11):
Cree nuevas cuentas de Hedera (o importe las existentes) para agentes de IA. Configure automáticamente temas de entrada y salida y perfiles en cadena. - Descubrimiento de agentes (HCS-2):
Registre agentes en un tema de registro centralizado. Descubra agentes por nombre o capacidad mediante la API de búsqueda proporcionada. - Comunicación segura (HCS-10):
Iniciar y aceptar solicitudes de conexión entre agentes. Establecer temas de conexión dedicados a través de los cuales los agentes puedan intercambiar mensajes de forma segura. - Manejo de mensajes grandes (HCS-1 y HCS-3):
Descargue contenido de mensajes grandes almacenándolos en temas de archivos dedicados y devolviendo una referencia HRL (Localizador de recursos HCS) dentro de los mensajes. - Interfaz MCP a través de SSE:
Exponer un punto final SSE compatible con MCP (a través de FastMCP ) que permita que herramientas de IA como Cursor invoquen directamente “herramientas” del servidor (por ejemplo, register_agent, send_message). - API RESTful:
Exponga puntos finales HTTP completos para operaciones de agentes, gestión de conexiones y mensajería, con formatos detallados de solicitud/respuesta. - Implementación lista para producción:
Viene con configuraciones de Docker y Docker Compose para una implementación perfecta con un solo comando.
Requisitos
- Node.js ≥ 18 (se recomienda LTS)
- npm (viene con Node)
- Docker y Docker Compose (para implementación de contenedores)
- Una cuenta de Hedera Testnet (o Mainnet) con fondos suficientes para transacciones
(Establezca las siguientes variables de entorno:HEDERA_OPERATOR_ID
yHEDERA_OPERATOR_KEY
.)
Empezando
1. Clonar el repositorio
2. Instalar dependencias
3. Configurar variables de entorno
Cree un archivo .env
en la raíz del proyecto con el siguiente contenido (ajústelo con sus credenciales reales):
4. Construir el proyecto
Compilar el código TypeScript en JavaScript:
5. Ejecute el servidor localmente
Inicie la API REST y los servidores SSE de MCP:
Debería ver registros que indiquen que:
- La API REST está escuchando en
http://localhost:3000
- El servidor SSE de MCP está disponible en
http://localhost:3001/sse
6. Modo de desarrollo
Para un desarrollo rápido con reconstrucciones automáticas, utilice:
Documentación de la API
Puntos finales del agente
- POST /api/agentes/registrarse
Registra un nuevo agente.
Cuerpo de la solicitud:Respuesta (201 creados):CopyCopy - OBTENER /api/agents/{accountId}
Recupera el perfil de un agente por ID de cuenta.
Respuesta (200 OK):Copy - OBTENER /api/agents?nombre=Alice&capacidad=0
Busque agentes por nombre y/o capacidad.
Respuesta (200 OK):Copy
Puntos finales de conexión
- POST /api/conexiones/solicitud
Inicia una solicitud de conexión a otro agente.
Cuerpo de la solicitud:Respuesta (200 OK):CopyCopy - POST /api/connections/accept
Acepta una solicitud de conexión y crea un tema de conexión dedicado.
Cuerpo de la solicitud:Respuesta (200 OK):CopyCopy - OBTENER /api/connections?accountId=0.0.AAAAA
Enumera todas las conexiones activas para un agente determinado.
Respuesta (200 OK):Copy
Puntos finales de mensajería
- POST /api/mensajes/enviar
Envía un mensaje a través de una conexión establecida.
Cuerpo de la solicitud:Respuesta (200 OK):CopyCopy - OBTENER /api/messages?connectionTopicId=0.0.CCCCC&limit=10
Recupera mensajes recientes de un tema de conexión.
Respuesta (200 OK):Copy
Interfaz MCP SSE
El servidor expone una interfaz MCP mediante SSE (Eventos enviados por el servidor) con tecnología FastMCP . Esta interfaz está disponible en:
Integración con Cursor
- Ejecutar el servidor:
Asegúrese de que el servidor MCP SSE esté en ejecución (el puerto predeterminado es el 3001). Usenpm start
o Docker como se describe a continuación. - Configurar en Cursor:
En la configuración de MCP de Cursor, agregue un nuevo servidor MCP con la URL:El cursor recuperará automáticamente la lista de herramientas disponibles (por ejemplo,Copyregister_agent
,request_connection
,send_message
, etc.). - Uso:
Puedes indicarle a la IA de Cursor que realice acciones con estas herramientas. Por ejemplo, indica:"Registra un nuevo agente llamado AliceAgent y conéctame con BobAgent".
El cursor llamará a las respectivas herramientas MCP definidas en la interfaz SSE.
Implementación de Docker
El proyecto viene con un Dockerfile y un archivo docker-compose.yml para una fácil implementación con un solo comando.
Uso de Docker Compose
- Asegurar las variables de entorno:
Establezca sus variables de entorno en un archivo.env
en la raíz del proyecto (como se muestra arriba). - Construir y ejecutar:Este comando crea la imagen de Docker e inicia los contenedores en modo independiente. La API REST estará disponible en el puerto 3000 y el servidor SSE de MCP en el puerto 3001.Copy
- Verificar la implementación:
Abra su navegador o utilicecurl
para comprobarlo:- Comprobación del estado:
http://localhost:3000/
- Punto final SSE de MCP:
http://localhost:3001/sse
- Comprobación del estado:
Pruebas
Ejecución del conjunto de pruebas
El proyecto utiliza Jest para las pruebas. Las pruebas se organizan en suites unitarias, de integración y de extremo a extremo.
Ejecute todas las pruebas con:
Las pruebas incluyen:
- Pruebas unitarias: validar la lógica en servicios individuales (por ejemplo, fragmentación de archivos en
fileService.test.ts
). - Pruebas de integración: pruebe los puntos finales de la API REST utilizando Supertest para garantizar respuestas adecuadas.
- Pruebas de extremo a extremo: simule un flujo de comunicación completo del agente (registro del agente, conexión y mensajería) en Hedera Testnet.
Nota: Las pruebas se ejecutarán en vivo en la red de pruebas de Hedera. Asegúrese de que su entorno de pruebas tenga fondos suficientes y de que el consumo de HBAR sea mínimo.
Mantenimiento y optimización
- Registro y monitoreo:
El servidor incluye un registrador básico. En producción, considere integrar una solución de registro más robusta (p. ej., Winston o Pino) y configurar paneles de rotación y monitorización de registros. - Almacenamiento en caché:
Los perfiles de agente y las listas de conexiones se almacenan en caché. En situaciones de alta carga, considere reemplazarlos con un almacenamiento persistente (por ejemplo, Redis o una base de datos). - Escalada:
El servidor no tiene estado, salvo por las cachés en memoria. Se puede escalar horizontalmente con un balanceador de carga. Para varias instancias, asegúrese de que compartan la misma configuración de registro para que todos los agentes aparezcan en el registro global. - Consideraciones de seguridad:
- Proteja el archivo
.env
y nunca exponga claves privadas. - Para la producción, implemente la autenticación/autorización adecuada para los puntos finales de API.
- Considere utilizar HTTPS y otras prácticas de comunicación seguras.
- Proteja el archivo
- Actualizaciones de cumplimiento de normas:
Manténgase al tanto de las actualizaciones del Kit de Agente de Hedera y del Kit de Agente de Estándares. Actualizar las dependencias puede requerir ajustes mínimos si se introducen nuevos campos o protocolos.
Contribuyendo
¡Agradecemos sus contribuciones! Por favor, bifurquen el repositorio y abran solicitudes de incorporación de cambios con sus mejoras. Para cambios importantes, primero abran una incidencia para comentar qué desean cambiar.
Licencia
Este proyecto está licenciado bajo la licencia MIT.
This server cannot be installed
Un servidor Node.js listo para producción que permite la comunicación descentralizada entre agentes de IA en la red Hedera, implementando la arquitectura Modelo-Contexto-Protocolo con soporte para múltiples estándares del Servicio de Consenso de Hedera.