inspect

Read the current contract and worked example for one catalog tool.

View Markdown

inspect is the second control tool. It is the contract boundary between a provider-neutral job and a provider-backed catalog tool. Inspect before every unfamiliar run.

Signature

code
inspect({ tool_id })

The canonical field is tool_id, returned by discover. The deprecated capability_id alias remains accepted during the compatibility window. If both are present, they must identify the same stable id.

code
{
  "name": "inspect",
  "arguments": {
    "tool_id": "<tool_id returned by discover>"
  }
}

Return shape

The response contains the current public contract: identity and summary, price and unit, connection state, input schema, a human-verified worked_example when one exists, and common_errors. It also provides next_step and warnings when the connection or health needs attention.

code
{
  "id": "<catalog tool id>",
  "name": "<catalog tool>",
  "input_schema": { "type": "object" },
  "worked_example": {
    "input": { "<field>": "<example value>" },
    "output": { "<provider result>": "<redacted value>" }
  },
  "common_errors": [],
  "next_step": "Copy worked_example.input and call run."
}

Do not copy a provider schema, price or worked example from this documentation. Those fields can change and belong to the live response.

Common errors and recovery

  • Missing tool_id: return to discover; ids are not guessed.
  • Unknown id: search again because the record may be unpublished, archived or no longer live.
  • Missing worked example: follow input_schema exactly and treat the call as higher risk.
  • requires_connection with connected: false: give the human the connect_url from the next run error.

Once the input is understood, continue to run.