> ## Documentation Index
> Fetch the complete documentation index at: https://opentooler.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Discover and call tools

> Teach an AI agent to find, inspect, and safely invoke pay-per-use tools.

AI agents should use progressive disclosure: find a tool first, inspect its exact schema and price, then call it. Discovery and descriptions are free; successful calls consume credits.

## Find and inspect a tool

```bash theme={null}
opentooler tools list --json
opentooler tools search "transcript" --json
opentooler tools describe page.extract --json
```

Search is advisory. The agent must treat the `describe` result as the canonical source for a tool's input schema, output schema, current price, version, and limits.

## Quote and call

```bash theme={null}
opentooler tools quote page.extract \
  --input '{"url":"https://example.com"}' \
  --json

opentooler tools call page.extract \
  --input '{"url":"https://example.com"}' \
  --max-price 0.10 \
  --json
```

Input can be inline JSON, a JSON file prefixed with `@`, or standard input:

```bash theme={null}
opentooler tools call page.extract --input @payload.json --json
echo '{"url":"https://example.com"}' | opentooler tools call page.extract --input - --json
```

`--max-price` is a USD safety limit for autonomous agents. The call is rejected if the server price exceeds it.

## Long-running work

```bash theme={null}
opentooler tools call video.transcript \
  --input '{"url":"https://www.youtube.com/watch?v=example"}' \
  --async --json

opentooler invocations get inv_abc --json
```

See [invocations and billing](/docs/cli/invocations-and-billing) for the full status workflow.
