Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.mka1.com/llms.txt

Use this file to discover all available pages before exploring further.

Utiliza herramientas MCP cuando quieras que la API de MKA1 llame herramientas de un servidor MCP externo durante una respuesta. Define el servidor MCP en tools. Limita qué herramientas puede llamar el modelo con allowed_tools. Usa require_approval cuando quieras que tu aplicación se detenga y pida aprobación al usuario final antes de ejecutar la herramienta. Utiliza X-On-Behalf-Of para identificar al usuario final de la API de MKA1. Pasa las credenciales del servidor MCP upstream en la definición de la herramienta MCP.

Llamar directamente a una herramienta MCP

Establece require_approval en 'never' cuando la herramienta pueda ejecutarse de inmediato.
mka1 llm responses create --body '{
  "model": "meetkai:functionary-es-mini",
  "instructions": "Eres un asistente de gestión de proyectos con acceso a Linear vía MCP. Usa las herramientas de Linear cuando el usuario pregunte sobre tareas, bugs o proyectos. Mantén la respuesta final concisa.",
  "input": "Lista mi incidencia de Linear más reciente asignada a mí.",
  "store": true,
  "stream": false,
  "tools": [
    {
      "type": "mcp",
      "server_label": "Linear MCP",
      "server_description": "Accede a incidencias de Linear a través de MCP.",
      "server_url": "https://mcp.linear.app/mcp",
      "allowed_tools": ["issues.list"],
      "headers": {
        "Authorization": "Bearer <linear-api-key>"
      },
      "require_approval": "never"
    }
  ]
}' \
  -H 'X-On-Behalf-Of: <end-user-id>'
Este es el flujo más simple. El modelo llama a la herramienta MCP permitida y devuelve el mensaje final del asistente en una sola solicitud. El array de respuesta output contiene:
  1. function_call — la llamada del modelo a la herramienta descubierta por MCP
  2. function_call_output — los datos devueltos por el servidor MCP
  3. message — la respuesta de texto del modelo resumiendo los resultados

Requerir aprobación del usuario final

Establece require_approval en 'always' cuando tu aplicación deba detenerse y esperar una decisión de aprobación. En este flujo, crea la respuesta en modo background, haz polling y busca un elemento mcp_approval_request en output.
# Paso 1: Crear una respuesta en segundo plano con aprobación requerida
mka1 llm responses create --body '{
  "model": "meetkai:functionary-es-mini",
  "instructions": "Eres un asistente de gestión de proyectos con acceso a Linear vía MCP.",
  "input": "Lista mi incidencia de Linear más reciente asignada a mí.",
  "background": true,
  "store": true,
  "stream": false,
  "tools": [
    {
      "type": "mcp",
      "server_label": "Linear MCP",
      "server_url": "https://mcp.linear.app/mcp",
      "allowed_tools": ["issues.list"],
      "headers": { "Authorization": "Bearer <linear-api-key>" },
      "require_approval": "always"
    }
  ]
}'

# Paso 2: Haz polling de la respuesta por id hasta que aparezca un mcp_approval_request
mka1 llm responses get --response-id <response-id>

# Paso 3: Envía la aprobación para continuar
mka1 llm responses create --body '{
  "model": "meetkai:functionary-es-mini",
  "previous_response_id": "<response-id>",
  "input": [
    {
      "type": "mcp_approval_response",
      "approval_request_id": "<approval-request-id>",
      "approve": true
    }
  ],
  "store": true,
  "stream": false
}'
Si el usuario final rechaza la llamada a la herramienta, envía approve: false. También puedes incluir un campo reason en el elemento mcp_approval_response. Para interfaces de aprobación, muestra:
  • server_label — qué servidor MCP se está usando
  • name — qué herramienta quiere llamar el modelo
  • arguments — qué argumentos planea enviar

Referencia de definición de herramienta MCP

ParámetroTipoPredeterminadoDescripción
type"mcp"Requerido. Identifica esto como una herramienta MCP.
server_labelstringRequerido. Nombre para mostrar del servidor MCP.
server_urlstringURL del endpoint del servidor MCP.
server_descriptionstringDescripción opcional del propósito del servidor.
allowed_toolsstring[]Limita qué herramientas puede llamar el modelo.
headersobjectCabeceras a pasar al servidor MCP (por ejemplo, tokens de autenticación).
require_approval"always" | "never""always"Si se debe pausar para aprobación del usuario final antes de llamar.
connector_idstringUsa un conector preconfigurado en vez de una URL de servidor personalizada.
Las credenciales pasadas en headers se ocultan automáticamente en las respuestas almacenadas y en los eventos de streaming.

Próximos pasos