# Everything the gateway exposes, in one place

looot exposes exactly six MCP tools, a CLI that mirrors them one for one, and a REST API underneath both. This page is the map, not the manual.

## The MCP surface: six tools, no more

Every client, human or agent, reaches the gateway through the same six operations. Nothing else is exposed.

- discover -- search the catalog for operations that match what you're trying to do
- inspect -- look up one operation's contract: inputs, outputs, and price basis
- run -- execute an operation with an idempotency key and get back a run record
- runs_get -- fetch a single run by id, including its current status and result
- runs_list -- list runs for the organization, filterable by status or capability
- balance -- check the organization's current reservation and settlement balance

## Three surfaces, one contract

CLI, REST, and MCP all call the same operations underneath, so nothing behaves differently depending on how you connect.

CLI: commands follow one shape, `coset <group> <action> [id] [options]`. Output defaults to JSON; human-readable output redacts secret-looking fields. Secrets are read from environment variables only, never accepted as command arguments.

REST API: the full contract is served live at /v1/openapi.json, generated from the same code that runs the gateway. Every operation is versioned (ContractVersion), so a contract change never silently breaks a caller pinned to an older version.

MCP: the same six tools are exposed over MCP, so an AI client can browse the catalog and execute operations without a separate integration layer. Organization isolation and fail-closed production connections apply the same way on every surface.

## Setting up a real connection

The setup center lists every required account, environment variable, and scope, without ever printing a secret. Your workspace needs no account or provider key to start and uses example data; production connections remain fail-closed until configured and approved.

## For agents

Install: `npm i -g @coset/cli`. Full machine-readable tool contract and route list: https://api.looot.ai/llms.txt (short) and https://api.looot.ai/llms-full.txt (full, with examples). This block mirrors that wording rather than duplicating a second contract.

- **OpenAPI document**: https://api.looot.ai/v1/openapi.json
- **CLI command shape**: coset <group> <action> [id] [options]
- **MCP endpoint**: https://api.looot.ai/mcp

### `GET /v1/discover`

Search the catalog by capability.

### `GET /v1/operations/{endpointId}`

Read one operation's contract and price basis.

### `POST /v1/runs`

Execute an operation. Quote-before-run pricing, idempotency key required.

### `GET /v1/runs/{runId}`

Fetch one run's status and result.

### `GET /v1/balance`

Read the organization's reservation and settlement balance.
