awaBerry device as a service

awaBerry Agentic permite el acceso remoto seguro a cualquier dispositivo basado en terminal para flujos de trabajo, permitiendo que cualquier Agente y rutina basada en Modelo de Lenguaje Grande ejecute comandos en sus dispositivos para acceder a los datos requeridos, y también escribir los datos generados de vuelta.

Documentación

awaberry Remote MCP Server

Un servidor de Model Context Protocol (MCP) basado en Node.js para conectarse remotamente a dispositivos sin necesidad de SSH, VPN ni puertos abiertos para gestionar archivos, conectarse a bases de datos y ejecutar comandos de terminal en una sesión de terminal persistente de larga duración.

Este es un servidor MCP basado en JavaScript que proporciona acceso remoto a dispositivos a través de la plataforma awaBerry. Demuestra conceptos centrales de MCP al proporcionar:

Device as a service

  • Integración con la plataforma awaberry Agentic
  • Gestión segura de conexiones de dispositivos
  • Ejecución remota de comandos de terminal
  • Autenticación basada en sesiones

Esto permite flujos de trabajo potentes que permiten a cualquier Agente y rutina basada en Modelos de Lenguaje de Gran Tamaño ejecutar comandos en tus dispositivos para acceder a los datos necesarios - y también escribir los datos generados de vuelta.

awaBerry Agentic Claude Desktop Introduction

Obtención de credenciales.

El acceso a la plataforma awaBerry a través de un servidor MCP se proporciona mediante una clave de proyecto y un secreto de proyecto. Puedes configurar tus propios proyectos para tus propios dispositivos o recibir las credenciales.

Crear un proyecto propio

Una cuenta en app.awaberry.com y un dispositivo vinculado a awaBerry Remote.

  1. Regístrate en awaberry Remote.
  2. Añade uno o más dispositivos.
  3. Crea un nuevo proyecto en la sección awaBerry Agentic.
  4. Registra tus dispositivos con el proyecto.
  5. Copia tu clave y secreto de proyecto desde la configuración del proyecto.

Lee más sobre awaBerry en www.awaberry.com

Credenciales de proyecto recibidas

Has recibido la clave y el secreto del proyecto, por ejemplo, a través del departamento de TI de la empresa o de un amigo.

Acceso de demostración

Para conectarte a un proyecto de demostración, usa las siguientes credenciales

  • clave de proyecto: demokey
  • secreto de proyecto: demosecret
  • nombre del dispositivo: demodevice

Características

Herramientas

El mcp de awaBerry consta de las siguientes herramientas:

connect_to_device

Se conecta a un dispositivo remoto (Mac, Linux, Windows o Docker) registrado en tu proyecto awaberry.

  • Parámetros:

    • projectKey (opcional): Clave de autenticación del proyecto (por defecto, la variable de entorno AWABERRY_PROJECT_KEY).
    • projectSecret (opcional): Secreto de autenticación del proyecto (por defecto, la variable de entorno AWABERRY_PROJECT_SECRET).
    • deviceName (obligatorio): Nombre del dispositivo al que conectarse.
  • Devuelve:

    • sessionToken (cadena): Token de autenticación para la sesión.
    • status (cadena): Estado de la conexión ("connected" o "notconnected").
    • deviceuuid (cadena): Identificador único del dispositivo.

El sessionToken es válido durante 30 minutos desde el inicio de la conexión.

execute_terminal_command

Ejecuta comandos de terminal en un dispositivo conectado para gestionar archivos, conectarse a bases de datos y ejecutar comandos de terminal en una sesión de terminal persistente de larga duración.

Al reconectarse al dispositivo, el último estado de la terminal está disponible; esto también permite iniciar comandos de larga duración y obtener los resultados cuando estén disponibles.

  • Parámetros:

    • sessionToken (obligatorio): Token de sesión de la conexión del dispositivo.
    • deviceuuid (obligatorio): UUID del dispositivo en el que ejecutar el comando.
    • command (obligatorio): Comando de terminal a ejecutar.
  • Devuelve:

    • success (booleano): Indica si el comando fue aceptado para su ejecución.
    • result.commandResult (cadena): Salida del comando.
    • result.lastCommandEndedOnTerminal (booleano): Indica si el proceso del comando ha finalizado.

Instalación

Requisitos previos

Descarga

Abre una terminal y, opcionalmente, crea una carpeta para el servidor mcp de awaBerry


# optionally
cd $HOME
mkdir awaberry
cd awaberry 

# Clone the repository
git clone https://github.com/awaberry/mcp_server_awaberry.git
cd mcp_server_awaberry

# Install dependencies
npm install

PWD
# outputs the absolute path to mcp_server_awaberry which will be required in the later configuration setup

Configuración de un servidor MCP de awaBerry en entornos empresariales

Lee el archivo MCPSERVER.md para obtener instrucciones de configuración de un servidor MCP de awaBerry en entornos locales o como un trabajador de Cloudflare.

Configuración en Claude Desktop

Para usar awaBerry con Claude Desktop, añade la configuración del servidor a tu archivo claude_desktop_config.json.

  • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • En Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "awaberry": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients/start-awaberry-mcp.js"
      ]
      
    }
  }
}

Importante: Reemplaza /absolute/path/to/mcp_server_awaberry con la ruta absoluta real a tu instalación (por ejemplo, /Users/username/projects/mcp_server_awaberry).

Configuración del servidor MCP y credenciales

Al servidor MCP de awaBerry, añade las siguientes configuraciones

Para configurar la URL del servidor, la clave del proyecto y el secreto del proyecto, copia el archivo awaberry-config.json.example a awaberry-config.json.

En una terminal, escribe

  cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients
  cp awaberry-config.json.example awaberry-config.json

Edita el archivo awaberry-config.json.

{
  "serverUrl": "<serverUrl>",
  "env": {
    "AWABERRY_PROJECT_KEY": "<AWABERRY_PROJECT_KEY>",
    "AWABERRY_PROJECT_SECRET": "<AWABERRY_PROJECT_KEY>"
  }
}

Importante: Reemplaza

  • serverUrl: con el servidor que el equipo de TI de tu empresa ha instalado para ti o tu servidor mcp local. Inicia tu servidor mcp local de la siguiente manera:

Para conectarte a través de un servidor mcp local, usa http://localhost:3000/mcp. Para iniciar el servidor mcp, hazlo en una terminal

  cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/
   npm run start:mcp:json

Para monitorear el registro del servidor mcp, abre otra terminal y escribe

  cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/
  tail -f activitylog.log
  • AWABERRY_PROJECT_KEY: la clave de proyecto recibida para un proyecto awaBerry Agentic
  • AWABERRY_PROJECT_SECRET: el secreto de proyecto recibido.

Ejemplos de uso

Una vez configurado, reinicia Claude Desktop y usa lenguaje natural para interactuar con tus dispositivos:

  • Conectar a un dispositivo:

    Conéctate a mi dispositivo "laptop-macos"

  • Listar archivos:

    Muéstrame todos los archivos en mi directorio de inicio

  • Leer un archivo:

    Lee el contenido del archivo

  • Ejecutar comandos complejos:

    Encuentra todos los archivos de texto modificados en los últimos 7 días en mi directorio de inicio

  • Ejecutar scripts:

    Ejecuta el script de respaldo en ~/scripts/backup.sh

Registro

Toda la actividad se registra en activitylog.log en el directorio raíz del proyecto. Los registros incluyen:

  • Invocaciones de herramientas con marcas de tiempo
  • Intentos de conexión y resultados
  • Ejecuciones de comandos y salidas
  • Errores y advertencias

Ejemplo de salida de registro:

2025-01-15 10:30:45 [INFO]: 📥 [Tool] connect_to_device called
2025-01-15 10:30:45 [INFO]: 📋 [Tool] Device name: laptop-macos
2025-01-15 10:30:46 [INFO]: ✅ [Tool] connect_to_device successful - Session: a1b2c3d4...

Límites de tasa

Los límites de tasa son aplicados por la plataforma awaberry:

  • Intentos de conexión: Según sea necesario.
  • Ejecuciones de comandos: Según el nivel del plan de awaBerry.

Consulta los detalles de tu plan en awaberry Agentic para conocer los límites específicos.

Solución de problemas

El servidor no se inicia

  • Asegúrate de que Node.js >= 18 esté instalado: node --version
  • Comprueba que todas las dependencias estén instaladas: npm install
  • Verifica que la ruta del archivo en claude_desktop_config.json sea absoluta y correcta.
  • Comprueba si hay errores de sintaxis en el archivo JSON de configuración.

La conexión falla

  • Permite que Claude Desktop ejecute solicitudes a awaBerry si lo solicita.
  • Verifica que tu clave y secreto de proyecto sean correctos en las variables de entorno.
  • Asegúrate de que el nombre del dispositivo coincida exactamente (distingue entre mayúsculas y minúsculas).
  • Comprueba que el dispositivo esté en línea y conectado a awaberry.
  • Revisa activitylog.log para ver mensajes de error detallados.
  • Confirma que el dispositivo esté registrado en tu proyecto awaberry.

Los comandos no se ejecutan

  • Comprueba que el dispositivo siga conectado.
  • Asegúrate de que la sintaxis del comando sea correcta para el sistema operativo objetivo.
  • Revisa la salida del comando en activitylog.log.
  • Comprueba los permisos del dispositivo para el comando que intentas ejecutar.

Claude Desktop no muestra el servidor MCP

  • Reinicia Claude Desktop después de modificar el archivo de configuración.
  • Comprueba la sintaxis JSON en claude_desktop_config.json.
  • Asegúrate de que la ruta del archivo use barras diagonales (/) o barras invertidas correctamente escapadas (\\).
  • Busca errores en los registros de Claude Desktop.

Consideraciones de seguridad

  • Guarda tu AWABERRY_PROJECT_KEY y AWABERRY_PROJECT_SECRET de forma segura.
  • Nunca envíes credenciales al control de versiones.
  • Usa variables de entorno para configuraciones sensibles.
  • Los tokens de sesión son temporales y expiran automáticamente.
  • Toda la comunicación con los servidores de awaberry utiliza HTTPS.

Licencia

MIT

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una solicitud de extracción o contactarnos.

Soporte

Para documentación y preguntas: