XcodeBLOCK
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
A Model Context Protocol server for building Xcode projects directly from LLM applications
The Xcode MCP Server provides a Model Context Protocol interface for building and testing Xcode projects. It enables AI assistants to directly trigger builds, run tests, monitor progress, and access logs through a standardized interface.
Features
- Build Xcode projects with custom schemes and configurations
- Run unit tests with granular control (run specific tests or skip tests)
- Generate code coverage reports
- Stream build and test logs in real-time
- Access detailed build and test reports
- JSON-formatted output
- Automatic log persistence
Requirements
- Node.js 16+
- Xcode Command Line Tools
- TypeScript
- MCP-compatible client (e.g., Claude Desktop)
Installation
# Clone the repository git clone https://github.com/PolarVista/Xcode-mcp-server.git cd xcode-mcp-server # Install dependencies npm install # Build the server npm run build
Usage with Claude Desktop
- Start the server:
npm run start /path/to/build/logs/directory
- In Claude Desktop settings:
"command": "node",
"args": ["/path/to/the/xcode-mcp-server/build/index.js",
"/path/to/your/project/folder"],
"env": {
"PATH": "/usr/bin:/bin:/usr/local/bin:/usr/sbin:/sbin"
}Available Tools
build_project
Builds an Xcode project with specified parameters.
Parameters:
projectPath(required): Path to the .xcodeproj or .xcworkspacescheme(required): Build scheme nameconfiguration(optional): Build configuration (Debug/Release, defaults to Debug)destination(optional): Build destination (defaults to "platform=iOS Simulator,name=iPhone 15 Pro")
Example usage in Claude:
build_project({
projectPath: "/path/to/Project.xcodeproj",
scheme: "MyApp",
configuration:da5c8dcb0676OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add xcode-mcp-server -- npx -y [email protected]
{
"mcpServers": {
"xcode-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (2)
1 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
build_project | read | Build an Xcode project |
run_tests | write | Run Xcode project tests with optional filtering |
Trust audit
BLOCKgrade F · trust 45/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- declared (9 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (25)
exec(sql: string): void;
var deprecatedfn = new Function('fn', 'log', 'deprecate', 'message', 'site','return function (' + args + ') {' +exec(string: string): RegExpExecArray | null;
request ~ requests
.DS_Store
node_modules/.bin/tsc
node_modules/.bin/tsserver
* console.log(myURL.password);
"chars": "€پ‚ƒ„...†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—کTMڑ›œں ،¢£¤¥¦§ ̈©ھ«¬® ̄°±23 ́μ¶· ̧1؛»1⁄41⁄23⁄4؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûüے"
"chars": "«»...“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาําิีึืฺุู–—฿เแโใไๅๆ็่้๊๋์ํTM๏๐๑๒๓๔๕๖๗๘๙®©����"
.DS_Store
.package-lock.json
function atob(data: string): string;
atob(data: string): string;
declare function atob(data: string): string;
content-type, raw-body, zod, @eslint/js, @types/content-type, @types/eslint__js, @types/eventsource, @types/express
undici-types
safer-buffer, async, c8, errto, iconv, mocha, request, semver
tap
standard, tape
node_modules/@modelcontextprotocol/sdk/dist/types.d.ts
node_modules/typescript/lib/_tsc.js
node_modules/typescript/lib/lib.dom.d.ts
node_modules/typescript/lib/typescript.js
Gates applied: no_behavioural_pass.
da5c8dcb0676full audit observations/trust-audit/mcp-server/polarvista__xcode.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | da5c8dcb0676 | BLOCK | F | 45 | first audit |
Questions
What tools does Xcode expose?
2 in total: 1 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Xcode safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (45/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does Xcode need?
No credential environment variables were found in its source, so it appears to need none.
How does Xcode run?
It speaks sse and stdio, so it runs as a local process your client starts. It is published on npm as xcode-mcp-server at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (da5c8dcb0676), read on 2026-10-08. The repository is watched and re-audited when it changes.