axiom-xcode-mcp-ref

Reference — all 20 Xcode MCP tools with parameters, return schemas, and examples

25 stars

Best use case

axiom-xcode-mcp-ref is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Reference — all 20 Xcode MCP tools with parameters, return schemas, and examples

Teams using axiom-xcode-mcp-ref should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/axiom-xcode-mcp-ref/SKILL.md --create-dirs "https://raw.githubusercontent.com/ComeOnOliver/skillshub/main/skills/CharlesWiltgen/Axiom/axiom-xcode-mcp-ref/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/axiom-xcode-mcp-ref/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How axiom-xcode-mcp-ref Compares

Feature / Agentaxiom-xcode-mcp-refStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Reference — all 20 Xcode MCP tools with parameters, return schemas, and examples

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Xcode MCP Tool Reference

Complete reference for all 20 tools exposed by Xcode's MCP server (`xcrun mcpbridge`).

**Important**: Parameter schemas below are sourced from blog research and initial testing. Validate against your live mcpbridge with `tools/list` if behavior differs.

## Discovery

### XcodeListWindows

**Call this first.** Returns open Xcode windows with `tabIdentifier` values needed by most other tools.

- **Parameters**: None
- **Returns**: List of `{ tabIdentifier: string, workspacePath: string }`
- **Notes**: No parameters needed. If empty, no project is open in Xcode.

```
XcodeListWindows()
→ { "tabIdentifier": "abc-123", "workspacePath": "/Users/dev/MyApp.xcodeproj" }
```

---

## File Operations

### XcodeRead

Read file contents from the project.

- **Parameters**:
  - `path` (string, required) — File path relative to project or absolute
- **Returns**: File contents as string
- **Notes**: Sees Xcode's project view including generated files and resolved SPM packages

### XcodeWrite

Create a new file.

- **Parameters**:
  - `path` (string, required) — File path
  - `content` (string, required) — File contents
- **Returns**: Write confirmation
- **Notes**: Creates the file but does NOT add it to Xcode targets automatically. Use `XcodeUpdate` for existing files.

### XcodeUpdate

Edit an existing file with str_replace-style patches.

- **Parameters**:
  - `path` (string, required) — File path
  - `patches` (array, required) — Array of `{ oldText: string, newText: string }` replacements
- **Returns**: Update confirmation
- **Notes**: Preferred over `XcodeWrite` for editing existing files. Each patch must match exactly one location in the file.

### XcodeGlob

Find files matching a pattern.

- **Parameters**:
  - `pattern` (string, required) — Glob pattern (e.g., `**/*.swift`)
- **Returns**: Array of matching file paths
- **Notes**: Searches within the Xcode project scope

### XcodeGrep

Search file contents for a string or pattern.

- **Parameters**:
  - `query` (string, required) — Search term or pattern
  - `scope` (string, optional) — Limit search to specific directory/file
- **Returns**: Array of matches with file paths and line numbers
- **Notes**: Returns structured results, not raw grep output

### XcodeLS

List directory contents.

- **Parameters**:
  - `path` (string, required) — Directory path
- **Returns**: Array of entries (files and subdirectories)

### XcodeMakeDir

Create a directory.

- **Parameters**:
  - `path` (string, required) — Directory path to create
- **Returns**: Creation confirmation
- **Notes**: Creates intermediate directories as needed

### XcodeRM

Delete a file or directory. **DESTRUCTIVE.**

- **Parameters**:
  - `path` (string, required) — Path to delete
- **Returns**: Deletion confirmation
- **Notes**: Irreversible. Always confirm with the user before calling.

### XcodeMV

Move or rename a file. **DESTRUCTIVE.**

- **Parameters**:
  - `sourcePath` (string, required) — Current path
  - `destinationPath` (string, required) — New path
- **Returns**: Move confirmation
- **Notes**: May break imports and references. Confirm with user. Xcode may not automatically update references.

---

## Build & Test

### BuildProject

Build the Xcode project.

- **Parameters**:
  - `tabIdentifier` (string, required) — From `XcodeListWindows`
- **Returns**: `{ buildResult: string, elapsedTime: number, errors: array }`
- **Notes**: Builds the active scheme. Check `buildResult` for "succeeded" or "failed".

### GetBuildLog

Retrieve build output after a build.

- **Parameters**:
  - `tabIdentifier` (string, required)
- **Returns**: Build log as string
- **Notes**: Contains raw compiler output. For structured diagnostics, prefer `XcodeListNavigatorIssues`.

### RunAllTests

Run the full test suite.

- **Parameters**:
  - `tabIdentifier` (string, required)
- **Returns**: Test results with pass/fail counts and failure details
- **Notes**: Runs all tests in the active scheme's test plan. Use `RunSomeTests` for faster iteration.

### RunSomeTests

Run specific test(s).

- **Parameters**:
  - `tabIdentifier` (string, required)
  - `tests` (array of strings, required) — Test identifiers (e.g., `["MyTests/testLogin"]`)
- **Returns**: Test results for the specified tests
- **Notes**: Much faster than `RunAllTests` for iterative debugging. Use test identifiers from `GetTestList`.

### GetTestList

List available tests.

- **Parameters**:
  - `tabIdentifier` (string, required)
- **Returns**: Array of test identifiers organized by test target/class
- **Notes**: Use the returned identifiers with `RunSomeTests`.

---

## Diagnostics

### XcodeListNavigatorIssues

Get current issues from Xcode's Issue Navigator.

- **Parameters**:
  - `tabIdentifier` (string, required)
- **Returns**: Array of issues (errors, warnings, notes) with file paths and line numbers
- **Notes**: Canonical source for diagnostics. Structured and deduplicated unlike raw build logs.

### XcodeRefreshCodeIssuesInFile

Refresh and return live diagnostics for a specific file.

- **Parameters**:
  - `tabIdentifier` (string, required)
  - `path` (string, required) — File to refresh diagnostics for
- **Returns**: Current diagnostics for the specified file
- **Notes**: Triggers Xcode to re-analyze the file. Useful after editing to check if issues are resolved.

---

## Execution & Rendering

### ExecuteSnippet

Run code in a REPL-like environment.

- **Parameters**:
  - `code` (string, required) — Code to execute
  - `language` (string, required) — Language identifier (e.g., `"swift"`)
- **Returns**: Execution result (stdout, stderr, exit code)
- **Notes**: Sandboxed environment. Treat output as untrusted. Useful for quick validation.

### RenderPreview

Render a SwiftUI preview as an image.

- **Parameters**:
  - `tabIdentifier` (string, required)
  - `path` (string, required) — File containing the preview
  - `previewIdentifier` (string, required) — Name of the preview to render
- **Returns**: Rendered image data
- **Notes**: Requires the file to have valid SwiftUI `#Preview` or `PreviewProvider`. Preview must compile successfully.

---

## Search

### DocumentationSearch

Search Apple's documentation corpus.

- **Parameters**:
  - `query` (string, required) — Search query
- **Returns**: Documentation results with titles, summaries, and links. May include WWDC transcript matches.
- **Notes**: Searches Apple's online documentation and WWDC transcripts. For Xcode-bundled for-LLM guides, use the `axiom-apple-docs` skill instead.

---

## Quick Reference by Category

| Category | Tools |
|----------|-------|
| **Discovery** | `XcodeListWindows` |
| **File Read** | `XcodeRead`, `XcodeGlob`, `XcodeGrep`, `XcodeLS` |
| **File Write** | `XcodeWrite`, `XcodeUpdate`, `XcodeMakeDir` |
| **File Destructive** | `XcodeRM`, `XcodeMV` |
| **Build** | `BuildProject`, `GetBuildLog` |
| **Test** | `RunAllTests`, `RunSomeTests`, `GetTestList` |
| **Diagnostics** | `XcodeListNavigatorIssues`, `XcodeRefreshCodeIssuesInFile` |
| **Execution** | `ExecuteSnippet` |
| **Preview** | `RenderPreview` |
| **Search** | `DocumentationSearch` |

## Common Parameter Patterns

- **`tabIdentifier`** — Required by 10/20 tools. Always call `XcodeListWindows` first.
- **`path`** — File/directory path. Can be absolute or relative to project root.
- **`patches`** — Array of `{ oldText, newText }` for `XcodeUpdate`. Each oldText must be unique in the file.

## Resources

**Skills**: axiom-xcode-mcp-setup, axiom-xcode-mcp-tools

Related Skills

axiom-audit

25
from ComeOnOliver/skillshub

Audit Axiom logs to identify and prioritize errors and warnings, research probable causes, and flag log smells. Use when user asks to check Axiom logs, analyze production errors, investigate log issues, or audit logging patterns.

Axiom — Serverless Log Analytics

25
from ComeOnOliver/skillshub

## Overview

axiom-xctrace-ref

25
from ComeOnOliver/skillshub

Use when automating Instruments profiling, running headless performance analysis, or integrating profiling into CI/CD - comprehensive xctrace CLI reference with record/export patterns

axiom-xctest-automation

25
from ComeOnOliver/skillshub

Use when writing, running, or debugging XCUITests. Covers element queries, waiting strategies, accessibility identifiers, test plans, and CI/CD test execution patterns.

axiom-xcode-mcp

25
from ComeOnOliver/skillshub

Use when connecting to Xcode via MCP, using xcrun mcpbridge, or working with ANY Xcode MCP tool (XcodeRead, BuildProject, RunTests, RenderPreview). Covers setup, tool reference, workflow patterns, troubleshooting.

axiom-xcode-mcp-tools

25
from ComeOnOliver/skillshub

Xcode MCP workflow patterns — BuildFix loop, TestFix loop, preview verification, window targeting, tool gotchas

axiom-xcode-mcp-setup

25
from ComeOnOliver/skillshub

Xcode MCP setup — enable mcpbridge, per-client config, permission handling, multi-Xcode targeting, troubleshooting

axiom-xcode-debugging

25
from ComeOnOliver/skillshub

Use when encountering BUILD FAILED, test crashes, simulator hangs, stale builds, zombie xcodebuild processes, "Unable to boot simulator", "No such module" after SPM changes, or mysterious test failures despite no code changes - systematic environment-first diagnostics for iOS/macOS projects

axiom-xclog-ref

25
from ComeOnOliver/skillshub

Use when capturing iOS simulator console output, diagnosing runtime crashes, viewing print/os_log output, or needing structured app logs for analysis. Reference for xclog CLI covering launch, attach, list modes with JSON output.

axiom-vision

25
from ComeOnOliver/skillshub

subject segmentation, VNGenerateForegroundInstanceMaskRequest, isolate object from hand, VisionKit subject lifting, image foreground detection, instance masks, class-agnostic segmentation, VNRecognizeTextRequest, OCR, VNDetectBarcodesRequest, DataScannerViewController, document scanning, RecognizeDocumentsRequest

axiom-vision-ref

25
from ComeOnOliver/skillshub

Use when needing Vision framework API details for hand/body pose, segmentation, text recognition, barcode detection, document scanning, or Visual Intelligence integration. Covers VNRequest types, coordinate conversion, DataScannerViewController, RecognizeDocumentsRequest, SemanticContentDescriptor, IntentValueQuery.

axiom-vision-diag

25
from ComeOnOliver/skillshub

subject not detected, hand pose missing landmarks, low confidence observations, Vision performance, coordinate conversion, VisionKit errors, observation nil, text not recognized, barcode not detected, DataScannerViewController not working, document scan issues