48 lines
3.2 KiB
Markdown
48 lines
3.2 KiB
Markdown
# Install GitHub MCP Server in Xcode
|
|
|
|
Xcode currently supports two built-in coding agents: **Codex** (powered by OpenAI) and **Claude Agent** (powered by Anthropic). Follow the standard installation guide for each agent, with one important difference: Xcode uses its own isolated configuration directories for each agent, separate from your global config.
|
|
|
|
> Configurations placed in these directories only affect agents when launched from Xcode. See [Apple's documentation](https://developer.apple.com/documentation/xcode/setting-up-coding-intelligence#Customize-the-Claude-Agent-and-Codex-environments) for more details.
|
|
|
|
## Configuration Directories
|
|
|
|
| Agent | Configuration Directory |
|
|
|-------|------------------------|
|
|
| Codex | `~/Library/Developer/Xcode/CodingAssistant/codex/` |
|
|
| Claude Agent | `~/Library/Developer/Xcode/CodingAssistant/ClaudeAgentConfig/` |
|
|
|
|
Place your MCP server configuration in the relevant directory above rather than the default location used by the standalone CLI.
|
|
|
|
## Setup Guides
|
|
|
|
- **[Codex](install-codex.md)** — configure `config.toml` inside `~/Library/Developer/Xcode/CodingAssistant/codex/`
|
|
- **[Claude Agent](install-claude.md#xcode-claude-agent)** — configure `.claude.json` inside `~/Library/Developer/Xcode/CodingAssistant/ClaudeAgentConfig/`
|
|
|
|
## macOS Path Note
|
|
|
|
Xcode runs with a minimal `PATH` that typically excludes common binary locations. If you are using a local STDIO server (e.g. Docker or a pre-built binary), use the **full path** to the command in your config. Run `which docker` (or `which github-mcp-server`) in Terminal to find the correct path on your system. Common locations:
|
|
|
|
| Installation | Typical path |
|
|
|---|---|
|
|
| Docker (Intel Mac) | `/usr/local/bin/docker` |
|
|
| Docker (Apple Silicon) | `/usr/local/bin/docker` |
|
|
| Homebrew (Intel Mac) | `/usr/local/bin/` |
|
|
| Homebrew (Apple Silicon) | `/opt/homebrew/bin/` |
|
|
|
|
> **Logging in with OAuth?** You can run the local server with no PAT — it opens a browser login on first use and keeps the token in memory only. With Docker this needs a fixed callback port published to loopback (`-p 127.0.0.1:8085:8085 -e GITHUB_OAUTH_CALLBACK_PORT` with `GITHUB_OAUTH_CALLBACK_PORT=8085`); a native binary uses a random loopback port and needs no extra configuration. See **[Local Server OAuth Login](../oauth-login.md)**.
|
|
|
|
## Troubleshooting
|
|
|
|
| Issue | Possible Cause | Fix |
|
|
|-------|----------------|-----|
|
|
| Tools not loading | Config placed in wrong directory | Ensure config is in the Xcode-specific path above, not `~/.codex/` or `~/.claude.json` |
|
|
| Command not found (STDIO) | Xcode's PATH excludes binary location | Use the full path (e.g. `/usr/local/bin/docker` or `/opt/homebrew/bin/docker`); run `which docker` in Terminal to confirm |
|
|
| Docker not found | Docker not running | Start Docker Desktop and restart Xcode |
|
|
| Authentication failed | Invalid or expired PAT | Regenerate PAT and update config |
|
|
|
|
## References
|
|
|
|
- [Apple Developer Documentation — Setting up coding intelligence](https://developer.apple.com/documentation/xcode/setting-up-coding-intelligence#Customize-the-Claude-Agent-and-Codex-environments)
|
|
- [Codex MCP documentation](https://developers.openai.com/codex/mcp)
|
|
- Main project README: [Advanced configuration options](../../README.md)
|