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

# Servidor MCP

> Administra Max desde Claude, Cursor, Grok o cualquier cliente MCP: agentes, reglas, contenido e integraciones

Max tiene un **servidor MCP** (Model Context Protocol). Conectas Claude,
Cursor, Grok o cualquier cliente compatible, y tu asistente de IA trabaja sobre tu
organización de Max. Con él puedes:

* **Auditar y editar agentes**: leer su configuración completa y ajustar
  tono, prompt y reglas.
* **Cargar contenido**: crear y editar artículos, con ediciones puntuales.
* **Gestionar derivaciones, seguimientos e integraciones**, incluso crear una
  integración custom completa.
* **Publicar**, siempre con tu confirmación.

<Note>
  Todo lo que un cliente MCP edita va al **borrador** del agente. Nada se
  publica sin tu confirmación: publicas tú en **Publicar**, o le confirmas a
  tu asistente después de que te muestre los cambios.
</Note>

## Antes de empezar

<Tip>
  Hay un atajo. En la portada de cualquier agente, debajo del chat del
  [asistente](/guias/asistente), toca **Claude Code** o **Codex** y después
  **Generar acceso**. Max crea la key y te da el texto para pegar en tu
  cliente. Lo que sigue es el camino manual, que sirve para cualquier cliente
  MCP.
</Tip>

Necesitas una API key de tu organización: en la página **Desarrolladores**,
toca **Crear API key**. Esa página todavía no está en el menú de
**Settings**. Para llegar, entra a cualquier sección de Settings y reemplaza
el final de la dirección por `/settings/developers`. La key completa (`sk_…`) se muestra **una sola vez**, así que
guárdala en un lugar seguro. Cada key pertenece a una organización y solo
accede a lo de esa organización.

<Frame>
  <img src="https://mintcdn.com/max-agente/rTMfLEYkuu7sBUgf/images/mcp/developers.png?fit=max&auto=format&n=rTMfLEYkuu7sBUgf&q=85&s=cb2045c27e996476943fd8fa96d065e5" alt="Pantalla de API keys en Desarrolladores" width="1440" height="900" data-path="images/mcp/developers.png" />
</Frame>

## Conectar tu cliente

El servidor vive en `https://tu-dominio/api/mcp` (transporte HTTP) y
autentica con la API key como Bearer token.

<Tabs>
  <Tab title="Claude Code">
    ```bash theme={null}
    claude mcp add --scope user --transport http max https://tu-dominio/api/mcp \
      --header "Authorization: Bearer sk_TU_KEY"
    ```
  </Tab>

  <Tab title="Codex">
    ```bash theme={null}
    export MAX_API_KEY="sk_TU_KEY"
    codex mcp add max --url https://tu-dominio/api/mcp \
      --bearer-token-env-var MAX_API_KEY
    ```
  </Tab>

  <Tab title="Claude Desktop">
    En **Settings → Connectors → Add custom connector**, o agregando a tu
    configuración:

    ```json theme={null}
    {
      "mcpServers": {
        "max": {
          "url": "https://tu-dominio/api/mcp",
          "headers": { "Authorization": "Bearer sk_TU_KEY" }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Cursor">
    Agrega a `~/.cursor/mcp.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "max": {
          "url": "https://tu-dominio/api/mcp",
          "headers": { "Authorization": "Bearer sk_TU_KEY" }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Grok Bot">
    En la app de Grok Bot, abre **Settings → Plugins** y agrega un conector
    custom con estos datos:

    * URL del servidor: `https://tu-dominio/api/mcp`
    * Header de autenticación: `Authorization: Bearer sk_TU_KEY`

    Después adjunta el conector a una tarea con `@` y pídele que liste tus
    agentes.

    <Note>
      Grok Bot corre en la nube, así que se conecta a Max por internet: usa la
      dirección pública de Max, no una local. La autenticación es un header
      fijo con tu API key. No hay inicio de sesión ni OAuth.
    </Note>
  </Tab>

  <Tab title="Grok Build">
    ```bash theme={null}
    export MAX_API_KEY="sk_TU_KEY"
    grok mcp add --transport http max https://tu-dominio/api/mcp \
      --header 'Authorization: Bearer ${MAX_API_KEY}'
    ```

    Las comillas simples hacen que Grok Build lea la key de la variable de
    entorno al conectar, en lugar de guardarla escrita en su configuración.
    `grok mcp doctor max` revisa la conexión.
  </Tab>

  <Tab title="VS Code">
    Agrega a `.vscode/mcp.json` de tu workspace:

    ```json theme={null}
    {
      "servers": {
        "max": {
          "type": "http",
          "url": "https://tu-dominio/api/mcp",
          "headers": { "Authorization": "Bearer sk_TU_KEY" }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Otro cliente">
    Sigue las instrucciones de tu cliente con `https://tu-dominio/api/mcp`
    como URL del servidor (HTTP) y el header
    `Authorization: Bearer sk_TU_KEY`.
  </Tab>
</Tabs>

Para verificar la conexión, pídele a tu asistente que **liste tus agentes**.
Debe llamar a `list_agents` y devolver los de tu organización.

## Herramientas

El servidor expone 37 herramientas. Las que operan sobre un agente reciben su
`agent_slug`, que se obtiene con `list_agents`.

| Recurso            | Herramienta                                               | Qué hace                                                                                                                  |
| ------------------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Agentes**        | `list_agents`                                             | Lista los agentes con id, slug y si tienen versión publicada                                                              |
|                    | `get_agent`                                               | Configuración completa del borrador: ajustes, reglas, derivaciones, seguimiento, contenido e integraciones                |
|                    | `update_agent_name`                                       | Renombra el agente                                                                                                        |
|                    | `update_version_settings`                                 | Tono, extensión, prompt y resolución de chats                                                                             |
|                    | `update_follow_up_settings`                               | Configura el [seguimiento](/guias/seguimiento): activarlo, instrucciones, horario, zona horaria y esperas mínima y máxima |
|                    | `publish_agent`                                           | Publica el borrador como nueva versión de producción, en dos pasos y con tu confirmación                                  |
| **Reglas**         | `create_guideline`                                        | Crea una regla de comportamiento en una categoría                                                                         |
|                    | `update_guideline`                                        | Edita título, contenido o categoría de una regla                                                                          |
|                    | `delete_guideline`                                        | Elimina una regla                                                                                                         |
| **Derivaciones**   | `create_escalation_action`                                | Crea una derivación (a persona, a cualquier humano, a otro agente, o consulta)                                            |
|                    | `update_escalation_action`                                | Edita una derivación                                                                                                      |
|                    | `delete_escalation_action`                                | Elimina una derivación                                                                                                    |
| **Contenido**      | `list_knowledge_bases`                                    | Lista los artículos del workspace                                                                                         |
|                    | `read_knowledge_base`                                     | Lee un artículo completo                                                                                                  |
|                    | `create_knowledge_base`                                   | Crea un artículo (opcionalmente ya conectado a un agente)                                                                 |
|                    | `update_knowledge_base`                                   | Cambia nombre o reemplaza el contenido                                                                                    |
|                    | `replace_knowledge_base_content`                          | Edición quirúrgica: reemplaza un texto exacto                                                                             |
|                    | `append_knowledge_base_content`                           | Agrega contenido al final (para documentos largos, por partes)                                                            |
|                    | `delete_knowledge_base`                                   | Elimina un artículo                                                                                                       |
|                    | `attach_knowledge_base` / `detach_knowledge_base`         | Conecta o desconecta un artículo de un agente                                                                             |
| **Integraciones**  | `list_integrations`                                       | Catálogo, conexiones y estado de cada integración                                                                         |
|                    | `create_connection`                                       | Crea una conexión (cuenta autenticada) de una integración                                                                 |
|                    | `attach_integration_to_agent`                             | Habilita una conexión en un agente, con sus acciones y ajustes                                                            |
|                    | `update_agent_integration`                                | Cambia acciones habilitadas o ajustes de esa integración en el agente                                                     |
|                    | `detach_integration_from_agent`                           | Quita la integración del agente                                                                                           |
|                    | `create_custom_integration`                               | Crea una integración custom (nombre, API base, autenticación)                                                             |
|                    | `update_custom_integration` / `delete_custom_integration` | Edita o elimina una integración custom                                                                                    |
|                    | `create_integration_tool`                                 | Define una acción de una integración custom (request, schema, respuesta)                                                  |
|                    | `update_integration_tool` / `delete_integration_tool`     | Edita o elimina una acción custom                                                                                         |
|                    | `run_integration_setup_tool`                              | Ejecuta una acción de configuración del pack (p. ej. listar calendarios)                                                  |
|                    | `run_integration_tool`                                    | Ejecuta una acción real de una integración conectada (p. ej. probarla antes de habilitarla)                               |
| **Conversaciones** | `list_chats`                                              | Lista las conversaciones reales con filtros de señal (estado, derivadas a humano, agente, fechas) y contadores agregados  |
|                    | `read_chat`                                               | Transcript completo y normalizado de un chat: quién dijo qué, audios como texto y derivaciones marcadas                   |
| **Organización**   | `list_workspace_members`                                  | Miembros del workspace (para derivar a una persona específica)                                                            |

## Casos de uso

<AccordionGroup>
  <Accordion title="Mejorar el agente con sus conversaciones reales">
    **Caso**: mejorar al agente a partir de sus conversaciones reales. El
    ciclo es revisar fallas, proponer el arreglo, dejarlo en borrador,
    revisarlo y publicarlo tú, y volver a medir.

    > Revisa las conversaciones del último mes del asistente de ventas.
    > Empieza por las que se derivaron a un humano (`list_chats` con
    > `escalated_only`) y lee cada transcript. Clasifica las fallas en tres
    > pilas: falta de contenido (no sabía la respuesta), falta de reglas
    > (respondió con el tono o el criterio equivocado) y problemas de prompt.
    > Para cada pila propón el fix concreto: crea o corrige los artículos con
    > la información que faltó, agrega las reglas que hubieran evitado el
    > error, y sugiéreme cambios de prompt. Aplica todo al borrador y dame un
    > resumen de qué cambiaste y por qué. Yo lo reviso en Publicar.
  </Accordion>

  <Accordion title="Auditar un agente antes de publicar">
    **Caso**: revisar qué tiene configurado un agente y detectar huecos.

    > Lista mis agentes, trae la configuración completa del asistente de
    > ventas y dime qué reglas le faltan comparado con las mejores
    > prácticas de atención: saludo, precios, horarios y escalación a humano.
    > No cambies nada todavía. Primero muéstrame el plan.
  </Accordion>

  <Accordion title="Cargar contenido desde documentos">
    **Caso**: convertir un menú, catálogo o FAQ existente en contenido del
    agente.

    > Toma este PDF del menú, conviértelo a markdown prolijo y crea un artículo
    > "Menú y precios" conectado al Asistente de Aromas. Si el artículo ya
    > existe, actualízalo con ediciones puntuales en lugar de reemplazarlo
    > entero.
  </Accordion>

  <Accordion title="Ajustar el comportamiento en masa">
    **Caso**: aplicar un cambio de política a varios agentes.

    > Para cada agente de la organización: agrega una regla en "Contenido y
    > fuentes" que diga que nunca prometa fechas de entrega sin confirmar con
    > el equipo. Muéstrame el resumen de qué le agregaste a cada uno.
  </Accordion>

  <Accordion title="Armar una integración custom">
    **Caso**: conectar una API interna sin escribir código.

    > Crea una integración custom "Turnos Clínica" apuntando a
    > [https://api.miclinica.com](https://api.miclinica.com) con auth por API key. Define dos acciones:
    > buscar turnos disponibles por fecha y reservar un turno con nombre y
    > teléfono. Después habilítasela al agente de recepción.
  </Accordion>
</AccordionGroup>

## Seguridad

* **Una key, una organización.** Las herramientas no ven ni tocan otras
  organizaciones. La key se revoca al instante desde la página
  **Desarrolladores**.
* **Nada se publica sin tu confirmación.** Las ediciones van solo al
  borrador. `publish_agent` trabaja en dos pasos: primero devuelve los
  cambios pendientes y un código de confirmación, y solo cuando le confirmas
  a tu asistente vuelve a llamarla con ese código. El código dura 10 minutos
  y cualquier edición posterior lo invalida, así que se publica lo mismo que
  viste.
* **Cuidado con otros servidores MCP.** Si tu cliente tiene varios servidores
  conectados, activa la confirmación humana de herramientas. Un contenido de
  terceros podría inyectar instrucciones que terminen editando tus agentes.

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿Puede el asistente publicar una versión?">
    Sí, con tu confirmación. `publish_agent` primero devuelve los cambios
    pendientes y tu asistente te pregunta si publica. La versión se crea solo
    si le confirmas. Si el borrador cambia o pasan más de 10 minutos antes de
    tu respuesta, tiene que mostrarte los cambios de nuevo. También puedes
    publicar a mano desde [**Publicar**](/guias/publicar-versiones).
  </Accordion>

  <Accordion title="Recibo 401 Unauthorized">
    Verifica que el header sea exactamente `Authorization: Bearer sk_…` y que
    la key no haya sido revocada. Las keys se crean en la página
    **Desarrolladores** y se muestran completas solo al crearlas.
  </Accordion>

  <Accordion title="¿Cómo trabajo con más de una organización?">
    Crea una API key en cada organización y configura un servidor MCP por
    key (por ejemplo `max-ventas` y `max-soporte`).
  </Accordion>

  <Accordion title="¿Dónde veo lo que cambió mi asistente?">
    En **Publicar**, dentro del agente. Cada regla, derivación o ajuste
    editado aparece en el detalle de cambios, igual que una edición manual.
  </Accordion>
</AccordionGroup>

## Sigue con

<CardGroup cols={2}>
  <Card title="Asistente" icon="wand-magic-sparkles" href="/guias/asistente">
    El atajo para conectar Claude Code o Codex con un agente.
  </Card>

  <Card title="Publicar versiones" icon="upload" href="/guias/publicar-versiones">
    Revisa lo que cambió tu cliente MCP antes de publicarlo.
  </Card>
</CardGroup>
