swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 7f5eedf712b91ef07f197925e9f30625afbba3dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# phone_opus

`phone_opus` is a deliberately narrow MCP server for consultative Claude Code
calls.

It exposes one blocking domain tool:

- `consult`: run the system `claude` install in print mode, wait for the answer,
  and return the response plus execution metadata
  - pass `session_id` from a previous response to resume that Claude Code conversation
  - a fixed consult prefix is prepended before the caller-supplied prompt
  - pass `background: true` to queue the consult and get back a job handle instead of blocking
- `consult_job`: inspect one background consult job and receive the final result once it completes
- `consult_jobs`: list recent background consult jobs

The server keeps the public MCP session in a durable host, isolates the actual
Claude invocation in a disposable worker, and ships standard health and
telemetry surfaces:

- `health_snapshot`
- `telemetry_snapshot`

## Runtime posture

Each `consult` call runs Claude Code with:

- the system `claude` binary
- `--model claude-opus-4-6`
- `--effort max`
- a baked-in consult prefix telling Claude it is acting in read-only advisory mode for another model and should return a prioritized actionable report
- no configured MCP servers (`--strict-mcp-config --mcp-config '{"mcpServers":{}}'`)
- a read-only built-in toolset:
  - `Bash,Read,Grep,Glob,LS,WebFetch,WebSearch`
- `--permission-mode dontAsk`, so only preapproved read-only Bash patterns can
  execute and edit tools never appear in the session

## Development

Run the fast gate with:

```bash
python check.py
```

Run the server locally with:

```bash
cargo run -- mcp serve
```