> ## 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.

# OpenTooler

> Pay-per-use tools for AI agents, available through one CLI.

OpenTooler gives AI agents access to pay-per-use tools through one CLI. Agents can discover capabilities, inspect schemas and prices, and run tools without requiring a separate provider account for every integration.

Stable JSON output makes every command easy for agents to call, parse, and compose into larger workflows.

<Info>
  The public CLI package is preparing for release. These docs describe the
  launch interface; install commands will work after `@opentooler/cli` is
  published to npm.
</Info>

## Set up your AI agent

Give this prompt to your AI agent:

```text theme={null}
Set up OpenTooler by following https://opentooler.ai/docs/skill.md
```

<Columns cols={2}>
  <Card title="Get started" icon="rocket" href="/docs/quickstart">
    Equip your AI agent with OpenTooler and make its first tool call.
  </Card>

  <Card title="CLI reference" icon="terminal" href="/docs/cli/overview">
    See the commands, JSON contracts, input formats, and exit codes agents use.
  </Card>

  <Card title="Discover and call" icon="search" href="/docs/guides/discover-and-call">
    Let an agent search tools, inspect schemas and prices, then invoke safely.
  </Card>

  <Card title="Billing and safety" icon="shield-check" href="/docs/guides/billing-and-safety">
    Control agent spending with credits, price limits, receipts, and idempotency.
  </Card>
</Columns>

## How it works

1. Your agent **discovers** available tools by name or capability.
2. It **describes** the selected tool to get its exact input schema and current price.
3. It **calls** the tool with JSON input. OpenTooler charges credits only after a successful invocation.

Agents should use `--json` so stdout contains one structured result while diagnostics remain on stderr.

```bash theme={null}
opentooler tools search "extract web page" --json
opentooler tools describe page.extract --json
opentooler tools call page.extract --input '{"url":"https://example.com"}' --json
```

<Tip>
  Start with [Quickstart](/docs/quickstart), then use the [CLI
  reference](/docs/cli/overview) as your command guide.
</Tip>
