# Set up StratOS for your coding agent

This page is for an AI coding agent. A person can hand it over in one sentence: "Set up StratOS by reading
https://app.getstratos.ai/install.md".

StratOS holds this company's committed strategy: who they sell to, how they price, what they claim, the bets currently
open and the moves a human has sanctioned. Each decision was reviewed and committed by a person on a date. You read it
over MCP instead of guessing it, and you build against it.

## 1. The person creates a key

Nothing installs on their machine; the server is remote. They sign in at https://app.getstratos.ai/settings, open
Agent keys, create a key and copy it. It is shown once. You never ask them to paste it into chat; they paste it into
the command below themselves, or into their client's MCP settings.

## 2. Connect

Claude Code:

```
claude mcp add --transport http stratos https://stratos-cloud.onrender.com/mcp --header "Authorization: Bearer <key>"
```

Any other MCP client takes the same two facts: the endpoint `https://stratos-cloud.onrender.com/mcp` over HTTP, and the
header `Authorization: Bearer <key>` on every request. Tokens never go in the query string.

## 3. Verify, then say so

Call `get_strategy_context`. You are connected and verified only when it returns this company's committed reads. Say
"connected" only then.

- A 401 means the key, not the server. Ask the person to create a new one.
- An empty result on a working key means the person has committed nothing yet. Say that plainly. Do not interview them
  and write a strategy yourself; that is what StratOS exists to do properly.

Do not write anything to test the setup. `post_bet_reading`, `post_move_outcome`, `post_preflight_finding`,
`start_move`, `commit` and `generate_build_spec` change the company's record, and a test write is a false reading on
someone's strategy. The read tools are the test.

## 4. How to use it from then on

- Before you scope, spec, plan, price, position or name anything, call `get_strategy_context` and read the committed
  position. `list_committed` and `read_committed` give the full text of a read; `get_changes` tells you what moved since
  your last look; `get_graph_state` shows what is stale and why.
- Use committed positioning and pricing as written. If the words do not fit, say why instead of rewriting them.
- When a build needs a decision nobody has committed, say so. A gap on the record is a finding, not a prompt to invent.
- Post a reading, an outcome or a preflight finding only when the person asks you to, and only about something you
  observed. The record changes through the person's own ruling, never on its own.

## Tool surface

Read: `get_strategy_context`, `list_committed`, `read_committed`, `get_changes`, `get_graph_state`, `list_deliverables`,
`read_move`, `read_page_plan`, `read_build_spec`, `get_spec_status`.
Write (only on the person's instruction): `post_bet_reading`, `post_move_outcome`, `post_preflight_finding`,
`start_move`, `commit`, `generate_build_spec`. A key created by a read-only seat sees the read tools and none of the
write tools.

The person can also read everything you read, and can share one committed read with anyone by a link, at
https://app.getstratos.ai.
