---
title: "Tools & Operations Reference"
description: "Tools & Operations Reference"
---

`tools/list` advertises one tool per operation this grant may call, named after the operation. Each description ends with the [error codes](/docs/en-US/agents/mcp/errors) the tool can return. A tool's input schema lists its arguments.

A call that succeeds returns the operation's result as JSON text. A read result over 24,000 characters comes in parts: the first text is `{"part","parts","next"}` and the second that part's slice of the JSON; calling again with the same arguments and `part` returns the next one, and the slices joined in order are the whole result. `move`, `rename`, `trash`, `file_read` and `document_read` take one input, or `items` alone with 1 to 50 inputs: writes run one after another and reads in parallel, and the call returns `results` in input order, each that input's result (for a write, only `id` and `kind`) or its `error`. A call that fails returns a tool result with `isError: true` and the text `{"error":{"code","message","retryable"}}`; see [Errors](/docs/en-US/agents/mcp/errors). Invalid arguments fail with `invalid_arguments`, naming every invalid field. A write returns only after Siglata records it in the organization's activity; when that record cannot be saved, the call fails with `activity_unavailable`.

For `file_read`, parts contain only stable metadata and content, without `transfer`, and each complete response fits the 24,000-character cap. To obtain a transfer, call `file_read` separately for one file with `linkOnly: true` and the `version` returned in the content. Small whole results keep `transfer` inline.

A tool missing from `tools/list` is one this grant cannot call: its required scope or member role is missing. Calling one returns a JSON-RPC error with `error.code` `-32602` and `error.data.error.code` `unknown_tool` (`forbidden` for an operation only Siglata staff can call, `organization_admin_required` for one that needs an organization owner or admin), whose message names the role, the scope to reconnect with, or the nearest tools this grant may call.

A new company starts inactive: signing in, consenting and connecting an agent work, and `principal_get` reports `organization.active: false`. Every other tool fails with `organization_inactive`, whose message gives Siglata's WhatsApp, and stores nothing until Siglata activates the company. Siglata staff (suporte@siglata.com) are a member of every company with the `staff` role: they can do what an owner can except delete the company or remove or change its owner, and owners and admins can't remove or change them.
