swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authormain <main@swarm.moe>2026-03-22 22:20:17 -0400
committermain <main@swarm.moe>2026-03-22 22:20:17 -0400
commitd986442e8e4bc2d716c9d63159a1cfa7b1e6ed76 (patch)
treeb9ca3d0cb62b5c59e614abfb6f74ac5310c69c2f /README.md
downloadphone_opus-d986442e8e4bc2d716c9d63159a1cfa7b1e6ed76.zip
Bootstrap consultative Claude Code MCP
Diffstat (limited to 'README.md')
-rw-r--r--README.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..86c66f6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,43 @@
+# 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
+
+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
+- the normal settings stack, including user-level defaults
+- 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
+```
+