review · segments
Untitled session
claude 44 events 1 segments master
segment 1 of 1
Determine how Solo's MCP toolset and identity propagate to spawned agents
The user asked how Solo makes its MCP toolset and identity available to spawned agents, specifically whether a Solo-spawned 'ssh proxmox claude' on a remote Linux box would still see Solo's tools and identity. The assistant systematically investigated by reading the project's .mcp.json, the global ~/.claude.json, the Solo discovery file, the mcp binary, environment variables, and checking setup_agent_integration behavior. Key findings: Solo's MCP server is registered globally in ~/.claude.json as a stdio command pointing to /Applications/Solo.app/Contents/MacOS/mcp, a Mach-O binary that communicates via a Unix domain socket (~/.config/soloterm/solo-mcp.sock) and local SQLite databases (solo.db, agent-channels.db) — it has no HTTP client. Identity is provided via environment variables (SOLO_PROCESS_ID, SOLO_PROJECT_ID, SOLO_PROCESS_KIND) that Solo sets in the spawned PTY. setup_agent_integration only edits documentation, not MCP config. For a remote agent spawned via SSH, every mechanism fails: the binary is macOS-only, the Unix socket and SQLite are Mac-local, the 24678 HTTP API (used by solo-cli/flower) is loopback-bound and requires a bearer token not present on the remote host, and SSH does not forward SOLO_PROCESS_ID. The assistant provided a structured report with the verdict and detailed breakdown.
outcome
A detailed report was produced confirming that Solo's MCP tools and identity are Mac-local and not available to remote agents via SSH without significant re-plumbing (reverse tunnel, token sync, Linux MCP shim, env passthrough).
next steps
—
key decisions
- Solo's MCP server is registered globally in ~/.claude.json, not in the project's .mcp.json.
- The mcp binary is a Rust stdio helper communicating via Unix socket and SQLite, not via HTTP.
- The 24678 HTTP API plane is separate and used only by solo-cli and flower, not by the MCP server.
- setup_agent_integration only edits documentation files (CLAUDE.md/AGENTS.md) and does not write MCP transport configuration.
- Identity is passed via environment variables SOLO_PROCESS_ID, SOLO_PROJECT_ID, SOLO_PROCESS_KIND, but these are not forwarded through SSH.
- To make Solo tools available on a remote agent, one would need an SSH reverse tunnel of 127.0.0.1:24678, token sync, a Linux-compatible MCP shim, and explicit SSH env passthrough.
open questions
—
20 hours ago → 19 hours ago