Workspace Catalog
The catalog is the list of tools that exist in the workspace. Being in the catalog means a tool can be connected to an agent, not that any agent is using it — that is what the agent tool endpoints are for.
The id these endpoints return is the toolId used everywhere else.
List Tools
GET https://api.platica.mx/v1/tools Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
kind | string | Filter by origin: mcp, api, integration or legacy | — |
mcpId | string | Only tools installed from that MCP server | — |
integrationId | string | Only tools from that custom API | — |
workspace | string | Required for multi-workspace API keys | — |
Response
{
"count": 2,
"tools": [
{
"id": "8fK2mQpLxT4vNbRc",
"name": "mcp_create_issue_a1b2c3",
"description": "Create a new issue in Linear",
"kind": "mcp",
"parameters": {
"type": "object",
"properties": {
"title": { "type": "string" },
"teamId": { "type": "string" }
},
"required": ["title", "teamId"]
},
"status": "active",
"mcpId": "QZPHpckDPC58JIVLQA3Z",
"mcpToolName": "create_issue",
"mcpName": "Linear",
"mcpStatus": "connected",
"integrationId": null,
"integrationName": null,
"integrationStatus": null,
"installationId": null,
"providerId": null,
"providerToolName": null,
"createdAt": "2026-07-14T18:02:11.410Z",
"updatedAt": "2026-07-14T18:02:11.410Z"
},
{
"id": "RuzoaswTBBrhutHyKYZn",
"name": "api_order_lookup",
"description": "Look up an order status by its reference number.",
"kind": "api",
"parameters": {
"type": "object",
"properties": {
"orderId": { "type": "string", "description": "Order reference" }
},
"required": ["orderId"],
"additionalProperties": false
},
"status": "active",
"mcpId": null,
"mcpToolName": null,
"mcpName": null,
"mcpStatus": null,
"integrationId": "RuzoaswTBBrhutHyKYZn",
"integrationName": "order_lookup",
"integrationStatus": "enabled",
"installationId": null,
"providerId": null,
"providerToolName": null,
"createdAt": "2026-07-10T15:41:03.902Z",
"updatedAt": "2026-07-12T09:18:44.117Z"
}
]
} Tools come sorted by update time, most recent first.
| Field | Type | Description |
|---|---|---|
id | string | The toolId. Used to connect it to an agent. |
name | string | Technical name the model sees. Generated automatically: mcp_<tool>_<slug> for MCP, api_<name> for custom APIs. |
description | string | What the model reads to decide when to call it. |
kind | string | mcp, api, integration or legacy. |
parameters | object | JSON Schema of the arguments, exactly as the model receives it. |
status | string | The tool's state in the catalog. |
mcpId, mcpToolName, mcpName, mcpStatus | string | null | Source MCP server and the tool's original name on it. Only for kind: "mcp". |
integrationId, integrationName, integrationStatus | string | null | Source custom API. Only for kind: "api". |
installationId, providerId, providerToolName | string | null | Source app installation. Only for kind: "integration". |
createdAt, updatedAt | string | null | ISO 8601. |
mcpToolName is the original name on the MCP server, and it is what you pass to POST /v1/tools/mcp and POST /v1/tools/mcp/{mcpId}/tools/sync — not the renamed name.
Get Tool
Returns the same shape as a list item. Useful when you only need one tool's parameter schema.
GET https://api.platica.mx/v1/tools/{toolId} URL parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
toolId | string | Catalog tool identifier | ✓ |
Response
{
"id": "8fK2mQpLxT4vNbRc",
"name": "mcp_create_issue_a1b2c3",
"description": "Create a new issue in Linear",
"kind": "mcp",
"parameters": {
"type": "object",
"properties": {
"title": { "type": "string" },
"teamId": { "type": "string" }
},
"required": ["title", "teamId"]
},
"status": "active",
"mcpId": "QZPHpckDPC58JIVLQA3Z",
"mcpToolName": "create_issue",
"mcpName": "Linear",
"mcpStatus": "connected",
"integrationId": null,
"integrationName": null,
"integrationStatus": null,
"installationId": null,
"providerId": null,
"providerToolName": null,
"createdAt": "2026-07-14T18:02:11.410Z",
"updatedAt": "2026-07-14T18:02:11.410Z"
} Errors
| Status | Cause |
|---|---|
404 | The tool does not exist in the workspace |
Consejo
To find out which catalog tools a specific agent already has, use GET /v1/agents/{agentId}/tools/available : it returns this same catalog with an isConnected flag.