From axiom
References all 20 Xcode MCP tools with parameters, schemas, and examples for xcrun mcpbridge. Enables file read/write/edit, glob, grep in open Xcode projects.
npx claudepluginhub charleswiltgen/axiom --plugin axiomThis skill uses the workspace's default tool permissions.
Complete reference for all 20 tools exposed by Xcode's MCP server (`xcrun mcpbridge`).
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
Complete reference for all 20 tools exposed by Xcode's MCP server (xcrun mcpbridge).
Source: Xcode 26.3 tools/list response. Validated against Keith Smiley's gist (2025-07-15).
Critical: tabIdentifier is required by 18 of 20 tools. Always call XcodeListWindows first.
Returns open Xcode windows. Call this first to get tabIdentifier values.
{ message: string } — description of open windowstabIdentifier.Read file contents (cat -n format, 600 lines default).
tabIdentifier (string, required)filePath (string, required) — project-relative or absolutelimit (integer, optional) — max lines to returnoffset (integer, optional) — starting line number{ content, filePath, fileSize, linesRead, startLine, totalLines }Create or overwrite a file. Automatically adds new files to the project structure.
tabIdentifier (string, required)filePath (string, required)content (string, required){ success, filePath, absolutePath, bytesWritten, linesWritten, wasExistingFile, message }Edit an existing file with text replacement.
tabIdentifier (string, required)filePath (string, required)oldString (string, required) — text to findnewString (string, required) — replacement textreplaceAll (boolean, optional, default false) — replace all occurrences{ filePath, editsApplied, success, originalContentLength, modifiedContentLength, message }oldString must be unique unless replaceAll is true. Prefer over XcodeWrite for editing existing files.Find files matching a wildcard pattern.
tabIdentifier (string, required)pattern (string, optional, default **/*) — glob patternpath (string, optional) — directory to search within{ matches[], pattern, searchPath, truncated, totalFound, message }Search file contents with regex.
tabIdentifier (string, required)pattern (string, required) — regex patternglob (string, optional) — file pattern filterpath (string, optional) — directory scopetype (string, optional) — file type filterignoreCase (boolean, optional)multiline (boolean, optional)outputMode (enum, optional) — content, filesWithMatches, countlinesContext (integer, optional) — context lineslinesBefore (integer, optional)linesAfter (integer, optional)headLimit (integer, optional) — max resultsshowLineNumbers (boolean, optional){ results[], pattern, searchPath, matchCount, truncated, message }outputMode to control result format.List directory contents.
tabIdentifier (string, required)path (string, required)recursive (boolean, optional, default true)ignore (array of strings, optional) — patterns to skip{ items[], path }Create a directory in the project.
tabIdentifier (string, required)directoryPath (string, required){ success, message, createdPath }Remove files or directories from project. Uses Trash by default.
tabIdentifier (string, required)path (string, required)deleteFiles (boolean, optional, default true) — move to Trashrecursive (boolean, optional){ removedPath, success, message }Move or copy files.
tabIdentifier (string, required)sourcePath (string, required)destinationPath (string, required)operation (enum, optional) — move or copyoverwriteExisting (boolean, optional){ success, operation, message, sourceOriginalPath, destinationFinalPath }Build the project and wait for completion.
tabIdentifier (string, required){ buildResult, elapsedTime, errors[] }classification, filePath, lineNumber, message.Retrieve build log with optional filtering.
tabIdentifier (string, required)severity (enum, optional) — remark, warning, errorpattern (string, optional) — regex filterglob (string, optional) — file pattern filter{ buildIsRunning, buildLogEntries[], buildResult, fullLogPath, truncated, totalFound }buildTask and emittedIssues[].Run the full test suite from the active scheme's test plan.
tabIdentifier (string, required){ summary, counts, results[], schemeName, activeTestPlanName }counts has total, passed, failed, skipped, expectedFailures, notRun. Each result has targetName, identifier, displayName, state.Run specific tests by identifier.
tabIdentifier (string, required)tests (array, required) — each element: { targetName: string, testIdentifier: string }GetTestList to discover valid test identifiers.List available tests from the active test plan.
tabIdentifier (string, required){ tests[], schemeName, activeTestPlanName }targetName, identifier, displayName, isEnabled, filePath, lineNumber, tags[].Get issues from Xcode's Issue Navigator.
tabIdentifier (string, required)severity (enum, optional) — remark, warning, errorpattern (string, optional) — regex filterglob (string, optional) — file pattern filter{ issues[], truncated, totalFound, message }message, severity, path, line, category, vitality (fresh/stale). Structured and deduplicated.Refresh diagnostics for a specific file.
tabIdentifier (string, required)filePath (string, required){ filePath, diagnosticsCount, content, success }Build and run a code snippet in the context of a source file.
tabIdentifier (string, required)codeSnippet (string, required) — code to executesourceFilePath (string, required) — Swift file whose context the snippet runs in (has access to its fileprivate declarations)timeout (integer, optional, default 120) — seconds{ executionResults } — console output from print statementslanguage parameter — Swift only.Render a SwiftUI preview snapshot.
tabIdentifier (string, required)sourceFilePath (string, required) — Swift file with #PreviewpreviewDefinitionIndexInFile (integer, optional, default 0) — zero-based index of which #Preview to rendertimeout (integer, optional, default 120){ previewSnapshotPath } — path to rendered image#Preview in the file is index 0.Search Apple Developer Documentation semantically.
query (string, required)frameworks (array of strings, optional) — scope to specific frameworks{ documents[] } — each with title, uri, contents, score| 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 |
tabIdentifier — Required by 18/20 tools. Always call XcodeListWindows first.filePath — Used by XcodeRead, XcodeWrite, XcodeUpdate, XcodeRefreshCodeIssuesInFile. Project-relative or absolute.path — Used by XcodeLS, XcodeRM, XcodeGlob. Directory path.directoryPath — Used by XcodeMakeDir.sourceFilePath — Used by ExecuteSnippet, RenderPreview. Must be a Swift source file.Skills: axiom-xcode-mcp-setup, axiom-xcode-mcp-tools