CLI

The CLI is the product. MCP is the same product over stdio.

There is no extra pip install 'arthur-loop[mcp]'. After a normal install, arthur mcp serve is part of the package. Init registers it for you.

Everyday commands

arthur --version
arthur init
arthur roles set reviewer=claude-code:opus qa=grok
arthur loop create --project-id MY_APP --from-ticket AUTH-2 --role planner=grok
arthur
arthur run
arthur follow --once
arthur web
arthur status
arthur gate implementation --project-id MY_APP
arthur decision list

Inside an instance, bare arthur invokes the next assigned role. Full setup: Roles and run.

An open human decision pauses that project: claim, submit, poll-result, complete, and fail exit 2. Cancel and recover still work.

MCP tools

Dotted names are canonical. Grok registrations use portable names (arthur_status, arthur_loop_create, arthur_follow_run).

Read: arthur.status, arthur.tick, arthur.queue.show, arthur.queue.due, arthur.gate.implementation, arthur.decision.list, arthur.loop.list, arthur.roles.list, arthur.board, arthur.tracker.next, arthur.tracker.queue.

Gated write: arthur.queue.create, arthur.queue.claim, arthur.queue.submit, arthur.queue.poll_result, arthur.queue.recover, arthur.capture, arthur.decision.open, arthur.decision.answer, arthur.loop.create, arthur.roles.set, arthur.run, arthur.board.open_jobs, arthur.tracker.walk, arthur.follow.run.

The /arthur-loop prompt interviews for roles, calls arthur.loop.create, then arthur.run.

arthur mcp serve
arthur mcp serve --tool-name-style portable
arthur mcp tools --json
arthur mcp call arthur.status

Follow / run

arthur, arthur run, and arthur follow claim, invoke the assigned role’s CLI, capture, gate, and enqueue the next hop. They will not skip a human decision or invent plan approval. ChatGPT-browser and manual adapters write an inbox file and stop.

Repo detail: docs/mcp.md, docs/follow.md.