Herramientas

ToolEndpoint RESTAnotaciones
list_workspace_toolsGET /v1/toolslectura, idempotente
get_workspace_toolGET /v1/tools/{toolId}lectura, idempotente
list_agent_toolsGET /v1/agents/{agentId}/toolslectura, idempotente
list_available_agent_toolsGET /v1/agents/{agentId}/tools/availablelectura, idempotente
connect_agent_toolPOST /v1/agents/{agentId}/toolsescritura
update_agent_tool_statusPATCH /v1/agents/{agentId}/tools/{toolId}escritura, idempotente
disconnect_agent_toolDELETE /v1/agents/{agentId}/tools/{toolId}destructiva
preview_mcp_serverPOST /v1/tools/mcp/previewlectura (no persiste)
list_mcp_serversGET /v1/tools/mcplectura, idempotente
get_mcp_serverGET /v1/tools/mcp/{mcpId}lectura, idempotente
connect_mcp_serverPOST /v1/tools/mcpescritura
refresh_mcp_serverPOST /v1/tools/mcp/{mcpId}/refreshescritura, idempotente
start_mcp_server_oauthPOST /v1/tools/mcp/{mcpId}/oauth/startescritura
sync_mcp_server_toolsPOST /v1/tools/mcp/{mcpId}/tools/syncdestructiva (reemplaza)
delete_mcp_serverDELETE /v1/tools/mcp/{mcpId}destructiva
list_api_toolsGET /v1/tools/apislectura, idempotente
get_api_toolGET /v1/tools/apis/{integrationId}lectura, idempotente
create_api_toolPOST /v1/tools/apisescritura
update_api_toolPATCH /v1/tools/apis/{integrationId}escritura, parcial
test_api_toolPOST /v1/tools/apis/{integrationId}/testdestructiva (puede ejecutar POST/PATCH/DELETE)
enable_api_toolPOST /v1/tools/apis/{integrationId}/enableescritura, idempotente
pause_api_toolPOST /v1/tools/apis/{integrationId}/pausedestructiva, idempotente
delete_api_toolDELETE /v1/tools/apis/{integrationId}destructiva

Las tres capas

Antes de usar estos tools conviene tener clara la separación, porque es la fuente de casi todos los errores:

  1. El catálogo del workspace — todo lo que existe y se puede usar. list_workspace_tools.
  2. La conexión con un agente — lo que hace que un agente concreto pueda llamar una herramienta. connect_agent_tool.
  3. Los conectores — lo que crea entradas en el catálogo. connect_mcp_server y create_api_tool.

Instalar una herramienta en el workspace no se la da a ningún agente. Desconectarla de un agente no la borra del workspace.

connect_mcp_server        → el servidor y sus herramientas quedan en el catálogo
list_workspace_tools      → obtienes los toolId
connect_agent_tool        → el agente ya puede llamarlas

Documentación REST completa en Herramientas .


Catálogo del workspace

list_workspace_tools

CampoTipoDescripción
kind"mcp" \| "api" \| "integration" \| "legacy"Filtrar por origen.
mcpIdstringSólo herramientas de ese servidor MCP.
integrationIdstringSólo herramientas de esa API personalizada.
workspacestringsi multi-ws

Devuelve id (el toolId), name, description, kind, parameters y el origen de cada herramienta.

get_workspace_tool

CampoTipoRequerido
toolIdstring
workspacestringsi multi-ws

Igual que un elemento de la lista, con el JSON Schema completo de los parámetros.


Herramientas de un agente

list_agent_tools

CampoTipoRequerido
agentIdstring
workspacestringsi multi-ws

Sólo las conexiones con status: "active" se le pasan al modelo en tiempo de ejecución. Una entrada con toolExists: false es una conexión huérfana: la herramienta del catálogo fue eliminada.

list_available_agent_tools

CampoTipoRequerido
agentIdstring
kind"mcp" \| "api" \| "integration" \| "legacy"no
workspacestringsi multi-ws

Devuelve el catálogo completo con isConnected y connectionStatus. Úsalo antes de conectar para no chocar con un 409.

connect_agent_tool

CampoTipoRequeridoDescripción
agentIdstring
toolIdstringDel catálogo, no el nombre de la herramienta.
status"active" \| "inactive"noDefault "active".
workspacestringsi multi-ws

Devuelve 409 si ya estaba conectada — en ese caso usa update_agent_tool_status.

update_agent_tool_status

CampoTipoRequerido
agentIdstring
toolIdstring
status"active" \| "inactive"
workspacestringsi multi-ws

Desactivar es la forma reversible de quitarle una herramienta al agente. Activar una que no estaba conectada la conecta, así que el tool es idempotente.

disconnect_agent_tool

CampoTipoRequerido
agentIdstring
toolIdstring
workspacestringsi multi-ws

Elimina la conexión. No borra la herramienta del catálogo ni afecta a otros agentes.


Servidores MCP

preview_mcp_server

Se conecta al servidor y lista sus herramientas sin guardar nada. Llámalo antes de connect_mcp_server.

CampoTipoRequeridoDescripción
urlstringURL del servidor (https).
authobjetonoDefault { "type": "none" }.
headersobjetonoHeaders extra para el handshake.
workspacestringsi multi-ws

Formas de auth:

typeCampos
none
bearertoken
apikey-headertoken, headerName, headerPrefix (opcional)
oauth2scope, clientId, clientSecret (todos opcionales)

Los name que devuelve son los nombres originales del servidor: son los que se pasan como tools a connect_mcp_server y sync_mcp_server_tools.

list_mcp_servers

CampoTipoRequerido
workspacestringsi multi-ws

status puede ser connected, pending_auth, needs_reauth o error. Las credenciales nunca se devuelven.

get_mcp_server

CampoTipoRequerido
mcpIdstring
workspacestringsi multi-ws

Incluye discoveredTools (lo que ofrece el servidor, con un flag installed) e installedTools (lo que está en el catálogo, con su toolId).

connect_mcp_server

CampoTipoRequeridoDescripción
namestring (≤ 120)Nombre visible dentro de Platica.
urlstringURL del servidor (https).
descriptionstring (≤ 500)no
authobjetonoIgual que en preview_mcp_server.
headersobjetono
toolsstring[]noNombres originales a instalar. Omitir instala todas.
workspacestringsi multi-ws
{
  "name": "connect_mcp_server",
  "arguments": {
    "name": "Linear",
    "url": "https://mcp.linear.app/mcp",
    "auth": { "type": "bearer", "token": "lin_api_xxx" },
    "tools": ["create_issue", "search_issues"]
  }
}

Devuelve installedToolIds, que son los toolId listos para connect_agent_tool.

refresh_mcp_server

CampoTipoRequerido
mcpIdstring
workspacestringsi multi-ws

Vuelve a descubrir herramientas y actualiza los esquemas de las instaladas. No instala las nuevas: aparecen con installed: false hasta que las agregues con sync_mcp_server_tools.

start_mcp_server_oauth

CampoTipoRequeridoDescripción
mcpIdstring
scopestringnoScopes OAuth solicitados.
clientId, clientSecretstringnoSólo para proveedores sin registro dinámico.
workspacestringsi multi-ws

Devuelve authorizeUrl; una persona debe abrirla en el navegador. El callback guarda los tokens cifrados.

sync_mcp_server_tools

CampoTipoRequeridoDescripción
mcpIdstring
toolsstring[]Lista completa de nombres originales que deben quedar instalados.
workspacestringsi multi-ws

delete_mcp_server

CampoTipoRequerido
mcpIdstring
workspacestringsi multi-ws

Elimina el servidor, sus credenciales, sus herramientas y las conexiones que tuvieran con cualquier agente.


APIs personalizadas

Una API personalizada convierte un endpoint HTTP en una herramienta. Tiene dos partes: request describe la llamada con marcadores {{nombre}}, y variables declara quién rellena cada uno.

mode de la variableQuién aporta el valor¿La ve el modelo?
ai (default)El modelo al llamar la herramienta
constantconstantValueNo
contextcontextField de la conversaciónNo

El esquema que ve el modelo se deriva de las variables ai al habilitarla. Por eso la description de cada variable es obligatoria: es lo que el modelo lee.

Ciclo de vida: draftenabledpaused. Sólo en enabled existe en el catálogo.

list_api_tools

CampoTipoRequerido
workspacestringsi multi-ws

get_api_tool

CampoTipoRequerido
integrationIdstring
workspacestringsi multi-ws

Las credenciales y constantes write-only se devuelven como "[REDACTED]"; nunca entran al contexto del modelo.

create_api_tool

CampoTipoRequeridoDescripción
namestringMinúsculas, empieza alfanumérico, sólo letras/dígitos/_ (≤ 62). El modelo la verá como api_<name>.
descriptionstring (10-1024)Cuándo debe llamarla el agente.
requestobjetomethod, url, params, headers, body, auth.
variablesarraynoname, type, description, required, mode, y refinamientos JSON Schema.
passContextbooleannoNecesario para variables en modo context.
contextobjetonoConfiguración de contexto, como lastMessagesN.
mappingobjetonobodyStrategy y extraBody.
responseobjetonopath, include, exclude, maxBytes para recortar la respuesta.
periodicAuthobjetonoToken generado por cron e inyectado en header/query.
encryptPayloadobjetonoFirma el body como JWT.
workspacestringsi multi-ws
{
  "name": "create_api_tool",
  "arguments": {
    "name": "order_lookup",
    "description": "Consulta el estado de un pedido por su folio. Úsala cuando el cliente pregunte dónde va su pedido.",
    "request": {
      "method": "GET",
      "url": "https://api.tienda.com/orders/{{orderId}}",
      "auth": { "type": "bearer", "token": "sk_live_xxx" }
    },
    "variables": [
      {
        "name": "orderId",
        "type": "string",
        "description": "Folio del pedido, tal como aparece en el correo de confirmación.",
        "required": true
      }
    ]
  }
}

Nace como borrador. Pruébala con test_api_tool y publícala con enable_api_tool.

update_api_tool

Mismos campos que create_api_tool pero todos opcionales, más integrationId. Los arrays (variables, request.headers, request.params) se reemplazan completos, no se fusionan elemento por elemento.

test_api_tool

CampoTipoRequeridoDescripción
integrationIdstring
inputobjetonoValores para las variables en modo ai.
dryRunbooleannotrue arma la petición sin llamar a la API.
workspacestringsi multi-ws

Empieza con dryRun: true para verificar las sustituciones antes de golpear la API real. Un fallo de la API remota no es un error del tool: se reporta en data.outcome y data.httpStatus.

enable_api_tool

CampoTipoRequerido
integrationIdstring
workspacestringsi multi-ws

Publica la herramienta en el catálogo y devuelve el toolId para connect_agent_tool. Falla con 400 si alguna variable visible para el modelo no tiene descripción.

pause_api_tool

CampoTipoRequerido
integrationIdstring
workspacestringsi multi-ws

Retira la herramienta del catálogo conservando su configuración.

delete_api_tool

CampoTipoRequerido
integrationIdstring
workspacestringsi multi-ws

Elimina la herramienta definitivamente. Si sólo quieres apagarla, usa pause_api_tool.


Endpoints REST sin tool MCP

  • Instalar apps de primera parte (kind: "integration") se hace desde el panel. Una vez instaladas, sus herramientas aparecen en list_workspace_tools y se conectan igual que cualquier otra.