Ubidots MCP Server
Servidor MCP que expone datos, entidades y agregaciones de Ubidots IoT para asistentes de IA.
Documentación
Resumen
El Protocolo de Contexto de Modelo (MCP) permite que las aplicaciones de IA se conecten de forma segura a APIs externas. En proyectos de IoT, esto significa que tu aplicación de IA puede decidir automáticamente si necesita llamar a la API de Ubidots para responder a una solicitud del usuario — ya sea para leer datos o realizar un cambio en tu nombre.
Ejemplos:
- "¿Qué dispositivos están fuera de línea?"
- "Muestra los últimos valores de
temperaturepara el dispositivoaws810". - "¿Cuál fue el promedio de
temperatureayer paraMachine ABC?" - "Crea un nuevo incidente para el dispositivo
aws810\con severidad P2." - "Actualiza la descripción del dispositivo
pump-04\."
En este artículo exploramos el uso de Ubidots MCP desde:
- Claude Desktop
- API de Anthropic
Uso del servidor Ubidots MCP desde Claude Desktop
Requisitos previos
- Una cuenta de Ubidots y un token de API de Ubidots (con alcance para la organización que quieras usar).
- Claude Desktop instalado (macOS/Windows/Linux).
Paso a paso
- Abre la configuración de Claude Desktop Inicia Claude Desktop → Configuración → Desarrollador.
- Edita la configuración
Haz clic en Editar configuración para abrir
claude_desktop_config.json. - Agrega la entrada del servidor Ubidots MCP
Pega el fragmento a continuación en el JSON (combínalo con tu
mcpServersexistente si está presente). Reemplaza<YOUR UBIDOTS TOKEN>con tu token real.
Notas{ "mcpServers": { "ubidots": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.ubidots.com/mcp", "--header", "Authorization:${AUTH_HEADER}" ], "env": { "AUTH_HEADER": "Bearer <YOUR UBIDOTS TOKEN>" } } } }- Si
mcpServersya existe, agrega solo el bloque"ubidots"dentro de él. - Mantén la sintaxis JSON válida (comas, llaves).
- La URL anterior (
/mcp) expone todas las herramientas disponibles. Consulta Rutas MCP con alcance a continuación para restringir el acceso por entidad o nivel de permiso.
- Si
- Guarda y recarga Claude Guarda el archivo y reinicia Claude Desktop (o usa "Recargar" si está disponible).
- Verifica la conexión
En un nuevo chat de Claude, asegúrate de que el MCP esté habilitado y prueba esto:
- "¿Qué dispositivos están en línea?" Si está configurado correctamente, Claude debería confirmar que la herramienta MCP está disponible y devolver datos en vivo de Ubidots.
Solución de problemas
Claude no muestra la herramienta Ubidots
- Reinicia Claude después de editar la configuración.
- Verifica la validez del JSON (usa un validador JSON en línea si es necesario).
- Asegúrate de que
npxesté disponible en tu PATH del sistema.
401 / No autorizado
- Verifica que el token no haya expirado o sido revocado.
Errores de red
- Confirma que estés en línea y no detrás de un proxy/cortafuegos que bloquee HTTPS saliente.
- Intenta nuevamente más tarde en caso de problemas de red transitorios.
Múltiples servidores MCP configurados
- Asegúrate de que no haya claves duplicadas llamadas
ubidots. - Si renombraste el servidor, recuerda que el nombre que verás dentro de Claude coincidirá con esa clave.
Actualizar o eliminar la integración
- Actualizar token: Abre
claude_desktop_config.json, reemplaza el token en el encabezado, guarda y recarga Claude. - Deshabilitar: Elimina o comenta el bloque
"ubidots"bajomcpServers, guarda y recarga Claude.
Uso del servidor Ubidots MCP con la API de Anthropic
Si bien Claude Desktop es excelente para pruebas, no se asemeja a escenarios del mundo real, donde los usuarios querrán interactuar con un agente de IA a través de Slack, Whatsapp o un chat basado en web dentro de tu aplicación impulsada por Ubidots.
En tales escenarios, usar una API de IA como OpenAI API o API de Anthropic te permitirá agregar la capa de inteligencia necesaria a tu caso de uso.
Aquí tienes una solicitud de ejemplo que usarías desde dicha aplicación para interactuar tanto con las consultas de tus usuarios como con Ubidots MCP:
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-04-04" \
-d '{
"model": "claude-3-5-sonnet-20240620",
"max_tokens": 500,
"system": "You are a smart IoT assistant. If you need device data, use the attached MCP.",
"messages": [
{"role": "user", "content": "List my devices"}
],
"mcp_servers": [
{
"type": "url",
"name": "ubidots",
"url": "https://mcp.ubidots.com/mcp",
"authorization_token": "YOUR_UBIDOTS_TOKEN"
}
]
}'
Para obtener más información sobre el conector MCP de Anthropic, visita su documentación oficial.
Rutas MCP con alcance
De forma predeterminada, conectarse a https://mcp.ubidots.com/mcp expone todas las herramientas disponibles a la IA, incluidas las herramientas que crean o modifican datos, no solo las de lectura. Puedes reducir esto usando una ruta más específica, ya sea para restringir permisos (solo lectura) o para limitar el alcance a una entidad específica (dispositivos, variables, incidentes, etc.).
Esto es útil por dos razones:
- Seguridad: Puedes garantizar que la IA solo tenga acceso de lectura, o que solo pueda interactuar con un subconjunto específico de tus datos.
- Prevención de cambios no deseados: Dado que la mayoría de las entidades ahora admiten operaciones de escritura (crear o actualizar registros), se recomienda limitar el alcance a una ruta
/readonly\para cualquier caso de uso donde la IA no deba poder modificar tu cuenta — por ejemplo, un chatbot de informes de solo lectura. - Eficiencia de tokens: Exponer menos herramientas significa que se envía menos contexto al modelo de IA en cada solicitud, lo que reduce el consumo de tokens de entrada.
Rutas disponibles
| Ruta | Descripción |
|---|---|
/mcp | Todas las herramientas (lectura y escritura) en todas las entidades |
/mcp/readonly | Todas las herramientas, restringidas a operaciones de solo lectura |
/mcp/_/devices | Todas las herramientas limitadas solo a dispositivos |
/mcp/_/devices/readonly | Herramientas de solo lectura limitadas solo a dispositivos |
/mcp/_/variables | Todas las herramientas limitadas solo a variables |
/mcp/_/variables/readonly | Herramientas de solo lectura limitadas solo a variables |
/mcp/_/device-groups | Todas las herramientas limitadas solo a grupos de dispositivos |
/mcp/_/device-groups/readonly | Herramientas de solo lectura limitadas solo a grupos de dispositivos |
/mcp/_/device-types | Todas las herramientas limitadas solo a tipos de dispositivos |
/mcp/_/device-types/readonly | Herramientas de solo lectura limitadas solo a tipos de dispositivos |
/mcp/_/organizations | Todas las herramientas limitadas solo a organizaciones |
/mcp/_/organizations/readonly | Herramientas de solo lectura limitadas solo a organizaciones |
/mcp/_/events | Todas las herramientas limitadas solo a eventos (actualmente solo lectura) |
/mcp/_/events/readonly | Igual que /mcp/_/events; aún no existen herramientas de escritura para esta entidad |
/mcp/_/incidents | Todas las herramientas limitadas solo a incidentes |
/mcp/_/incidents/readonly | Herramientas de solo lectura limitadas solo a incidentes |
Ejemplo: acceso de solo lectura a dispositivos
En una configuración de Claude Desktop, simplemente reemplaza la URL:
"args": [
"-y",
"mcp-remote",
"https://mcp.ubidots.com/mcp/_/devices/readonly",
"--header",
"Authorization:${AUTH_HEADER}"
]
En una llamada a la API de Anthropic:
"mcp_servers": [
{
"type": "url",
"name": "ubidots",
"url": "https://mcp.ubidots.com/mcp/_/devices/readonly",
"authorization_token": "YOUR_UBIDOTS_TOKEN"
}
]
Preguntas frecuentes
¿Funciona con otros clientes MCP?
Sí. Cualquier cliente compatible con MCP puede conectarse a https://mcp.ubidots.com/mcp (o cualquiera de las rutas con alcance) usando el mismo encabezado Authorization.
¿El servidor es local? No. El servidor Ubidots MCP está alojado en la nube; lo que te ahorra la necesidad de ejecutarlo localmente y permite aplicaciones como bots de IA de Whatsapp.
¿Puedo usar múltiples cuentas de Ubidots?
Sí: crea entradas separadas (por ejemplo, ubidots-prod, ubidots-staging) con diferentes tokens.
Herramientas MCP
El servidor Ubidots MCP proporciona acceso a los datos de tu cuenta en las entidades a continuación. La mayoría de las entidades admiten tanto lectura como escritura: puedes consultar registros existentes, así como crearlos y actualizarlos. Eventos actualmente es de solo lectura.
| Entidad | Herramientas de lectura | Herramientas de escritura |
|---|---|---|
| Dispositivos | list_devices, list_device_last_values | create_device, update_device |
| Variables | list_variables, list_variables_by_device, get_variable_statistics, get_variable_series | create_variable, update_variable |
| Tipos de dispositivos | list_device_types | create_device_type, update_device_type |
| Grupos de dispositivos | list_device_groups | create_device_group, update_device_group |
| Organizaciones | list_organizations | create_organization, update_organization |
| Eventos | list_events, list_event_logs | — |
| Incidentes | list_incidents, list_incident_logs | create_incident, acknowledge_incident, add_incident_comment, assign_incident |
Nota sobre incidentes: La asignación y el estado de un incidente (reconocido, comentado) se pueden actualizar después de su creación, pero su severidad y descripción actualmente no se pueden cambiar a través del MCP una vez creado.
Lista de funciones de agregación estadística que se pueden consultar usando el servidor MCP
El servidor MCP puede calcular resultados agregados sobre variables de usuario usando las siguientes operaciones:
- Primero
- Último
- Mínimo
- Máximo
- Conteo
- Suma
- Media
- Desviación estándar
- Percentil 25
- Percentil 50
- Percentil 75
Ejemplos de solicitudes para comenzar
Lectura de datos:
- "Lista las organizaciones y muestra el conteo de dispositivos para cada una."
- "Para el dispositivo
aws810, lista las variables y muestra las últimas marcas de tiempo y valores." - "¿Cuál es la temperatura promedio a la que funciona el aire acondicionado en cada piso?"
Creación y actualización de datos:
- "Crea un nuevo dispositivo llamado
pump-04bajo la organizaciónPlant North." - "Actualiza la descripción del dispositivo
aws810a 'Compresor del ala norte'." - "Crea un incidente P2 para el dispositivo
aws810sobre una falla del sensor." - "Reconoce el incidente #1234 y deja un comentario de que estamos investigando."
- "Muéstrame todos los incidentes activados que no están asignados a nadie."
Si encuentras problemas o tienes solicitudes de funciones para el servidor Ubidots MCP, infórmanos qué cliente estás usando, tu sistema operativo y una copia redactada de tu configuración de mcpServers para que podamos ayudarte más rápido.
