Chronos

Interactúa con la blockchain de Stellar para gestionar carteras, listar tokens, consultar saldos y transferir fondos.

Documentación

Servidor MCP Chronos 🔵

npm version License: MIT

Chronos es un servidor de Protocolo de Contexto de Modelo (MCP) diseñado para la blockchain de Stellar y creado específicamente para la integración con Claude Desktop y aplicaciones de IA similares. Chronos brinda a tu asistente de IA herramientas en cadena que permiten interacciones optimizadas con la red de Stellar.

Descripción general

Chronos MCP ofrece las siguientes capacidades:

  • Conectar a billeteras de Stellar: Conecta de forma segura tu billetera usando una clave secreta.
  • Listar tokens de la billetera: Recupera y lista todos los tokens que posee una billetera de Stellar.
  • Consultar saldos: Obtén saldos en tiempo real de tu XLM y otros activos.
  • Transferir fondos: Inicia transferencias entre billeteras de Stellar con facilidad.

Chronos está diseñado para ser extensible y funciona como un paquete estándar de Node.js, lo que permite implementarlo, instalarlo e integrarlo fácilmente, de manera similar a otros servidores MCP como base-mcp.

Características

  • Integración con Stellar: Interactúa completamente con la red principal de Stellar mediante la API de Horizon.
  • Implementación sencilla: Publica e instala Chronos usando npm.
  • Compatibilidad con Claude Desktop: Se integra sin problemas con Claude Desktop al actualizar la configuración del servidor MCP.
  • Arquitectura extensible: Diseñado para futuras mejoras e integraciones de nuevas herramientas.

Requisitos previos

  • Node.js (v14 o superior)
  • npm
  • Credenciales de billetera de Stellar (clave secreta para la conexión)
  • Conectividad a internet para interactuar con la red de Stellar

Instalación

Opción 1: Instalar desde npm (Recomendado)

Instala Chronos de forma global:

npm install -g chronos-mcp

O úsalo directamente con npx:

npx chronos-mcp@latest

Opción 2: Instalar desde el código fuente

  1. Clona el repositorio:

    git clone https://github.com/yourusername/chronos-mcp.git
    cd chronos-mcp
    
  2. Instala las dependencias:

    npm install
    
  3. Compila el proyecto:

    npm run build
    
  4. (Opcional) Vincula globalmente para un acceso más fácil:

    npm link
    

Opción 3: Usar Docker

También puedes ejecutar Chronos MCP usando Docker:

  1. Crea la imagen de Docker:

    docker build -t chronos-mcp .
    
  2. Ejecuta el contenedor:

    docker run -it --rm chronos-mcp
    

Para obtener instrucciones más detalladas sobre el uso de Docker con Chronos MCP, incluida la configuración de Docker Compose y la integración con Claude Desktop, consulta la Guía de uso de Docker.

Para obtener información sobre cómo probar tu configuración de Docker localmente, consulta la Guía de uso de Docker. Esto incluye información sobre cómo crear la imagen de Docker, ejecutar el contenedor y usar Docker con Chronos MCP.

Configuración

Variables de entorno

Chronos MCP utiliza variables de entorno para la configuración, en particular para información sensible como tu clave secreta de Stellar. El proyecto usa dotenv para cargar variables de entorno desde un archivo .env durante el desarrollo.

Para configurar las variables de entorno:

  1. Crea un archivo .env en la raíz del proyecto:

    STELLAR_SECRET_KEY=your_stellar_secret_key
    STELLAR_NETWORK=mainnet
    
  2. Estas variables se cargarán automáticamente cuando se inicie la aplicación.

Al usar Docker, puedes proporcionar variables de entorno de varias maneras:

  • Usando la bandera --env-file: docker run -it --rm --env-file .env chronos-mcp
  • Usando la directiva env_file en docker-compose.yml
  • Configurando variables individuales con la bandera -e: docker run -it --rm -e STELLAR_SECRET_KEY=your_key chronos-mcp

Configuración de Claude Desktop

Para usar Chronos con Claude Desktop, actualiza tu archivo de configuración de Claude Desktop ubicado en:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Configuración de ejemplo para Claude Desktop:

{
  "mcpServers": {
    "stellar": {
      "command": "npx",
      "args": ["chronos-mcp@latest"],
      "env": {
        "STELLAR_NETWORK": "mainnet",
        "STELLAR_SECRET_KEY": "your_stellar_secret_key"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Para la integración con Docker y Claude Desktop, puedes usar:

{
  "mcpServers": {
    "stellar": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--env-file", "/path/to/your/.env", "chronos-mcp"],
      "env": {
        "STELLAR_NETWORK": "mainnet"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Uso

Chronos MCP expone las siguientes herramientas a través de su interfaz MCP:

connect_wallet

Conecta una billetera de Stellar usando la clave secreta.

Comando de ejemplo:

"Conecta mi billetera usando la clave secreta ______"


list_tokens

Lista todos los tokens y activos en la billetera de Stellar especificada.

Comando de ejemplo:

"Lista los tokens de mi billetera"


get_balances

Recupera el saldo de XLM y cualquier otro activo.

Comando de ejemplo:

"¿Cuál es mi saldo actual de XLM?"


transfer_funds

Transfiere fondos desde tu billetera a otra billetera de Stellar.

Parámetros:

  • secretKey: Tu clave secreta de billetera.
  • destinationAddress: La dirección de la billetera del destinatario.
  • amount: La cantidad a transferir.
  • asset (opcional): Activo a transferir (por defecto es XLM).

Comando de ejemplo:

"Transfiere 0.5 XLM a [dirección de la billetera de destino]"

Pruebas

Pruebas estándar

Para probar Chronos MCP localmente:

npm test

Esto ejecutará el conjunto de pruebas del proyecto y verificará que tu servidor funcione como se espera.

Pruebas con Docker

Para probar la configuración de Docker localmente, consulta la Guía de uso de Docker para obtener instrucciones. La guía cubre:

  • Crear la imagen de Docker
  • Ejecutar el contenedor con Docker Compose
  • Integración con Claude Desktop
  • Otra información relacionada con Docker

También puedes usar el script test-client.js incluido para probar el contenedor de Docker:

node test-client.js

Este script envía una solicitud MCP simple al contenedor de Docker y muestra la respuesta.

Implementación

Chronos MCP está diseñado para funcionar como un paquete estándar de Node.js y puede publicarse en npm. Una vez publicado (por ejemplo, mediante npm publish), Chronos se puede instalar de forma global o usar mediante npx, igual que cualquier otro servidor MCP.

Para la implementación en producción, considera envolver Chronos en un servicio del sistema (usando systemd, launchd, etc.) para reinicios automáticos y monitoreo.

Extender Chronos

Chronos está diseñado pensando en la extensibilidad. Para agregar nuevas herramientas:

  1. Crea un nuevo directorio en la carpeta src/tools.
  2. Implementa tu herramienta (incluye un index.ts, schemas.ts y handlers.ts).
  3. Exporta tu herramienta en src/tools/index.ts.
  4. Actualiza el README con la documentación y los ejemplos de tu herramienta.
  5. Escribe pruebas para asegurarte de que tu nueva herramienta funcione correctamente.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

Contribuciones

¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para conocer las pautas sobre cómo informar problemas, enviar solicitudes de extracción y otras instrucciones para contribuir.

────────────────────────────── Este README está adaptado específicamente para Chronos MCP y describe su implementación como paquete de Node.js, la integración con Claude Desktop y un conjunto completo de funciones para interactuar con la blockchain de Stellar.