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
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.
{
"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.
{
"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 todiscover; ids are not guessed. - Unknown id: search again because the record may be unpublished, archived or no longer live.
- Missing worked example: follow
input_schemaexactly and treat the call as higher risk. requires_connectionwithconnected: false: give the human theconnect_urlfrom the next run error.
Once the input is understood, continue to run.