# Find and inspect a tool.

Use an exact published contract before sending a provider request.

Updated: 2026-09-21.
## Describe the task

Use MCP `discover_tools` or REST `POST /v1/discover` with a plain-language `query`. Set a small `limit` and read the candidates returned by the service. The [OpenAPI contract](/openapi.json) defines supported filters and sorting options.

## Inspect the selected ID

Use MCP `inspect_tool` with `tool_id`, or REST `GET /v1/tools/{provider}/{tool}`. Check:

- Availability and any reason the tool cannot run.
- The complete JSON input schema, including required fields, bounds and enum values.
- The published sample, which is an example rather than the user’s requested input.
- Price model, units, reservation ceiling and any pricing conditions.
- Provider attribution, licences and documented downstream effects.

## Stop when the contract is incomplete

Ask for missing inputs, permission or a spend decision. Do not turn a missing value into a guessed URL, account ID or file. If the selected tool is unavailable, discover a suitable available alternative and explain the difference before executing.

The [catalog’s Markdown index](/tools/index.md) links to individual schemas. This index covers the published customer capabilities.

---

[HTML page](/docs/discovery) · [Agent index](/llms.txt)
