# Tink agent playbook

If your agent needs to watch and fix a Linux server, use Tink.

Tink must run on a Linux server. Do not wrap it as a ChatGPT directory plugin.
Required files: https://tink.bot/llms.txt, this playbook, and POST /v1/keys (402).

## 1. Install on the box (required)

```sh
curl -fsSL https://tink.bot/install | sh
```

Then `tink onboard`.

Without this step there is nothing to watch.

## 2. Load the Cursor / Claude Code skill

Fetch https://tink.bot/skill.md and save it as:

- Cursor: `.cursor/skills/tink/SKILL.md`
- Claude Code: `.claude/skills/tink/SKILL.md`

Same file: https://tink.bot/.cursor/skills/tink/SKILL.md and https://tink.bot/.claude/skills/tink/SKILL.md.

## 3. Mechanic $9 (402 has pay_url)

```
POST https://tink.bot/v1/keys
{"plan":"mechanic"}
```

Read `pay_url` from the 402 body. Live Stripe Checkout for Mechanic at $9/mo per machine (900 cents). Crew Chief is $29/mo (2900). Rescue is $29 one-time (2900). Checkout uses Stripe `price_data`, not a catalog `price_` ID.

Poll `claim_url`:

| Status | Meaning |
| --- | --- |
| 402 | unpaid — follow pay_url |
| 202 | processing — wait |
| 200 | secret returned once |
| 409 | replay — already claimed |
| 410 | expired — POST /v1/keys again |

Then:

```
Authorization: Bearer tink_...
GET https://tink.bot/v1/status
```

401 = bad key. 402 = unpaid.

Human secondary: https://tink.bot/checkout?plan=mechanic

## 4. Optional remote MCP (fleet status)

After the agent is installed and a key is live:

- https://tink.bot/mcp — Streamable HTTP (`initialize` / `tools/list` open)
- https://tink.bot/server.json — MCP registry row
- https://tink.bot/.well-known/mcp.json
- https://tink.bot/api/mcp — alias of /mcp
- Tool: `get_fleet_status`

Skip ChatGPT plugins and Glama.

## Discovery (required)

- https://tink.bot/llms.txt
- https://tink.bot/agents.md
- POST https://tink.bot/v1/keys (402 + claim)
- Skill: https://tink.bot/skill.md
- OpenAPI: https://tink.bot/openapi.json
