> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Iru MCP

> Conecta Cursor, Claude Desktop, OpenAI Codex u otros clientes MCP a la Enterprise API de Iru creando tokens con MCP habilitado limitados a tu tenant.

### Introducción

El **Model Context Protocol (MCP)** es un estándar abierto para conectar aplicaciones cliente (**hosts**) con **servidores MCP**. Los servidores exponen herramientas, recursos y prompts para que los asistentes de IA puedan realizar acciones permitidas en tu entorno mediante un patrón coherente, en lugar de crear y mantener una integración personalizada independiente para cada asistente o flujo de trabajo que agregues.

El **servidor Model Context Protocol (MCP) de Iru** expone la superficie de la **Enterprise API** de Iru, estructurada como herramientas MCP para asistentes de IA. Conecta Cursor, Claude Desktop, OpenAI Codex u otros clientes compatibles con MCP para consultar dispositivos, Blueprints y Library Items, y realizar acciones permitidas en lenguaje natural, sin crear tu propia integración con la API de Iru. También puedes combinar las herramientas de Iru con herramientas de otros proveedores (por ejemplo, de tickets, chat o IAM) para crear flujos de trabajo de extremo a extremo orquestados en lenguaje natural. Cuando Iru agrega nuevas funciones a la Enterprise API, esas funciones pasan a estar disponibles a través de MCP con el mismo modelo de permisos.

<Note>
  La Enterprise API (y el MCP que se basa en ella) se aplica a todas las áreas de Iru que exponen esa API, incluidos Endpoint y otros productos como Gestión de vulnerabilidades y Endpoint Detection and Response, según tu tenant y tus derechos de uso.
</Note>

Para el uso de REST (API HTTP y tokens de portador fuera de MCP), consulta la [Iru API Overview](/en/endpoint/api/iru-api-overview).

### Antes de comenzar

* Necesitas una cuenta de administrador de Iru con permiso para crear y administrar **Tokens de API** en **Acceso**, como se describe en la [Iru API Overview](/en/endpoint/api/iru-api-overview).
* Necesitas un **cliente MCP compatible** (como Claude Desktop, Cursor o Codex).

### Crear un token de API con MCP

Usa **[Generate an API Token](/en/endpoint/api/iru-api-overview#generate-an-api-token)** en la [Iru API Overview](/en/endpoint/api/iru-api-overview) para ver el recorrido completo por la interfaz (capturas de pantalla, **Copy Token**, **Siguiente**, **Configurar** / **Skip**, cuadrículas de permisos). Los pasos de esta página coinciden con ese artículo; debes activar **Enable MCP** antes de **Crear** para que Iru emita la configuración de MCP para este token.

<Steps>
  <Step title="Abre Access">
    En la barra lateral, selecciona el [**Botón del menú de la cuenta**](/es/iru/platform-overview/account-menu) y, a continuación, selecciona **Acceso**.
  </Step>

  <Step title="Abre la pestaña Tokens de API">
    En **Acceso**, selecciona la pestaña **Tokens de API**.
  </Step>

  <Step title="Crea un nuevo token de API">
    Selecciona **Add Token** para crear un nuevo token de API.
  </Step>

  <Step title="Configura los detalles del token">
    Proporciona un **Nombre** y una **Descripción** para tu token de API.
  </Step>

  <Step title="Habilita MCP">
    Activa **Enable MCP** antes de seleccionar **Create.** Para MCP, este paso es obligatorio; si **Enable MCP** está desactivado, obtendrás un token de la Enterprise API sin acceso a MCP ni configuración de MCP.
  </Step>

  <Step title="Crea el token">
    Selecciona **Create.**
  </Step>
</Steps>

<Note>
  **Límites de velocidad de la API:** la Iru Endpoint Management API aplica un límite de **10.000 solicitudes por hora por cliente**. Las llamadas MCP se autentican con el valor **`X-API-Key`** de **`headers`** en la **Configuración de MCP** de ese token y cuentan para **el mismo límite por hora del tenant** que el uso directo de REST y otras integraciones. **Todos los tokens de API de tu tenant comparten ese límite.** Para obtener contexto y solucionar problemas, consulta [Considerations](/en/endpoint/api/iru-api-overview#considerations) en la Iru API Overview y la [documentación de la Iru Endpoint Management API](https://api-docs.kandji.io/).
</Note>

### Copiar tu token y la configuración de MCP

Después de crear el token, Iru muestra una pantalla de confirmación que solo aparece una vez: **El token se ha creado correctamente.** Copia lo que necesites, guárdalo de forma segura y recuerda que no volverás a verlo. Sigue los pasos siguientes en orden; **Configuración de MCP** hace referencia al JSON de **Copy Configuración de MCP** del paso 2.

<Steps>
  <Step title="Copia el token de API (opcional para el uso de la API sin MCP)">
    Para REST o scripts personalizados, usa **Copiar** junto al **API token** en la pantalla de confirmación. Ese valor no se usa para MCP.
  </Step>

  <Step title="Copia la configuración de MCP">
    En **Configuración de MCP**, revisa el JSON y, a continuación, usa **Copy Configuración de MCP**. El fragmento de Iru se basa en **`url`**, **`type`** y **`headers`**:

    * **URL**: el campo **`url`** (el endpoint de MCP que te proporciona Iru).
    * **X-API-Key**: la entrada **`X-API-Key`** dentro de **`headers`**. Cópiala exactamente como la muestra Iru, incluido el prefijo **`sk_live:`** que ya figura en el fragmento; los clientes MCP la envían como encabezado HTTP **`X-API-Key`** en cada solicitud.
    * **X-MCP-Profile**: la entrada **`X-MCP-Profile`** dentro de **`headers`**, que se envía como encabezado HTTP **`X-MCP-Profile`**.

    <Note>
      **Copy Configuración de MCP** es el JSON para MCP. Usa los valores de **`headers`** exactamente como los muestra Iru. El valor de **`X-API-Key`** incluye el prefijo **`sk_live:`** que ya figura en el fragmento.
    </Note>

    Solo un ejemplo con marcadores de posición:

    ```json mcp.json lines theme={null}
    {
      "mcpServers": {
        "iru": {
          "url": "https://YOUR_TENANT.connect.iru.com/mcp-server/connector/kandji/tools",
          "type": "http",
          "headers": {
            "X-API-Key": "sk_live:YOUR_API_KEY",
            "X-MCP-Profile": "YOUR_PROFILE_ID"
          }
        }
      }
    }
    ```
  </Step>

  <Step title="Marca la casilla de confirmación">
    Marca la casilla de confirmación: **I have copied the token and Configuración de MCP and understand that I will not be able to see these details again.**
  </Step>

  <Step title="Selecciona Next">
    Selecciona **Siguiente**.
  </Step>
</Steps>

<Note>
  Si pierdes el token o la configuración, **revoca** el token y **crea uno nuevo**.
</Note>

### Configurar los permisos de la API

Después de seleccionar **Siguiente**, verás la pantalla **Manage API Permissions**. Estos permisos controlan a qué endpoints de la Enterprise API puede acceder el MCP.

<Steps>
  <Step title="Configura ahora u omite">
    Elige una de las siguientes opciones:

    * **Configurar** para establecer los permisos ahora (recomendado).
    * **Skip** para establecer los permisos más adelante.
  </Step>

  <Step title="Selecciona los endpoints (si elegiste Configure)">
    Si seleccionaste **Configurar**, usa la lista de permisos para seleccionar lo que puede hacer este token:

    * Expande una categoría (por ejemplo, **Blueprints**) para ver los endpoints individuales.
    * Marca las casillas de los endpoints que quieras permitir.
  </Step>

  <Step title="Guarda">
    Cuando termines, selecciona **Guardar**.
  </Step>

  <Step title="Verifica">
    Verifica que el token muestre **MCP enabled: Yes** si activaste MCP al crearlo y que los permisos que seleccionaste estén habilitados.
  </Step>

  <Step title="Configura los permisos más tarde (si los omitiste)">
    Si omitiste la configuración de permisos, puedes configurarlos más adelante abriendo el token, seleccionando **Editar**, eligiendo los permisos y seleccionando **Guardar**.
  </Step>
</Steps>

### Revocar un token de API

Revoca el token en **Acceso** como cualquier otro token de API. Usa **[Revoke a Token](/en/endpoint/api/iru-api-overview#revoke-a-token)** en la [Iru API Overview](/en/endpoint/api/iru-api-overview) para ver los pasos y las notas sobre **Actividad**.

### Consideraciones

<AccordionGroup>
  <Accordion title="Visualización única de los secretos">
    El token de la API REST de **Copiar** y el JSON de **Configuración de MCP** se muestran solo una vez en la pantalla de confirmación en el momento de la creación.
  </Accordion>

  <Accordion title="La revocación es total">
    Revocar el token detiene el acceso a la API y a MCP que dependía de él.
  </Accordion>

  <Accordion title="Acciones destructivas">
    Para operaciones destructivas (por ejemplo, borrar, eliminar o bloquear), tu asistente debe resumir el impacto y exigir tu aprobación explícita antes de ejecutarlas, a menos que hayas agregado esa acción a una lista de permitidos del MCP. Sigue las normas de gestión de cambios de tu organización.
  </Accordion>

  <Accordion title="Paginación">
    Las respuestas de listas grandes se paginan. Pide al asistente que refine los filtros, pase a la página siguiente o exporte los datos cuando necesites el conjunto completo sin incluir todas las filas en el chat.
  </Accordion>

  <Accordion title="Configuración específica del cliente">
    **Configuración de MCP** es un JSON con **`url`**, **`type`** y **`headers`**. **`headers`** contiene **`X-API-Key`** y **`X-MCP-Profile`**, que en conjunto son lo que Iru espera en cada solicitud MCP. Dirige tu cliente a **`url`** y reenvía esos dos valores de encabezado sin cambios. El valor de **`X-API-Key`** incluye el prefijo **`sk_live:`** que ya figura en el fragmento.
  </Accordion>
</AccordionGroup>

### Prácticas recomendadas

<CardGroup cols={2}>
  <Card title="Usa el mínimo privilegio" icon="shield-halved">
    Crea un token solo con los ámbitos de la Enterprise API que necesita tu automatización y, a continuación, habilita MCP en ese token.
  </Card>

  <Card title="Separa los tokens por equipo o caso de uso" icon="layer-group">
    Por ejemplo, usa un token orientado a lectura para los asistentes de informes y un token operativo más restringido para los flujos de trabajo de remediación.
  </Card>

  <Card title="Rota ante cualquier sospecha" icon="arrows-rotate">
    Si la **Configuración de MCP** se filtró, revoca el token en Iru y emite uno nuevo; actualiza todos los clientes MCP que aún tengan los valores antiguos de **`url`** o **`headers`**.
  </Card>

  <Card title="Protege los archivos de configuración locales" icon="terminal">
    **`claude_desktop_config.json`** contiene tus valores de **`url`** y de los encabezados. No lo confirmes en el control de código fuente ni lo compartas en registros de chat.
  </Card>

  <Card title="Protege los secretos de MCP y de la API" icon="lock">
    Trata la **Configuración de MCP** y cualquier token REST que copies con **Copiar** para uso sin MCP como secretos. Guárdalos en un gestor de contraseñas o en un almacén seguro, no en registros de chat ni en capturas de pantalla.
  </Card>
</CardGroup>

### Agregar el Iru MCP a tu cliente MCP

Elige un cliente y sigue los pasos para ese host.

<Tabs>
  <Tab title="Claude Desktop" icon="desktop" iconType="solid">
    ### Agregar el Iru MCP a Claude Desktop

    **Claude Desktop** es la aplicación de escritorio de Anthropic para chatear con Claude. Registra Iru editando **`claude_desktop_config.json`** con los valores de **`url`** y **`headers`** de tu **Configuración de MCP**.

    ### Requisitos previos

    * En Iru, completa [Copiar tu token y la configuración de MCP](#copy-your-token-and-mcp-configuration) para tener **`url`** y **`headers`** (**`X-API-Key`**, **`X-MCP-Profile`**).
    * Instala **Node.js 20+** desde [nodejs.org](https://nodejs.org/). El instalador incluye **`npx`**, que Claude Desktop usa para ejecutar la conexión con el Iru MCP.

    <Note>
      Usa **`mcp-remote@latest`** en **`args`** para que Claude Desktop ejecute el paquete **mcp-remote** actual. Si la conexión MCP falla con **`latest`**, fija temporalmente una versión anterior (por ejemplo, **`mcp-remote@0.1.13`**). Cuando se produce ese fallo, el problema está en **mcp-remote**, no en Iru.
    </Note>

    <Tabs>
      <Tab title="macOS" icon="apple" iconType="brands">
        <Steps>
          <Step title="Descarga e instala Claude Desktop">
            Descarga Claude Desktop para macOS, instala la app e inicia sesión: [Download Claude](https://claude.com/download).
          </Step>

          <Step title="Abre la configuración de Claude Desktop">
            Abre Claude Desktop y, a continuación, selecciona **Claude → Settings** en la barra de menús.
          </Step>

          <Step title="Abre la configuración de Developer">
            En **Configuración**, selecciona **Developer**.
          </Step>

          <Step title="Abre el archivo de configuración">
            En **Developer**, selecciona **Edit Config**. Claude Desktop abre la carpeta de configuración en **Finder**.
          </Step>

          <Step title="Abre claude_desktop_config.json">
            Abre **`claude_desktop_config.json`** desde esa carpeta en tu editor de texto preferido.

            <Note>
              Un archivo nuevo puede mostrar **`{}`**. Un archivo existente puede incluir ya **`mcpServers`**, **`preferences`** u otros ajustes. En ese caso, agrega solo el bloque **`"iru"`** dentro de **`mcpServers`** y deja el resto sin cambios. Después de la **`}`** de cierre de **`mcpServers`**, agrega una coma antes de la siguiente sección de nivel superior (por ejemplo, **`"preferences"`**).
            </Note>
          </Step>

          <Step title="Agrega la entrada del servidor Iru MCP">
            Pega en **`claude_desktop_config.json`**. Las tres líneas resaltadas son donde agregas tus valores de **Configuración de MCP**. Coloca tus valores de **`X-API-Key`** y **`X-MCP-Profile`** en **`env`**; cuando se inicia Claude Desktop, **`mcp-remote`** usa esos valores para los marcadores de posición **`${IRU_X_API_KEY}`** y **`${IRU_X_MCP_PROFILE}`** de **`args`**.

            ```json claude_desktop_config.json lines highlight={8,15,16} theme={null}
            {
              "mcpServers": {
                "iru": {
                  "command": "npx",
                  "args": [
                    "-y",
                    "mcp-remote@latest",
                    "https://YOUR_TENANT.connect.iru.com/mcp-server/connector/kandji/tools",
                    "--header",
                    "X-API-Key:${IRU_X_API_KEY}",
                    "--header",
                    "X-MCP-Profile:${IRU_X_MCP_PROFILE}"
                  ],
                  "env": {
                    "IRU_X_API_KEY": "sk_live:YOUR_API_KEY",
                    "IRU_X_MCP_PROFILE": "YOUR_PROFILE_ID"
                  }
                }
              }
            }
            ```

            Reemplaza los marcadores de posición resaltados:

            * **`https://YOUR_TENANT.connect.iru.com/mcp-server/connector/kandji/tools`** por **`url`** de **Configuración de MCP**
            * **`sk_live:YOUR_API_KEY`** por **`X-API-Key`** de **Configuración de MCP**
            * **`YOUR_PROFILE_ID`** por **`X-MCP-Profile`** de **Configuración de MCP**
          </Step>

          <Step title="Combina con un archivo existente">
            Omite este paso si empezaste con un archivo vacío. Cuando **`preferences`** u otros ajustes ya se encuentran debajo de **`mcpServers`**, tu archivo debe conectar las secciones de esta forma. La línea resaltada es la coma entre **`mcpServers`** y la siguiente clave de nivel superior:

            ```json claude_desktop_config.json lines highlight={4} theme={null}
                    "IRU_X_MCP_PROFILE": "YOUR_PROFILE_ID"
                  }
                }
              },
              "preferences": {
                "remoteToolsDeviceName": "your-device-name",
                "coworkWebSearchEnabled": true
              }
            }
            ```
          </Step>

          <Step title="Guarda el archivo y reinicia Claude Desktop">
            Guarda **`claude_desktop_config.json`** y, a continuación, cierra Claude Desktop por completo. No basta con cerrar la ventana; selecciona **Claude → Quit Claude** en la barra de menús y vuelve a abrir Claude Desktop.

            Claude Desktop carga la configuración de MCP al iniciarse.
          </Step>

          <Step title="Verifica la conexión">
            Cuando Claude Desktop se vuelva a abrir, inicia un **chat nuevo** y pregunta:

            ```text theme={null}
            List my Iru devices
            ```

            Si la conexión funciona, Claude llama al servidor Iru MCP y devuelve una lista de tus dispositivos inscritos. Si ves un error, consulta [Solución de problemas](#troubleshooting) más abajo.
          </Step>

          <Step title="Aprueba el acceso cuando se te solicite">
            Claude solicita confirmación antes de cada uso de una herramienta del Iru MCP. Elige **Allow once** solo para esa ejecución o **Always allow** si quieres menos solicitudes para acciones similares. Aprueba cuando quieras realizar lecturas o cambios permitidos en Iru; rechaza si no quieres que se ejecute la herramienta.
          </Step>

          <Step title="Si algo sigue fallando">
            En Claude Desktop, abre **Settings → Developer** para revisar la entrada **`iru`**, si el servidor se está ejecutando y cualquier error que informe el host. Consulta [Solución de problemas](#troubleshooting) más abajo.
          </Step>
        </Steps>
      </Tab>

      <Tab title="Windows" icon="microsoft" iconType="brands">
        <Steps>
          <Step title="Descarga e instala Claude Desktop">
            Descarga Claude Desktop para Windows, instala la app e inicia sesión: [Download Claude](https://claude.com/download).
          </Step>

          <Step title="Abre la configuración de Claude Desktop">
            Abre Claude Desktop y, a continuación, selecciona el menú de hamburguesa, **File** y luego **Configuración**.
          </Step>

          <Step title="Abre la configuración de Developer">
            En **Configuración**, selecciona **Developer**.
          </Step>

          <Step title="Abre el archivo de configuración">
            En **Developer**, selecciona **Edit Config**. Claude Desktop abre la carpeta de configuración en el **Explorador de archivos**.
          </Step>

          <Step title="Abre claude_desktop_config.json">
            Abre **`claude_desktop_config.json`** desde esa carpeta en tu editor de texto preferido.

            <Note>
              Un archivo nuevo puede mostrar **`{}`**. Un archivo existente puede incluir ya **`mcpServers`**, **`preferences`** u otros ajustes. En ese caso, agrega solo el bloque **`"iru"`** dentro de **`mcpServers`** y deja el resto sin cambios. Después de la **`}`** de cierre de **`mcpServers`**, agrega una coma antes de la siguiente sección de nivel superior (por ejemplo, **`"preferences"`**).
            </Note>
          </Step>

          <Step title="Agrega la entrada del servidor Iru MCP">
            Pega en **`claude_desktop_config.json`**. Las tres líneas resaltadas son donde agregas tus valores de **Configuración de MCP**. Coloca tus valores de **`X-API-Key`** y **`X-MCP-Profile`** en **`env`**; cuando se inicia Claude Desktop, **`mcp-remote`** usa esos valores para los marcadores de posición **`${IRU_X_API_KEY}`** y **`${IRU_X_MCP_PROFILE}`** de **`args`**.

            ```json claude_desktop_config.json lines highlight={8,15,16} theme={null}
            {
              "mcpServers": {
                "iru": {
                  "command": "C:\\Program Files\\nodejs\\npx.cmd",
                  "args": [
                    "-y",
                    "mcp-remote@latest",
                    "https://YOUR_TENANT.connect.iru.com/mcp-server/connector/kandji/tools",
                    "--header",
                    "X-API-Key:${IRU_X_API_KEY}",
                    "--header",
                    "X-MCP-Profile:${IRU_X_MCP_PROFILE}"
                  ],
                  "env": {
                    "IRU_X_API_KEY": "sk_live:YOUR_API_KEY",
                    "IRU_X_MCP_PROFILE": "YOUR_PROFILE_ID"
                  }
                }
              }
            }
            ```

            Reemplaza los marcadores de posición resaltados:

            * **`https://YOUR_TENANT.connect.iru.com/mcp-server/connector/kandji/tools`** por **`url`** de **Configuración de MCP**
            * **`sk_live:YOUR_API_KEY`** por **`X-API-Key`** de **Configuración de MCP**
            * **`YOUR_PROFILE_ID`** por **`X-MCP-Profile`** de **Configuración de MCP**
          </Step>

          <Step title="Combina con un archivo existente">
            Omite este paso si empezaste con un archivo vacío. Cuando **`preferences`** u otros ajustes ya se encuentran debajo de **`mcpServers`**, tu archivo debe conectar las secciones de esta forma. La línea resaltada es la coma entre **`mcpServers`** y la siguiente clave de nivel superior:

            ```json claude_desktop_config.json lines highlight={4} theme={null}
                    "IRU_X_MCP_PROFILE": "YOUR_PROFILE_ID"
                  }
                }
              },
              "preferences": {
                "remoteToolsDeviceName": "your-device-name",
                "coworkWebSearchEnabled": true
              }
            }
            ```
          </Step>

          <Step title="Guarda el archivo y reinicia Claude Desktop">
            Guarda **`claude_desktop_config.json`** y, a continuación, cierra Claude Desktop por completo. No basta con cerrar la ventana; haz clic con el botón derecho en el icono de **Claude** en la bandeja del sistema, selecciona **Quit** y vuelve a abrir Claude Desktop.

            Claude Desktop carga la configuración de MCP al iniciarse.
          </Step>

          <Step title="Verifica la conexión">
            Cuando Claude Desktop se vuelva a abrir, inicia un **chat nuevo** y pregunta:

            ```text theme={null}
            List my Iru devices
            ```

            Si la conexión funciona, Claude llama al servidor Iru MCP y devuelve una lista de tus dispositivos inscritos. Si ves un error, consulta [Solución de problemas](#troubleshooting) más abajo.
          </Step>

          <Step title="Aprueba el acceso cuando se te solicite">
            Claude solicita confirmación antes de cada uso de una herramienta del Iru MCP. Elige **Allow once** solo para esa ejecución o **Always allow** si quieres menos solicitudes para acciones similares. Aprueba cuando quieras realizar lecturas o cambios permitidos en Iru; rechaza si no quieres que se ejecute la herramienta.
          </Step>

          <Step title="Si algo sigue fallando">
            En Claude Desktop, abre **Settings → Developer** para revisar la entrada **`iru`**, si el servidor se está ejecutando y cualquier error que informe el host. Cuando el servidor MCP se ejecuta, Claude también puede escribir **`logs\mcp-server-iru.log`** junto a **`claude_desktop_config.json`** en la carpeta de datos de la app Claude Desktop de tu instalación. Consulta [Solución de problemas](#troubleshooting) más abajo.
          </Step>
        </Steps>
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="Cursor" icon="i-cursor" iconType="solid">
    ### Agregar el Iru MCP a Cursor

    **Cursor** es un editor de código nativo de IA para escribir y editar software con asistencia integrada. La app de escritorio de Cursor está disponible para **macOS**, **Windows** y **Linux**. Agrega Iru en **Tools & MCP** para poder usar las herramientas de tu tenant desde el editor.

    <Steps>
      <Step title="Prepara los valores de Iru">
        En Iru, completa [Copiar tu token y la configuración de MCP](#copy-your-token-and-mcp-configuration) para tener **`url`** y **`headers`** (**`X-API-Key`**, **`X-MCP-Profile`**).
      </Step>

      <Step title="Descarga e instala Cursor">
        Descarga Cursor para tu plataforma, instala la app e inicia sesión: [Download Cursor](https://cursor.com/download).
      </Step>

      <Step title="Abre la configuración de MCP">
        Abre la **MCP Settings** de Cursor:

        * **macOS:** **Cursor → Settings → Cursor Settings** y, a continuación, **Tools & MCP**.
        * **Windows/Linux:** **File → Preferences → Cursor Settings** y, a continuación, **Tools & MCP**.
      </Step>

      <Step title="Agrega un MCP personalizado">
        Selecciona **Add Custom MCP**.
      </Step>

      <Step title="Pega la configuración de MCP">
        El archivo **`mcp.json`** se abre en el editor. La forma de pegar depende de si ya hay otros servidores MCP definidos. Cursor empieza con un marcador de posición como este:

        ```json mcp.json lines theme={null}
        {
          "mcpServers": {}
        }
        ```

        <AccordionGroup>
          <Accordion title="Configuración nueva">
            Reemplaza **todo** el contenido de **`mcp.json`** por la **Configuración de MCP** completa que copiaste en [Copiar la configuración de MCP](#copy-your-token-and-mcp-configuration) al crear el token. Selecciona todo el contenido del archivo (incluido el marcador de posición de Cursor), pega y deja **solo** el JSON de Iru en **`mcp.json`**. No quites el prefijo **`sk_live:`** de **`X-API-Key`** en **`headers`**.
          </Accordion>

          <Accordion title="Servidores MCP existentes">
            Si **`mcpServers`** ya incluye otros servidores que quieres conservar, **no** reemplaces todo el archivo **`mcp.json`**. Agrega solo el bloque **`iru`** de **Configuración de MCP**. Copia desde **`"iru": {`** hasta la **`}`** de cierre de ese servidor (la segunda **`}`** después de **`headers`**). Agrega una coma después de la **`}`** de cierre de la entrada del servidor que aparece inmediatamente antes de **`iru`**. Mantén **`X-API-Key`** exactamente como lo muestra Iru, incluido el prefijo **`sk_live:`** que ya figura en el fragmento.

            Ejemplo cuando ya hay otro servidor configurado (las líneas resaltadas muestran la coma final y el bloque **`iru`** que debes copiar y pegar en el archivo **`mcp.json`**):

            ```json mcp.json lines highlight={10,11-18} theme={null}
            {
              "mcpServers": {
                "previous-mcp-server": {
                  "url": "https://example.com/mcp",
                  "type": "http",
                  "headers": {
                    "X-API-Key": "sk_live:YOUR_OTHER_KEY",
                    "X-MCP-Profile": "YOUR_OTHER_PROFILE"
                  }
                },
                "iru": {
                  "url": "https://YOUR_TENANT.connect.iru.com/mcp-server/connector/kandji/tools",
                  "type": "http",
                  "headers": {
                    "X-API-Key": "sk_live:YOUR_API_KEY",
                    "X-MCP-Profile": "YOUR_PROFILE_ID"
                  }
                }
              }
            }
            ```
          </Accordion>
        </AccordionGroup>
      </Step>

      <Step title="Guarda la configuración">
        Cursor no guarda **`mcp.json`** automáticamente después de pegar. Guarda el archivo manualmente antes de salir o reiniciar:

        * **macOS:** **Command+S**
        * **Windows/Linux:** **Ctrl+S** o **File → Save**
      </Step>

      <Step title="Reinicia Cursor">
        **Cierra Cursor por completo** y vuelve a abrirlo. Cursor carga MCP al iniciarse.
      </Step>

      <Step title="Confirma">
        Vuelve a **Tools & MCP**. Confirma que aparece **`iru`** y que el interruptor se muestra **habilitado.**
      </Step>
    </Steps>

    Para obtener más información sobre el uso de MCP en Cursor, consulta [Model Context Protocol (MCP) in Cursor](https://cursor.com/docs/mcp).
  </Tab>

  <Tab title="OpenAI Codex" icon="openai" iconType="brands">
    ### Agregar el Iru MCP a OpenAI Codex

    **OpenAI Codex** es el agente de programación de OpenAI para crear y modificar software con IA. Usa la **Codex Desktop App** o la extensión **Codex** en VS Code para registrar Iru como servidor MCP y trabajar con tu tenant desde el chat.

    <Tabs>
      <Tab title="Desktop App" icon="window-maximize" iconType="solid">
        #### Codex Desktop App

        La Codex Desktop App está disponible para **macOS** y **Windows**. Para conocer la compatibilidad de plataformas, las opciones de instalación (incluidas las compilaciones para Mac con Intel) y otros requisitos de la app, consulta la [documentación de la app Codex](https://developers.openai.com/codex/app) en OpenAI Developers.

        <Steps>
          <Step title="Prepara los valores de Iru">
            En Iru, completa [Copiar tu token y la configuración de MCP](#copy-your-token-and-mcp-configuration) para tener **`url`** y **`headers`** (**`X-API-Key`**, **`X-MCP-Profile`**).
          </Step>

          <Step title="Descarga e instala Codex">
            Descarga la Codex Desktop App e instálala: [Codex](https://chatgpt.com/codex/).
          </Step>

          <Step title="Inicia sesión en Codex">
            Abre Codex e inicia sesión con tu cuenta de ChatGPT o una clave de API de OpenAI. Codex está incluido en los planes de ChatGPT aptos. Consulta [Open Codex and sign in](https://developers.openai.com/codex/app) en la documentación de la app Codex.
          </Step>

          <Step title="Abre Settings">
            En Codex, ve a **Configuración**.
          </Step>

          <Step title="Abre MCP servers">
            Selecciona **MCP servers**.
          </Step>

          <Step title="Agrega un servidor">
            Selecciona **+ Add server**.
          </Step>

          <Step title="Nombre">
            Introduce **Iru MCP** en **Nombre**.
          </Step>

          <Step title="Transporte">
            Selecciona **Streamable HTTP**.
          </Step>

          <Step title="URL">
            Introduce el valor de **`url`** de **Configuración de MCP** en **URL**.
          </Step>

          <Step title="Encabezado para X-API-Key">
            En **Headers**, establece **Key** en **`X-API-Key`** y **Valor** en la entrada **`X-API-Key`** de **`headers`** en **Configuración de MCP**, copiada exactamente como la muestra Iru, incluido el prefijo **`sk_live:`** que ya figura en el fragmento.
          </Step>

          <Step title="Encabezado para X-MCP-Profile">
            Selecciona **+ Add header**. Establece **Key** en **`X-MCP-Profile`** y **Valor** en la entrada **`X-MCP-Profile`** de **`headers`** en **Configuración de MCP**.
          </Step>

          <Step title="Guarda">
            Selecciona **Guardar**.
          </Step>

          <Step title="Reinicia Codex">
            Cierra Codex por completo y vuelve a abrirlo para que recargue la configuración de MCP.
          </Step>

          <Step title="Prueba Iru en el chat">
            Inicia un **chat nuevo** y haz a Codex una pregunta sobre un área de la Enterprise API que tu token tenga permiso para usar (por ejemplo, dispositivos o Blueprints).
          </Step>
        </Steps>
      </Tab>

      <Tab title="IDE extension" icon="puzzle-piece" iconType="solid">
        #### Extensión de Codex para IDE

        La **extensión de Codex para IDE** ejecuta el agente de programación de OpenAI en tu editor. Agrega Iru mediante la configuración de MCP de la extensión.

        <Steps>
          <Step title="Prepara los valores de Iru">
            En Iru, completa [Copiar tu token y la configuración de MCP](#copy-your-token-and-mcp-configuration) para tener **`url`** y **`headers`** (**`X-API-Key`**, **`X-MCP-Profile`**).
          </Step>

          <Step title="Instala Visual Studio Code">
            Instala [Visual Studio Code](https://code.visualstudio.com/) si es necesario. VS Code es compatible con **macOS**, **Windows** y **Linux**.
          </Step>

          <Step title="Instala la extensión de Codex">
            Instala la [extensión de Codex](https://marketplace.visualstudio.com/items?itemName=openai.chatgpt) desde Visual Studio Marketplace. La extensión también funciona en otros editores compatibles con VS Code (por ejemplo, Cursor); los menús y la compatibilidad de plataformas pueden variar. Consulta la documentación de la [Codex IDE extension](https://developers.openai.com/codex/ide) para conocer las opciones de instalación.
          </Step>

          <Step title="Abre la barra lateral de Codex">
            Abre la barra lateral de Codex con el logotipo de OpenAI <Icon icon="openai" iconType="brands" size={14} style={{ display: 'inline-flex', verticalAlign: 'middle' }} /> de la barra de actividades, con **Open Codex Sidebar** o mostrando la barra lateral secundaria y seleccionando la pestaña **Codex**.
          </Step>

          <Step title="Inicia sesión y completa la configuración">
            Selecciona **Sign in with ChatGPT** y autentícate. Codex está incluido en los planes de ChatGPT aptos. Sigue las indicaciones para terminar la configuración.
          </Step>

          <Step title="Abre la configuración de Codex">
            En la barra lateral de Codex, selecciona el icono de **engranaje** y, a continuación, **Codex settings**.
          </Step>

          <Step title="Abre MCP servers">
            Selecciona **MCP servers**.
          </Step>

          <Step title="Agrega un servidor">
            Selecciona **+ Add server**.
          </Step>

          <Step title="Nombre">
            Introduce **Iru MCP** en **Nombre**.
          </Step>

          <Step title="Transporte">
            Selecciona **Streamable HTTP**.
          </Step>

          <Step title="URL">
            Introduce el valor de **`url`** de **Configuración de MCP** en **URL**.
          </Step>

          <Step title="Encabezado para X-API-Key">
            En **Headers**, establece **Key** en **`X-API-Key`** y **Valor** en la entrada **`X-API-Key`** de **`headers`** en **Configuración de MCP**, copiada exactamente como la muestra Iru, incluido el prefijo **`sk_live:`** que ya figura en el fragmento.
          </Step>

          <Step title="Encabezado para X-MCP-Profile">
            Selecciona **+ Add header**. Establece **Key** en **`X-MCP-Profile`** y **Valor** en la entrada **`X-MCP-Profile`** de **`headers`** en **Configuración de MCP**.
          </Step>

          <Step title="Guarda">
            Selecciona **Guardar**.
          </Step>

          <Step title="Reinicia la extensión">
            Si Codex muestra **Restart extension**, selecciónalo para que se recargue la configuración de MCP.
          </Step>

          <Step title="Prueba Iru en el chat">
            En la barra lateral de **Codex**, inicia una conversación y pregunta sobre un área de la Enterprise API que tu token tenga permiso para usar (por ejemplo, dispositivos o Blueprints).
          </Step>
        </Steps>
      </Tab>
    </Tabs>
  </Tab>
</Tabs>

### Solución de problemas

Para obtener ayuda general sobre MCP (ubicación de los registros, comprobaciones de configuración, MCP Inspector y depuración de clientes más allá de las notas específicas de Iru siguientes), consulta la [guía de depuración de Model Context Protocol](https://modelcontextprotocol.io/docs/tools/debugging).

<AccordionGroup>
  <Accordion title="Iru MCP en general" icon="layer-group">
    <AccordionGroup>
      <Accordion title="El asistente indica que el token no es válido o que la autenticación falló" icon="key">
        Vuelve a comprobar **`url`** y **`headers`** (**`X-API-Key`**, **`X-MCP-Profile`**) en **Configuración de MCP**. Elimina los espacios sobrantes. **`X-API-Key`** debe coincidir con el valor completo de Iru, incluido el prefijo **`sk_live:`** que ya figura en el fragmento. Si el token subyacente se rotó o revocó, crea uno nuevo y actualiza todos los clientes.
      </Accordion>

      <Accordion title="Faltan herramientas o el asistente informa de que se denegó el permiso" icon="shield-halved">
        Los ámbitos de la Enterprise API del token pueden bloquear esas operaciones. Edita los permisos de API del token en **Acceso** o crea un nuevo token con los ámbitos que necesitas.
      </Accordion>

      <Accordion title="La configuración parece correcta en Iru, pero el cliente sigue fallando" icon="arrow-rotate-right">
        Confirma que la **Configuración de MCP** del cliente coincide con **`url`** y **`headers`** de Iru y, a continuación, cierra por completo y reinicia la app host para que recargue la configuración de MCP. Si el problema persiste, usa la [guía de depuración de Model Context Protocol](https://modelcontextprotocol.io/docs/tools/debugging) para revisar los registros del host, validar el JSON y realizar pruebas con MCP Inspector.
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Claude Desktop" icon="desktop" iconType="solid">
    <AccordionGroup>
      <Accordion title="Error de conector remoto o de red (URL de MCP personalizada)" icon="globe">
        Los conectores personalizados acceden a tu servidor MCP desde la infraestructura de Anthropic. Confirma que **`url`** en **Configuración de MCP** es correcta, que el servicio está en la internet pública y que cualquier firewall corporativo permite los rangos de IP de Anthropic. Consulta [Comenzar with custom connectors using remote MCP](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) y [Anthropic IP addresses](https://platform.claude.com/docs/en/api/ip-addresses).
      </Accordion>

      <Accordion title="Inspecciona la entrada iru o lee los errores del host" icon="wrench">
        En Claude Desktop, abre **Configuración** y, a continuación, **Developer**. Allí puedes revisar la configuración del servidor **`iru`**, ver si el servidor se está ejecutando y leer cualquier error que informe el host. Para conocer las rutas de los registros de Claude, DevTools y los pasos relacionados, consulta **Debugging in Claude Desktop** en la [guía de depuración de Model Context Protocol](https://modelcontextprotocol.io/docs/tools/debugging).
      </Accordion>

      <Accordion title="El Iru MCP no se conecta con mcp-remote@latest" icon="code-branch">
        Usa **`mcp-remote@latest`** en **`args`** para mantenerte en el paquete **mcp-remote** actual. Si la conexión falla, cambia temporalmente ese valor a una versión anterior (por ejemplo, **`mcp-remote@0.1.13`**), guarda **`claude_desktop_config.json`** y, a continuación, cierra por completo y vuelve a abrir Claude Desktop. Vuelve a **`mcp-remote@latest`** cuando puedas. Cuando se produce este fallo, el problema está en **mcp-remote**, no en Iru.
      </Accordion>

      <Accordion title="Puente stdio (npx / mcp-remote) o configuración del archivo de configuración" icon="terminal">
        Confirma que **Node.js 20+** está instalado y, a continuación, abre **`claude_desktop_config.json`** y confirma que la URL de MCP de la entrada **`iru`** en **`args`** y los valores de **`env`** siguen coincidiendo con **`url`**, **`X-API-Key`** y **`X-MCP-Profile`** de **Configuración de MCP** (**`IRU_X_API_KEY`** debe incluir el prefijo **`sk_live:`**). Las líneas **`--header`** deben seguir usando **`${IRU_X_API_KEY}`** y **`${IRU_X_MCP_PROFILE}`**, no tu clave ni tu perfil sin procesar. En macOS, **`command`** debe ser **`npx`**; en Windows, usa la ruta completa **`C:\Program Files\nodejs\npx.cmd`**. Guarda el archivo y **cierra por completo** Claude Desktop (**Claude → Quit Claude** en macOS, **Quit** en la bandeja en Windows) antes de volver a abrirlo. En Windows, revisa **`logs\mcp-server-iru.log`** junto a **`claude_desktop_config.json`** si **`iru`** sigue fallando. Consulta [Agregar el Iru MCP a Claude Desktop](#claude-desktop).
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Cursor" icon="i-cursor" iconType="solid">
    <AccordionGroup>
      <Accordion title="MCP no se carga o iru sigue desactivado después de editar la configuración" icon="arrow-rotate-right">
        **Cierra Cursor por completo** y vuelve a abrirlo; Cursor carga MCP al iniciarse. Si **`mcp.json`** sigue sin cargarse, confirma que el JSON es válido. En una configuración nueva, confirma que reemplazaste **todo** el archivo por la **Configuración de MCP**; si lo combinaste con servidores existentes, confirma que el bloque **`iru`** y las comas son correctos. Comprueba que **`url`**, **`X-API-Key`** y **`X-MCP-Profile`** coinciden con **Configuración de MCP** (consulta [Agregar el Iru MCP a Cursor](#cursor)). **`X-API-Key`** debe incluir el prefijo **`sk_live:`** que ya figura en el fragmento. Para problemas más profundos del host, consulta la [guía de depuración de Model Context Protocol](https://modelcontextprotocol.io/docs/tools/debugging).
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="OpenAI Codex" icon="openai" iconType="brands">
    <AccordionGroup>
      <Accordion title="Add a project to use Codex (extensión para IDE)" icon="folder-open">
        Si Codex muestra **Add a project to use Codex** al chatear, primero abre o crea una carpeta de proyecto en el editor y, a continuación, vuelve a la barra lateral de **Codex**.
      </Accordion>

      <Accordion title="Codex: edita config.toml directamente" icon="file-code">
        Si no puedes guardar ni cambiar la configuración de MCP en la interfaz, edita **`~/.codex/config.toml`** directamente. Según [Model Context Protocol in Codex](https://developers.openai.com/codex/mcp), la CLI, la **Codex IDE extension** y la **Codex Desktop App** comparten este archivo. Consulta [Codex IDE extension](#ide-extension) o [Codex Desktop App](#desktop-app) para ver los flujos de configuración en la interfaz.

        Abre **`~/.codex/config.toml`** en un editor de texto. **`~`** es tu carpeta de inicio (por ejemplo, **`/Users/your-user-name/.codex/config.toml`** en macOS).

        Establece **`url`** y **`http_headers`** a partir de **Configuración de MCP**, copiados exactamente como los muestra Iru. El valor de **`X-API-Key`** en **`http_headers`** incluye el prefijo **`sk_live:`** que ya figura en el fragmento. Usa **Iru MCP** como nombre del servidor. En **`config.toml`**, el nombre de la tabla después de **`mcp_servers.`** debe coincidir con la forma en que Codex almacenó ese servidor (a menudo derivado de **Iru MCP**, por ejemplo, **`iru_mcp`**).

        Ejemplo para **Iru MCP**:

        ```toml config.toml lines theme={null}
        [mcp_servers.iru_mcp]
        enabled = true
        url = "https://YOUR_TENANT.connect.iru.com/mcp-server/connector/kandji/tools"
        http_headers = { "X-API-Key" = "sk_live:YOUR_API_KEY", "X-MCP-Profile" = "YOUR_PROFILE_ID" }
        ```

        Guarda el archivo y, a continuación, **cierra por completo** Codex o reinicia tu editor para que se recargue la configuración de MCP.
      </Accordion>

      <Accordion title="El servidor MCP no se conecta o las herramientas siguen sin conexión" icon="arrow-rotate-right">
        Confirma que **Iru MCP** está habilitado en la configuración de MCP de Codex y que **`url`** y **`headers`** coinciden con **Configuración de MCP** (**`X-API-Key`** debe incluir el prefijo **`sk_live:`** que ya figura en el fragmento) y, a continuación, **cierra por completo** la app host y vuelve a abrirla para que Codex recargue MCP. Para la **Codex IDE extension**, esto significa cerrar el editor; para la **Codex Desktop App**, cierra Codex por completo. Para la depuración a nivel de transporte, consulta la [guía de depuración de Model Context Protocol](https://modelcontextprotocol.io/docs/tools/debugging).
      </Accordion>
    </AccordionGroup>
  </Accordion>
</AccordionGroup>

### Artículos relacionados

<CardGroup cols={2}>
  <Card title="Descripción general de la API de Iru" icon="file-lines" href="/en/endpoint/api/iru-api-overview">
    API REST, tokens, permisos y Activity de la Enterprise API que MCP expone como herramientas.
  </Card>

  <Card title="Cómo configurar la API de Iru Endpoint en Postman" icon="flask" href="/en/endpoint/api/how-to-set-up-the-iru-endpoint-api-in-postman">
    Importa la colección publicada y envía solicitudes autenticadas fuera de MCP.
  </Card>

  <Card title="Referencia de la Iru Endpoint Management API" icon="book" href="https://api-docs.kandji.io">
    Explora los endpoints, parámetros y ejemplos de solicitudes y respuestas de la API subyacente.
  </Card>

  <Card title="Integrar apps de terceros con la API de Iru Endpoint" icon="plug" href="/es/endpoint/integrations/overview/integrating-third-party-apps-using-the-iru-endpoint-api">
    Conecta productos de terceros y asigna los permisos de API que necesita cada integración.
  </Card>
</CardGroup>
