The Sim API has more than 200 operations. Instead of one tool per operation, which would crowd your app's tool list and your agent's context, the server exposes four tools. The agent searches for an operation, reads its inputs, and calls it.
| Tool | Does |
|---|---|
search_operations | Finds operations by keyword ("table rows") or by area (tables, workflows, knowledge, …). Returns each operation's name, method, path, summary, and the tool that runs it. |
describe_operation | Returns an operation's description and the JSON Schema of its path parameters, query, body, and headers. |
call_read_operation | Runs an operation that only needs read access, such as listWorkspaces, queryRows, or getWorkflowRun. |
call_write_operation | Runs an operation that needs write access: one that creates, changes, runs, or deletes something, or reaches out to another service, such as createTable, executeWorkflow, or listMcpServerTools. |
Reads and writes are separate tools so your app can approve reads once and still ask you before each change.
Calling an operation
Operation names match the CLI and the API reference. A call names the operation and fills the parts of the request it needs:
{
"operation": "listTableRows",
"params": { "tableId": "tbl_8f2c" },
"query": { "workspaceId": "ws_91ab", "limit": 50 }
}| Field | Holds |
|---|---|
params | Path parameters, such as tableId or workflowId |
query | Query-string parameters; most operations need workspaceId |
body | The JSON request body (write operations only) |
headers | Headers the operation declares, such as upload-token |
The result is the same JSON the API returns, usually { "data": … }. List
operations page with limit and cursor. A failed call returns the API's error,
such as { "error": { "code": "NOT_FOUND", "message": "…" } }, so the agent can
correct its request.
Limits
- Same rules as the API. Permissions, rate limits, and request validation are the API's own; nothing is looser through MCP.
- 1 MiB per result. Page through larger lists with
limitandcursor. - No streaming. Run a workflow without
stream: trueto wait for its result, or withasync: trueand pollgetWorkflowRun. - No file bytes. Downloads, knowledge base exports, and multipart document uploads are not available over MCP; use the CLI or the API.