| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
AI 어시스턴트 및 기타 MCP 클라이언트와 통합하기 위한 Xcode 관련 도구를 제공하는 Model Context Protocol (MCP) 서버입니다.
XcodeBuildMCP는 AI 어시스턴트 및 기타 MCP 클라이언트를 위해 Xcode 작업을 도구 및 리소스로 노출하는 Model Context Protocol (MCP) 서버입니다. 현대적인 플러그인 아키텍처로 구축되어 워크플로우 기반 디렉토리로 구성된 포괄적인 자체 포함 도구 세트와 효율적인 데이터 액세스를 위한 MCP 리소스를 제공하여 표준화된 인터페이스를 통해 Xcode 프로젝트, 시뮬레이터, 디바이스 및 Swift 패키지와 프로그래밍 방식으로 상호작용할 수 있습니다.
Cursor를 사용하여 iOS 시뮬레이터에서 앱을 빌드, 설치 및 실행하면서 런타임에 로그를 캡처하는 모습.XcodeBuild MCP 도구는 주로 AI 에이전트와 Xcode 프로젝트 간의 상호작용을 간소화하고 표준화하기 위해 존재합니다. 일반적인 Xcode 작업을 위한 전용 도구를 제공함으로써 수동 또는 잠재적으로 잘못된 명령줄 호출에 대한 의존성을 제거합니다.
이를 통해 신뢰할 수 있고 효율적인 개발 프로세스를 보장하여 에이전트가 구성 오류의 위험을 줄이면서 Xcode의 기능을 원활하게 활용할 수 있습니다.
중요한 점은, 이 MCP가 AI 에이전트가 프로젝트를 빌드하고, 오류를 검사하고, 자율적으로 반복함으로써 코드 변경을 독립적으로 검증할 수 있게 한다는 것입니다. Sweetpad과 같은 사용자 중심 도구와 달리 XcodeBuild MCP는 에이전트가 이러한 워크플로우를 효과적으로 자동화할 수 있도록 지원합니다.
XcodeBuildMCP 서버는 다음과 같은 도구 기능을 제공합니다:
MCP 리소스를 지원하는 클라이언트를 위해 XcodeBuildMCP는 효율적인 URI 기반 데이터 액세스를 제공합니다:
비디오 캡처는 번들된 AXe 바이너리 (v1.1.0+)가 필요합니다. record_sim_video를 사용하기 전에 로컬에서 npm run bundle:axe를 한 번 실행하세요. 단위 테스트에는 필요하지 않습니다.
MCP 클라이언트 설정
빠른 설치를 위해 다음 링크를 사용할 수 있습니다:
대부분의 MCP 클라이언트(Cursor, VS Code, Windsurf, Claude Desktop 등)는 다음 JSON 설정 형식을 표준으로 사용합니다. 클라이언트의 JSON 설정의 mcpServers 객체에 다음을 추가하면 됩니다:
"XcodeBuildMCP": {
"command": "npx",
"args": [
"-y",
"xcodebuildmcp@latest"
]
}Codex는 MCP 서버를 설정하기 위해 toml 설정 파일을 사용합니다. OpenAI의 Codex CLI에 XcodeBuildMCP를 설정하려면 Codex CLI 설정 파일에 다음 설정을 추가하세요:
[mcp_servers.XcodeBuildMCP]
command = "npx"
args = ["-y", "xcodebuildmcp@latest"]
env = { "INCREMENTAL_BUILDS_ENABLED" = "false", "XCODEBUILDMCP_SENTRY_DISABLED" = "false" }자세한 내용은 OpenAI Codex MCP 서버 설정 문서를 참조하세요.
Claude Code에서 XcodeBuildMCP를 사용하려면 명령줄을 통해 추가할 수 있습니다:
# Claude Code에 XcodeBuildMCP 서버 추가
claude mcp add XcodeBuildMCP npx xcodebuildmcp@latest
# 또는 환경 변수와 함께
claude mcp add XcodeBuildMCP npx xcodebuildmcp@latest -e INCREMENTAL_BUILDS_ENABLED=false -e XCODEBUILDMCP_SENTRY_DISABLED=falseSmithery를 통해 Claude Desktop용 XcodeBuildMCP 서버를 자동으로 설치하려면:
npx -y @smithery/cli install @cameroncooke/XcodeBuildMCP --client claudeImportant
XcodeBuildMCP는 xcodebuild에 매크로 검증 건너뛰기를 요청합니다. 이는 Swift 매크로를 사용하는 프로젝트를 빌드할 때 오류를 방지하기 위함입니다.
XcodeBuildMCP는 MCP 도구, 리소스 및 샘플링을 모두 지원합니다. 현재 다음 에디터들은 다양한 수준의 MCP 기능 지원을 제공합니다:
| 에디터 | 도구 | 리소스 | 샘플링 |
|---|---|---|---|
| VS Code | ✅ | ✅ | ✅ |
| Cursor | ✅ | ❌ | ❌ |
| Windsurf | ✅ | ❌ | ❌ |
| Claude Code | ✅ | ✅ | ❌ |
| Claude Desktop | ✅ | ✅ | ❌ |
XcodeBuildMCP는 증분 빌드에 대한 실험적 지원을 포함합니다. 이 기능은 기본적으로 비활성화되어 있으며 INCREMENTAL_BUILDS_ENABLED 환경 변수를 true로 설정하여 활성화할 수 있습니다:
증분 빌드를 활성화하려면 INCREMENTAL_BUILDS_ENABLED 환경 변수를 true로 설정하세요:
MCP 설정 예시:
"XcodeBuildMCP": {
...
"env": {
"INCREMENTAL_BUILDS_ENABLED": "true"
}
}Important
증분 빌드 지원은 현재 매우 실험적이며 결과가 다를 수 있습니다. 발생하는 문제는 이슈 트래커에 보고해 주세요.
XcodeBuildMCP는 AI 어시스턴트에서 컨텍스트 윈도우 사용을 최적화하기 위해 동적 도구 로딩을 지원합니다. 이 기능은 XcodeBuildMCP가 제공하는 광범위한 도구 세트를 관리하는 데 특히 유용합니다.
기본적으로 XcodeBuildMCP는 시작 시 모든 사용 가능한 도구를 로드합니다(정적 모드). 이는 전체 도구 세트에 즉시 액세스할 수 있지만 더 큰 컨텍스트 윈도우를 사용합니다. 동적 도구 모드는 다음과 같이 이 문제를 해결합니다:
동적 도구를 활성화하려면 XCODEBUILDMCP_DYNAMIC_TOOLS 환경 변수를 true로 설정하세요:
MCP 클라이언트 설정 예시:
"XcodeBuildMCP": {
...
"env": {
"XCODEBUILDMCP_DYNAMIC_TOOLS": "true"
}
}활성화되면 AI 에이전트는 컨텍스트에 따라 관련 도구를 자동으로 검색하고 로드합니다. 예를 들어, iOS 앱 작업을 언급하거나 에이전트가 워크스페이스에서 iOS 개발 작업을 감지하면 자동으로 discover_tools 도구를 사용하여 워크플로우에 필요한 적절한 시뮬레이터 및 프로젝트 도구를 로드합니다.
동적 도구는 AI 기반 도구 검색이 작동하기 위해 MCP 샘플링을 지원하는 MCP 클라이언트가 필요합니다:
| 에디터 | 동적 도구 지원 |
|---|---|
| VS Code | ✅ |
| Cursor | ❌ (MCP 샘플링 미지원) |
| Windsurf | ❌ (MCP 샘플링 미지원) |
| Claude Code | ❌ (MCP 샘플링 미지원) |
| Claude Desktop | ❌ (MCP 샘플링 미지원) |
Note
MCP 샘플링을 지원하지 않는 클라이언트의 경우 XcodeBuildMCP는 XCODEBUILDMCP_DYNAMIC_TOOLS 설정에 관계없이 시작 시 모든 도구를 로드하는 정적 모드로 자동 폴백됩니다.
MCP 샘플링을 지원하지 않지만 여전히 컨텍스트 윈도우 사용을 줄이고 싶은 클라이언트의 경우 XCODEBUILDMCP_ENABLED_WORKFLOWS 환경 변수를 사용하여 특정 워크플로우만 선택적으로 로드할 수 있습니다:
"XcodeBuildMCP": {
...
"env": {
"XCODEBUILDMCP_ENABLED_WORKFLOWS": "simulator,device,project-discovery"
}
}사용 가능한 워크플로우:
Note
XCODEBUILDMCP_ENABLED_WORKFLOWS 설정은 정적 모드에서만 작동합니다. XCODEBUILDMCP_DYNAMIC_TOOLS=true가 설정되면 선택적 워크플로우 설정은 무시됩니다.
디바이스 배포 기능이 작동하려면 XcodeBuildMCP 디바이스 도구를 사용하기 전에 Xcode에서 코드 서명이 올바르게 설정되어야 합니다:
참고: XcodeBuildMCP는 코드 서명을 자동으로 설정할 수 없습니다. 이 초기 설정은 Xcode에서 한 번 수행해야 하며, 그 후 MCP 디바이스 도구가 물리적 디바이스에서 앱을 빌드, 설치 및 테스트할 수 있습니다.
XcodeBuildMCP에서 문제가 발생하면 doctor 도구가 환경 및 종속성에 대한 자세한 정보를 제공하여 문제를 식별하는 데 도움이 될 수 있습니다.
doctor 도구는 시스템 설정을 확인하고 XcodeBuildMCP에 필요한 모든 종속성의 상태를 보고하는 독립 실행형 유틸리티입니다. 이슈를 보고할 때 특히 유용합니다.
# npx를 사용하여 doctor 도구 실행
npx --package xcodebuildmcp@latest xcodebuildmcp-doctordoctor 도구는 다음에 대한 포괄적인 정보를 출력합니다:
GitHub에서 이슈를 보고할 때 문제 해결을 돕기 위해 doctor 도구의 전체 출력을 포함해 주세요.
이 프로젝트는 오류 모니터링 및 진단을 위해 Sentry를 사용합니다. Sentry는 XcodeBuildMCP의 신뢰성과 안정성을 개선하기 위해 이슈, 충돌 및 예기치 않은 오류를 추적하는 데 도움이 됩니다.
MCP 클라이언트 설정 예시:
"XcodeBuildMCP": {
...
"env": {
"XCODEBUILDMCP_SENTRY_DISABLED": "true"
}
}기여를 환영합니다! XcodeBuildMCP를 개선하는 데 도움을 줄 수 있는 방법은 다음과 같습니다.
개발 관련 문서를 참조하세요:
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.
| Back | FazBrowse Home | New Git URL |