> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-es/kilo-iot-server/api/mcp-server.md).

# Servidor MCP

Conecta agentes de IA a dispositivos IoT a través del servidor MCP de IoT protegido con OAuth de Kilo y trabaja con una implementación en vivo dentro de los permisos del usuario.

MCP — el Protocolo de Contexto de Modelo — es un estándar abierto que permite a un cliente de IA descubrir y llamar herramientas en un servidor remoto. El servidor Kilo IoT publica un endpoint MCP, por lo que cualquier cliente compatible con MCP — Claude Code, Claude Desktop, ChatGPT, Codex, Cursor y otros — puede conectarse a su organización y trabajar con su despliegue real: dispositivos, conectores, reglas, alarmas y paneles.

Esta es una de las vías de integración para la [Plataforma de IA física para agentes de IA](/kilo-docs-es/kilo-iot-server/physical-ai.md). Kilo sigue siendo la capa de ejecución gobernada entre el cliente y la infraestructura real, por lo que el modelo no necesita recrear protocolos de dispositivos, límites de organización ni el ciclo de vida operativo en torno a un cambio.

Como MCP es un estándar abierto y no una integración por proveedor, esta no es una lista fija. Cualquier cliente que hable MCP a través de HTTP transmisible puede conectarse, y las guías a continuación cubren los dos flujos que siguen la mayoría de los clientes: una configuración desde la línea de comandos y un cuadro de diálogo de conector.

El endpoint es:

```
https://mcp-auth.kiloiot.io/mcp
```

Autoriza la conexión en tu navegador con tu cuenta habitual de Kilo. No hay ninguna clave API que generar, ningún token que pegar y nada que almacenar en la máquina que ejecuta el cliente.

## Por qué importa

Sin MCP, poner a un asistente a trabajar contra un despliegue en vivo significa escribir primero una integración: una clave, una biblioteca cliente, un script por cada pregunta. Eso está bien para un trabajo programado y resulta pesado para un incidente a las 2 de la madrugada.

Con el servidor MCP conectado, el cliente que ya usas se convierte en una consola de operador sobre tu despliegue — y puede actuar, no solo leer. Un ingeniero de operaciones puede preguntar qué dispositivos de un sitio han dejado de reportar y revisar las alarmas alrededor de una ventana de fallo en una sola conversación, con datos en vivo. Un integrador que construye una implementación puede hacer que aprovisione un lote de dispositivos con el conector correcto en lugar de hacer clic en el mismo cuadro de diálogo cincuenta veces. Un líder de equipo puede pedir estadísticas de alarmas abiertas antes de un cambio de turno. Y como el conjunto de herramientas incluye comandos de dispositivo, la misma conversación puede cambiar un intervalo de informes o activar un relé. Lo que rige eso — y por qué una IA que actúa sobre infraestructura física es una propuesta diferente de una que actúa sobre datos — se explica en [IA física](/kilo-docs-es/kilo-iot-server/physical-ai.md).

Como la conexión lleva tu propia cuenta, el asistente no es una identidad adicional que haya que gobernar. Puede hacer lo que tú puedes hacer, en la organización en la que estás trabajando, y nada más.

## Conectar Claude Code

1. Añade el servidor, dándole el nombre `kilo`:

   ```bash
   claude mcp add --transport http kilo https://mcp-auth.kiloiot.io/mcp
   ```
2. Inicia Claude Code en tu proyecto y ejecuta:

   ```
   /mcp
   ```
3. Selecciona el `kilo` servidor. Claude Code abre tu navegador para la autorización.
4. Inicia sesión con tu cuenta habitual de Kilo y aprueba la solicitud. El navegador confirma la autorización y puedes volver a la terminal.
5. Ejecuta `/mcp` de nuevo si quieres comprobar el resultado. Cuando el `kilo` servidor se informa como **conectado**, sus herramientas están disponibles y puedes empezar a hacer preguntas en lenguaje natural.

## Conectar Claude Desktop

1. Abre **Configuración → Conectores**.
2. Haz clic en **Añadir conector personalizado**.
3. Pega la URL del endpoint — `https://mcp-auth.kiloiot.io/mcp` — en el campo URL.
4. Haz clic en **Conectar**. Claude Desktop abre tu navegador para la autorización.
5. Inicia sesión con tu cuenta habitual de Kilo y aprueba la solicitud.
6. De vuelta en Claude Desktop, confirma que el conector aparece como activo. Sus herramientas ya están disponibles en cualquier conversación.

## Conectar otro cliente MCP

ChatGPT, Codex, Cursor y otros clientes compatibles con MCP siguen una de las mismas dos formas. Cuando el cliente tiene un conector o un cuadro de diálogo de integraciones, añade un servidor MCP personalizado y pega la URL del endpoint, como en los pasos de Claude Desktop anteriores. Cuando se configura desde una línea de comandos o un archivo de configuración, registra el endpoint como un **HTTP transmisible** servidor — el transporte que sirve este endpoint — como en los pasos de Claude Code.

En cualquier caso, la autorización es la misma: el cliente abre tu navegador, inicias sesión con tu cuenta habitual de Kilo y la conexión lleva tus permisos. Consulta la documentación propia de tu cliente para ver dónde guarda los servidores MCP; nada de este endpoint es específico del cliente.

## Cómo se ve una sesión conectada

<figure><img src="https://3373664356-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-c76dbc8c4ecd947cc8440377d59be70c5367d640%2Fmcp-claude-session.jpg?alt=media" alt="A Claude Code session connected to Kilo over MCP, calling the connection_list tool and asking permission before continuing"><figcaption><p>Una sesión autenticada de Claude Code trabajando sobre un despliegue en vivo: cuando se le pide configurar un sensor LoRaWAN, recomienda aprovisionarlo a través de la plataforma, llama a una herramienta de Kilo y se detiene para pedir permiso antes de continuar</p></figcaption></figure>

El cliente puede responder desde tu despliegue real porque puede leer las conexiones y los dispositivos disponibles para tu cuenta. El aviso de aprobación pertenece al cliente: Kilo publica información de seguridad con cada herramienta, y los clientes compatibles pueden usarla para solicitar confirmación. Kilo aplica los permisos de tu cuenta independientemente de cómo el cliente maneje esa información. Ver [Seguridad y permisos](#security-and-permissions).

## Elegir la organización

`https://mcp-auth.kiloiot.io/mcp` funciona contra la organización **seleccionada actualmente en la aplicación web de Kilo**. Este es el valor predeterminado correcto para la mayoría de las personas: lo que sea en lo que estés trabajando en la plataforma es lo que ve tu cliente.

Si cambias la organización activa en la aplicación web, vuelve a conectar el cliente para que el endpoint predeterminado recoja el cambio.

Para fijar un cliente a una sola organización, independientemente de lo que esté seleccionado en la aplicación web, conéctalo a la forma del endpoint con alcance de organización en su lugar:

```
https://mcp-auth.kiloiot.io/o/{organizationId}/mcp
```

Reemplaza `{organizationId}` por el ID de la organización de la aplicación web. Fijarlo merece la pena cuando un cliente debe operar siempre contra una única organización de producción — por ejemplo, un integrador que mantiene el despliegue de un cliente, o una estación de trabajo que nunca debe tocar staging.

Si no eres miembro de la organización a la que lo fijas, la solicitud se rechaza.

## Lo que el asistente puede hacer

Una vez conectado, el cliente ve un conjunto de herramientas que invoca en tu nombre. Tú no las llamas directamente: describes la tarea y el cliente elige las herramientas que necesita.

| Área             | Lo que puede hacer el cliente conectado                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Dispositivos** | Listar dispositivos en la organización, aprovisionar dispositivos LoRaWAN, MQTT y de rastreo, leer perfiles de dispositivos e inspeccionar asignaciones de sensores. `device_list`, `device_provision_lorawan`, `device_provision_mqtt`, `device_provision_tracker`, `device_profile_list`, `sensor_map`                                                                                                                                                                                                                                                  |
| **MIOTY**        | Explorar el catálogo de dispositivos de una conexión MIOTY — fabricantes, modelos de dispositivos y sus planos, en los ámbitos System y Custom — y poner en marcha un endpoint a partir de él. `mioty_catalog_list`, `device_provision_mioty`                                                                                                                                                                                                                                                                                                             |
| **Hardware**     | Buscar en el catálogo de socios y en la web abierta equipos que se ajusten a una necesidad descrita y, después, presentar una selección breve de esos productos. Estas son las dos herramientas que salen fuera de tu organización. `hardware_search`, `recommend_products`                                                                                                                                                                                                                                                                               |
| **Comandos**     | Listar los comandos configurados en un dispositivo, ejecutar uno tras una confirmación y comprobar si se entregó. `device_command_list`, `device_command_execute`, `device_command_status`                                                                                                                                                                                                                                                                                                                                                                |
| **Emulador**     | Explorar preajustes de dispositivos, aprovisionar un [dispositivo emulado](/kilo-docs-es/kilo-iot-server/devices/emulated-devices.md), leer y actualizar su configuración e intervalo, enviar una lectura puntual y mover un dispositivo entre el emulador y el hardware real — cualquier dispositivo real al Emulador, y un dispositivo emulado a una conexión LoRaWAN real. `emulator_preset_list`, `emulator_preset_get`, `device_provision_emulator`, `emulator_config_get`, `emulator_config_update`, `emulator_send_once`, `device_connection_swap` |
| **Conectores**   | Revisar los conectores definidos en la organización y crear una conexión para que un dispositivo informe a través de ella. `connector_list`, `connection_create`                                                                                                                                                                                                                                                                                                                                                                                          |
| **Reglas**       | Revisar reglas, preparar y desplegar automatizaciones tras confirmación, simular la lógica antes de que llegue a producción e inspeccionar el historial de ejecución. `rule_list`, `rule_provision`, `rule_simulate`, `rule_execution_history`                                                                                                                                                                                                                                                                                                            |
| **Alarmas**      | Listar alarmas y resumir la actividad de alarmas para un turno o un sitio. `alarm_list`, `alarm_stats`                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Paneles**      | Listar paneles y consultar los datos detrás de un widget, para que el cliente pueda razonar sobre los mismos números que observan tus operadores. `dashboard_list`, `widget_data_query`                                                                                                                                                                                                                                                                                                                                                                   |
| **Organización** | Leer detalles de la organización, listar equipos, invitar usuarios y asignar roles. `org_get`, `team_list`, `user_invite`, `user_role_assign`                                                                                                                                                                                                                                                                                                                                                                                                             |

## Cómo distinguen los clientes las acciones de lectura y escritura

Kilo publica un título, una descripción y anotaciones de seguridad con cada herramienta MCP. Los clientes compatibles pueden leer estas anotaciones antes de decidir si ejecutan la herramienta de inmediato o si te piden que confirmes.

| Anotación                         | Ejemplos                                                                                               | Qué le indica al cliente                                                                               |
| --------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| **Solo lectura**                  | Listar dispositivos, leer el historial de alarmas, consultar datos de widgets                          | La herramienta no cambia tu despliegue.                                                                |
| **Cambia o elimina datos**        | Eliminar un dispositivo, actualizar un panel, cambiar una conexión, enviar un comando a un dispositivo | La herramienta puede afectar a tu despliegue o equipo, por lo que el cliente puede pedir confirmación. |
| **Sale fuera de tu organización** | Buscar hardware en el catálogo de socios o en la web abierta                                           | La herramienta accede a información más allá de los datos de tu organización.                          |

Crear un dispositivo o un panel cambia tu organización, pero no sobrescribe ni detiene un recurso existente y puede deshacerse eliminando el nuevo recurso. Por eso Kilo no describe la creación como destructiva.

Las anotaciones de seguridad son información para el cliente, no un control de autorización. Los clientes deciden cómo presentar las confirmaciones. Tus permisos de Kilo siguen siendo el límite aplicado, así que un cliente no puede realizar una acción que tu cuenta no tenga अनुमति para realizar.

## Seguridad y permisos

* **Inicias sesión tú, no una cuenta de servicio.** La autorización ocurre en tu navegador con tu cuenta normal de Kilo. No se genera, copia ni almacena ninguna clave para la conexión.
* **Tus permisos son el techo.** La conexión lleva tu propio acceso. El cliente solo puede hacer lo que tu cuenta tiene permitido hacer — si tú no puedes desplegar una regla o invitar a un usuario, él tampoco.
* **Los límites de la organización se respetan.** Una solicitud para una organización de la que no eres miembro se rechaza, ya provenga del endpoint predeterminado o de uno fijado.
* **Las acciones conservan sus registros operativos.** Los cambios y ejecuciones de reglas aparecen en el historial de reglas, los envíos de comandos a dispositivos aparecen en el historial de ejecución de comandos y los cambios de acceso a la organización aparecen en el registro de auditoría. Se trata de registros separados para sus flujos de trabajo correspondientes, no de un único registro genérico de conversación.

Trata a un cliente autorizado como una sesión iniciada: debe estar en máquinas que controlas.

## En qué se diferencia del asistente integrado

Kilo tiene un [Asistente de IA para IoT](/kilo-docs-es/kilo-iot-server/ai-assistant.md) integrado en la aplicación web — ábrelo desde **Chat de IA** y trabaja tu despliegue contigo, sin ninguna configuración. Ese es el camino más rápido para la mayoría de las personas, y es donde viven las puertas de confirmación, los gráficos en línea y la base de conocimientos de la plataforma.

El servidor MCP apunta en la otra dirección: lleva **tu propio cliente** al mismo despliegue. Úsalo cuando quieras tu despliegue en la herramienta que ya tienes abierta — una terminal junto al código de la integración que estás construyendo, o un cliente de escritorio donde el despliegue esté junto a tu otro contexto. Ambos hablan con la misma plataforma, así que cuál uses es una cuestión de dónde estás trabajando.

## En qué se diferencia de REST y gRPC

La [API REST pública](/kilo-docs-es/kilo-iot-server/api/public-rest-api.md) y la [API gRPC](/kilo-docs-es/kilo-iot-server/api/grpc-api.md) son para programas que escribes: un trabajo de sincronización, una canalización de informes, un puente SCADA. Se autentican con una [clave API](/kilo-docs-es/kilo-iot-server/settings/api-keys.md) con alcance, que se ejecuta sin supervisión. MCP es para un cliente de IA que actúa en tu nombre, autorizado por tu propio inicio de sesión y limitado por tus propios permisos. Si estás escribiendo código, usa REST. Si estás trabajando con un asistente, usa MCP.

## Consejos

* **Ponle nombre al servidor `kilo` en Claude Code.** El comando anterior hace esto, y te da un nombre corto cuando quieres apuntar el cliente a un servidor específico.
* **Empieza en solo lectura.** Pide una lista de dispositivos o un resumen de alarmas antes de pedir una ejecución de aprovisionamiento. Es una forma rápida de confirmar que la conexión aterrizó en la organización que esperabas.
* **Confirma la organización antes del trabajo por lotes.** Pregunta al cliente a qué organización está conectado, o fija el endpoint, antes de cualquier cosa que cree o cambie recursos.
* **Fija producción, deja staging en el valor predeterminado.** Un endpoint fijado no puede moverse por un clic errante en el selector de organización de la aplicación web.
* **Vuelve a conectar después de cambiar de organización** en la aplicación web si estás usando el endpoint predeterminado — la conexión existente conserva la organización contra la que autorizó.

## Ver también

* [Plataforma de IA física para agentes de IA](/kilo-docs-es/kilo-iot-server/physical-ai.md) — cómo se reparten la responsabilidad los modelos, Kilo y la infraestructura física.
* [Asistente de IA para IoT](/kilo-docs-es/kilo-iot-server/ai-assistant.md) — el asistente integrado en la plataforma.
* [API REST pública](/kilo-docs-es/kilo-iot-server/api/public-rest-api.md) — la vía de integración para los programas que escribes.
* [Autenticación y claves API](/kilo-docs-es/kilo-iot-server/api/authentication-and-api-keys.md) — cómo se autorizan las solicitudes de API basadas en claves.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-es/kilo-iot-server/api/mcp-server.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
