Skip to content

Add MCP bridge support for Xcode - #8

Merged
pnc merged 2 commits into
mainfrom
todo-6-bridge-self-serve
Aug 5, 2026
Merged

Add MCP bridge support for Xcode#8
pnc merged 2 commits into
mainfrom
todo-6-bridge-self-serve

Conversation

@pnc

@pnc pnc commented Aug 5, 2026

Copy link
Copy Markdown
Member

Adds a flag you can use to poke an MCP-shaped hole in the sandbox to be able to operate Xcode from within the VM. This softens sandboxing a little since Xcode builds are technically equivalent to Bash access, but I am comfortable with the risk given that iOS developers don't have broad AWS/production credentials.

pnc and others added 2 commits August 5, 2026 00:36
`vm.py start --bridge PORT=COMMAND` exposes a host-side stdio command to
the guest at 10.0.2.101:PORT via a slirp guestfwd, so an MCP stdio server
running on the host (e.g. `xcrun mcpbridge` on macOS) can be driven from
inside the sandbox. Each guest connection spawns a fresh copy of the
command with its stdio piped to the socket.

This channel deliberately bypasses the mitmproxy allowlist — it is a raw
pipe to a host process — so it is opt-in and warns on both --help and
startup. netcat-openbsd is added to the guest packages so the guest side
can `nc 10.0.2.101 PORT`.

Also records the remaining roadmap (items 6-16) in TODO.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Opening the socket was only half the job: nothing in the guest knew a
bridge existed until an MCP client was pointed at it, and the host-side
Xcode prerequisite was not discoverable from anywhere.

- README gains a "Host tool bridges" section: what a bridge is, a blunt
  warning that it bypasses the mitmproxy allowlist and is a raw pipe to a
  host process, and a three-step Xcode walkthrough covering the Xcode
  Intelligence toggle, the --bridge invocation, and the in-guest
  `claude mcp add` registration.
- `vm.py start` now prints the exact `claude mcp add ... nc IP PORT` line
  for each bridge, both before boot (where the allowlist-bypass warning
  belongs) and again just before the SSH handoff (where you paste from).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@pnc
pnc requested review from jeffreleos and mikehenryET August 5, 2026 14:38
@pnc
pnc added this pull request to the merge queue Aug 5, 2026
Comment thread vm.py
Comment on lines +610 to +612
print(f"To use from within the guest, run {this_command} from within your")
print("project folder:")
print()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Insane number of print statements just to get a newline here. Non-blocker.

Merged via the queue into main with commit 86cfa85 Aug 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants