MCP Hub
Back to servers

XcodeMCPKit

Xcode MCP proxy with multi-client sessions

GitHub
Stars
7
Forks
2
Updated
Mar 7, 2026
Validated
Mar 10, 2026

XcodeMCPKit

日本語

An MCP proxy for Xcode MCP (mcpbridge).
Designed so the Xcode permission dialog appears once when the proxy starts.

Quick Start

  1. Start the proxy server
    xcode-mcp-proxy-server
    
  2. Click Allow in Xcode’s permission dialog

Architecture

See Architecture for the process overview.

Installation

swift run -c release xcode-mcp-proxy-install

Replace xcrun mcpbridge with one of the following:

Codex

codex mcp remove xcode
# Recommended: Streamable HTTP
codex mcp add xcode --url http://localhost:8765/mcp

# Alternative: STDIO
codex mcp add xcode -- xcode-mcp-proxy

Claude Code

claude mcp remove xcode
claude mcp add --transport stdio xcode -- xcode-mcp-proxy

By default, xcode-mcp-proxy and xcode-mcp-proxy-server are installed to ~/.local/bin. Add it to your PATH if needed.

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

To change the destination:

./.build/release/xcode-mcp-proxy-install --prefix "$HOME/.local"
# or
./.build/release/xcode-mcp-proxy-install --bindir "$HOME/bin"

Usage

Proxy Server: xcode-mcp-proxy-server

See Quick Start for how to launch.

Defaults

  • command: xcrun
  • args: mcpbridge
  • upstream processes: 1 (spawns multiple mcpbridge processes when increased)
  • listen: localhost:8765
  • request timeout: 300 seconds (0 disables)
  • max body size: 1048576 bytes
  • initialization: eager at startup
  • discovery: ~/Library/Caches/XcodeMCPProxy/endpoint.json

Environment Variables

  • MCP_XCODE_PID (alternative to --xcode-pid)
  • MCP_XCODE_SESSION_ID (fixes the Xcode MCP session ID; usually not needed)
  • MCP_LOG_LEVEL (log level: trace|debug|info|notice|warning|error|critical)

Logs are written to stderr.

Note: when using --upstream-processes > 1, fixing the session id via --session-id / MCP_XCODE_SESSION_ID can help reduce permission dialog prompts in Xcode.

Options

OptionDescription
--upstream-command cmdmcpbridge command
--upstream-args a,b,cmcpbridge args (comma-separated)
--upstream-arg valueAppend a single mcpbridge arg
--upstream-processes nSpawn n upstream mcpbridge processes (default: 1, max: 10)
--xcode-pid pidXcode PID
--session-id idXcode MCP session ID (usually not needed)
--max-body-bytes nMax request body size
--request-timeout secondsRequest timeout (0 disables)
--lazy-initDelay initialization until first request
--force-restartIf the listen port is in use, terminate an existing xcode-mcp-proxy-server and restart

Adapter: xcode-mcp-proxy

Options

OptionDescription
--request-timeout secondsHTTP request timeout (0 disables)
--url urlExplicit upstream URL (example: http://localhost:9000/mcp)

Environment Variables

  • XCODE_MCP_PROXY_ENDPOINT (override upstream URL; --url takes precedence)

Troubleshooting

Troubleshooting

References

License

LICENSE

Reviews

No reviews yet

Sign in to write a review