Cumulocity MCP Server
Accede a la plataforma Cumulocity IoT para gestionar dispositivos, mediciones y alarmas.
Documentación
Cumulocity MCP Server
Un servidor basado en Python que proporciona funcionalidad de la plataforma Cumulocity IoT a través de la interfaz MCP (Model Control Protocol). Este servidor permite una interacción fluida con la gestión de dispositivos, mediciones y sistemas de alarmas de Cumulocity.
Herramientas Disponibles
Gestión de Dispositivos
-
Obtener Dispositivos
- Listar y filtrar dispositivos
- Parámetros:
type: Filtrar por tipo de dispositivoname: Filtrar por nombre de dispositivopage_size: Resultados por página (máximo 2000)current_page: Número de página
-
Obtener Dispositivo por ID
- Recuperar información detallada de un dispositivo específico
- Parámetro:
device_id: Identificador del dispositivo
-
Obtener Dispositivos Hijos
- Ver los dispositivos hijos de un dispositivo específico
- Parámetro:
device_id: Identificador del dispositivo padre
-
Obtener Fragmentos de Dispositivo
- Acceder a los fragmentos del dispositivo y sus valores
- Parámetro:
device_id: Identificador del dispositivo
Mediciones
Obtener Mediciones de Dispositivo
- Recuperar mediciones del dispositivo con filtrado por tiempo
- Parámetros:
device_id: Identificador del dispositivodate_from: Fecha de inicio (formato ISO 8601)date_to: Fecha de fin (formato ISO 8601)page_size: Número de mediciones a recuperar
Alarmas
Obtener Alarmas Activas
- Monitorear alarmas activas en el sistema
- Parámetros:
severity: Filtrar por nivel de severidadpage_size: Número de resultados a recuperar
Mapeador Dinámico
evaluate_jsonata_expression Evalúa una expresión JSONata contra un objeto JSON dado.
Entrada: Un objeto JSON como cadena y una cadena de expresión JSONata. Salida: Resultado de la evaluación de la expresión JSONata.
Instalación y Despliegue
Instalación Local
Usando uv (recomendado)
Cuando se usa uv no se necesita instalación específica para este paquete. Usaremos uvx para ejecutar directamente mcp-server-c8y.
Usando PIP
Alternativamente, puedes instalar mcp-server-c8y mediante pip:
pip install mcp-server-c8y
Después de la instalación, puedes ejecutarlo como un script usando:
python -m mcp_server_c8y
Despliegue en un Tenant de Cumulocity
Puedes desplegar este servidor como un microservicio de Cumulocity para una integración directa con tu tenant. Esto se hace subiendo un paquete de despliegue especial (mcp-server-c8y.zip) a tu tenant de Cumulocity.
Construcción del Paquete de Despliegue del Microservicio
- Asegúrate de tener Docker y zip instalados en tu sistema.
- Ejecuta el script de construcción proporcionado para crear el paquete de despliegue:
./scripts/buildcontainer.sh
Esto hará lo siguiente:
- Construirá la imagen Docker para el microservicio
- Guardará la imagen como
image.taren el directoriodocker/ - Empaquetará
image.tarycumulocity.jsonendocker/mcp-server-c8y.zip
Despliegue en Cumulocity
- Inicia sesión en tu tenant de Cumulocity como usuario con permisos de despliegue de microservicios.
- Navega a Administración > Ecosistema > Microservicios.
- Haz clic en Añadir microservicio y sube el archivo
mcp-server-c8y.zipdesde el directoriodocker/. - Espera a que el microservicio se despliegue e inicie. Deberías ver su estado como "Disponible" una vez que esté listo.
- El microservicio será accesible bajo la URL de servicio de tu tenant, típicamente:
https://<your-tenant>.cumulocity.com/service/mcp-server-c8y/mcp/
Para más detalles sobre el despliegue de microservicios en Cumulocity, consulta la documentación oficial.
Uso con Claude Desktop
Este MCP Server se puede usar con Claude Desktop para permitir que Claude interactúe con tu plataforma Cumulocity IoT. Sigue estos pasos para configurarlo:
-
Descarga e instala Claude Desktop
-
Configura Claude Desktop para usar este MCP Server:
- Abre Claude Desktop
- Haz clic en el menú de Claude y selecciona "Settings..."
- Navega a "Developer" en la barra izquierda
- Haz clic en "Edit Config"
-
Añade la siguiente configuración a tu
claude_desktop_config.json:
Usando uvx
"mcpServers": {
"mcp-c8y": {
"command": "uvx",
"args": [
"mcp-server-c8y",
"--transport",
"stdio"
],
"env": {
"C8Y_BASEURL": "https://your-cumulocity-instance.com",
"C8Y_TENANT": "your-tenant-id",
"C8Y_USER": "<your-username>",
"C8Y_PASSWORD": "<your-password>"
}
}
}
Reemplaza los siguientes marcadores con tus valores reales:
https://your-cumulocity-instance.com: La URL de tu instancia de Cumulocityyour-tenant-id: El ID de tu tenant de Cumulocityyour-username: Tu nombre de usuario de Cumulocityyour-password: Tu contraseña de Cumulocity
-
Reinicia Claude Desktop
-
Ahora deberías ver un icono de martillo en la esquina inferior derecha del cuadro de entrada. Haz clic en él para ver las herramientas de Cumulocity disponibles.
Para información más detallada sobre el uso de MCP Servers con Claude Desktop, visita la documentación oficial de MCP.
Ejemplo de Configuración de MCP Server en Cursor
Si estás usando Cursor y has desplegado tu MCP Server en un tenant de Cumulocity, puedes configurar la conexión de tu MCP server con un archivo .cursor/mcp.json. Ejemplo (con datos sensibles anonimizados):
{
"mcpServers": {
"Cumulocity": {
"url": "https://your-cumulocity-instance.com/service/mcp-server-c8y/mcp/",
"headers": {
"Authorization": "Basic <YOUR_BASE64_AUTH_TOKEN>"
}
}
}
}
https://your-cumulocity-instance.com: La URL de tu instancia de Cumulocity- Reemplaza
<YOUR_BASE64_AUTH_TOKEN>con tus credenciales reales codificadas en Base64. Nunca subas credenciales reales al control de versiones.
Contribuciones
¡Damos la bienvenida a contribuciones de todos! Así es como puedes contribuir a este proyecto:
- Haz un fork del repositorio
- Crea una nueva rama para tu funcionalidad o corrección de errores
- Realiza tus cambios siguiendo estas mejores prácticas:
- Escribe mensajes de commit claros y descriptivos
- Sigue el estilo y las convenciones de código existentes
- Añade pruebas para nuevas funcionalidades
- Actualiza la documentación según sea necesario
- Asegúrate de que todas las pruebas pasen
- Envía una solicitud de extracción (pull request)