Skip to main content
Glama

oto_instance

Connector INSTANCES (connector x auth/config; the secret is never returned). op=list (instances visible to you by proximity — member/group/org/tenant/platform, optional filters connector — a service card such as google_ads finds the account it borrows — and level; id = inst:<n>, the instance's stable identifier — may be missing, and ref stays the pin handle for instance=; visible_to = the scopes that can DISCOVER it, derived from the access chain — descriptive, it does not filter this list) / lend (lend YOUR instance of connector to a peer — to = the email or the sub of a member of your organization, who pins it — or to a team of your org — to_group = its id — or to your whole current org — to_org=true; their members use it only by naming it (_account=); a Google or Microsoft account is lent for a list of services (default: the card named, e.g. google_ads, or what it authorized today; a later one is never lent implicitly; lend again to extend or reduce); revoke=true takes it back, and both are journaled — ADR 0044 share_side) / verify (side-effect-free credential probe of connector → {ok, error}; level=auto tests the credential that resolves for you, level=org the org shared key). Contrast with oto_identity (operable accounts of ONE connector) and oto_connector op=list (catalog of TYPES).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "op": "<op>"
    },
    "name": "oto_instance"
  }
}

Input Schema

NameRequiredDescriptionDefault
opYes
toNo
_orgNo
levelNo
revokeNo
to_orgNo
accountNo
servicesNo
to_groupNo
connectorNo

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden and does substantial work: the secret is never returned, lending restricts recipients to using it only by naming it (`_account=`), revoke takes it back, both actions are journaled, verify returns {ok, error}, and `visible_to` is explicitly descriptive rather than a filter. Authorization scope is implied ('YOUR instance', 'a member of your organization'). Some references ('pin handle', 'ADR 0044 share_side') are insider jargon that an outside agent cannot resolve.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is front-loaded and information-dense, with essentially no filler sentences. However it is delivered as a single run-on paragraph of slash-separated clauses and nested parentheticals, which makes it hard for an agent to scan for the op it needs. Structuring the three ops as separate lines would cost nothing and gain a lot.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, no-annotation, no-output-schema tool with three sub-operations, the description covers most of what an agent needs: the resource model, the per-op semantics, mutation and reversibility, and the return shape for verify. Remaining gaps are `_org`/`account` semantics, default behavior when `connector` is omitted for lend, and error handling for list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 params, so the description must compensate and largely does: it explains `connector` (a service card such as `google_ads`), `level` (auto vs org credential), `to` (email or sub), `to_group`, `to_org`, `services` (default behavior and non-implicit lending), and `revoke`. But `_org` and `account` are never explained, and the text discusses `id`, `ref`, and `visible_to`, which are not schema properties, creating some confusion about what is actually passable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource precisely ('Connector INSTANCES (connector x auth/config)') and enumerates its three operations (list/lend/verify), each with a distinct verb. It also explicitly separates itself from oto_identity ('operable accounts of ONE connector') and oto_connector op=list ('catalog of TYPES'). The only drag is that the opening is a dense parenthetical rather than a plain one-line statement of what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each op carries its own usage condition: list shows what is visible by proximity, lend is for sharing YOUR instance with a peer/group/org, verify is a side-effect-free credential probe. Two alternative tools are named with the condition that selects them. What is missing is when NOT to use this tool (e.g., versus oto_account_access or oto_connector_access_level), so routing is good but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources