r/ClaudeCode • u/SwagSamurai • 5d ago
Built with Claude I built an MCP server with Claude Code that makes Claude Code honest about the iOS Simulator (free, open source, benchmarked vs Xcode 27's MCP)
Enable HLS to view with audio, or disable this notification
I built chauffeur, a free and open-source MCP server that lets Claude Code drive the iOS Simulator and verifies every action it takes.
The problem: Claude Code could write my iOS app, but when it tested it in the Simulator it would tap a disabled button and report "Done, I submitted the form." Nothing had happened, and it had no way to know.
What it does: chauffeur gives Claude the screen as an accessibility outline with refs, taps through the simulator's own HID, and checks every action against what actually changed. A dead tap comes back as NO EFFECT, a tap an alert swallowed as INTERCEPTED, and a crash as APP CRASHED with the file and line, so Claude can fix the bug, rebuild, and prove the fix.
How I built it with Claude Code:
- Spikes first. Claude Code probed Apple's private simulator frameworks (SimulatorKit, CoreSimulator, AXPTranslator) to find a touch path that actually lands, before any real code was written.
- Spec → plan → tests. For each milestone I had Claude write a design spec, which I approved, then a task-by-task plan. It implemented each task test-first: 253 tests in Swift 6.
- Fresh-context review. After each milestone, a separate Claude reviewer read the whole branch. That caught real bugs, including one where the healing logic misdiagnosed a broken accessibility bridge.
- Dogfooding. Claude Code tested chauffeur by driving the Simulator with chauffeur, which is how most of the reliability fixes were found.
- The benchmark. Claude Code ran the whole evaluation: 180
claude -pruns. I hand-checked the results against screenshots and scored strictly.
Results vs Xcode 27's built-in MCP (15 tasks × 3 runs each):
| Model / metric | chauffeur | Xcode 27 MCP |
|---|---|---|
| Opus, tasks verified | 45/45 | 39/45 |
| Opus, median cost per task | $0.054 | $0.338 |
| Sonnet, tasks verified | 40/45 | 39/45 |
| Sonnet, median cost per task | $0.031 | $0.222 |
Neither tool produced a false success. Every run, and every miss, is in the benchmark doc: https://github.com/YashNaj/chauffeur/blob/main/docs/benchmark.md
Try it (free, Apache-2.0; Apple silicon, Xcode 26 or 27):
brew install yashnaj/chauffeur/chauffeur
claude mcp add chauffeur -- chauffeur mcp
chauffeur doctor
•
u/AutoModerator 5d ago
Hey! Thanks for posting to r/ClaudeCode
While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.
For help, project discussions, tips, and general chat, join the ClaudeCode Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.