Skip to content

Commit 758fc6f

Browse files
committed
Update README
1 parent 68f6a74 commit 758fc6f

1 file changed

Lines changed: 0 additions & 96 deletions

File tree

README.md

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ A Model Context Protocol (MCP) server that provides Xcode-related tools for inte
3131
- [Privacy](#privacy)
3232
- [What is sent to Sentry?](#what-is-sent-to-sentry)
3333
- [Opting Out of Sentry](#opting-out-of-sentry)
34-
- [Selective tool registration](#selective-tool-registration)
3534
- [Demos](#demos)
3635
- [Autonomously fixing build errors in Cursor](#autonomously-fixing-build-errors-in-cursor)
3736
- [Utilising the new UI automation and screen capture features](#utilising-the-new-ui-automation-and-screen-capture-features)
@@ -43,15 +42,6 @@ A Model Context Protocol (MCP) server that provides Xcode-related tools for inte
4342

4443
XcodeBuildMCP is a Model Context Protocol (MCP) server that exposes Xcode operations as tools for AI assistants and other MCP clients. Built with a modern plugin architecture, it provides 84 self-contained tools organized into workflow-based directories, enabling programmatic interaction with Xcode projects, simulators, devices, and Swift packages through a standardized interface.
4544

46-
### Architecture Highlights
47-
48-
- **Plugin Architecture**: Self-contained tools with automatic discovery and zero-config registration
49-
- **Tool Granularity**: 84 specialized tools across 16 plugin directories for precise control
50-
- **Dynamic Loading**: Automatic plugin discovery with flexible enablement options
51-
- **Workflow Organization**: Tools grouped by logical workflow patterns (simulator, device, macOS, etc.)
52-
- **Type Safety**: Comprehensive Zod schema validation for all tool parameters
53-
- **Extensible**: Easy addition of new tools through standardized plugin interface
54-
5545
![xcodebuildmcp2](https://github.com/user-attachments/assets/8961d5db-f7ed-4e60-bbb8-48bfd0bc1353)
5646
<caption>Using Cursor to build, install, and launch an app on the iOS simulator while capturing logs at run-time.</caption>
5747

@@ -285,79 +275,6 @@ Example MCP client configuration:
285275
}
286276
```
287277

288-
## Architecture
289-
290-
XcodeBuildMCP follows a modular, layered architecture designed for extensibility and maintainability:
291-
292-
```
293-
┌────────────────────────────────────────────────────────────┐
294-
│ MCP Client (AI Assistant, CLI, Editor) │
295-
└────────────────────────┬───────────────────────────────────┘
296-
│ MCP Protocol (stdio)
297-
┌────────────────────────▼───────────────────────────────────┐
298-
│ MCP Server (index.ts) │
299-
├─────────────────────────────────────────────────────────────┤
300-
│ Tool Registration & Feature Toggle Layer │
301-
│ (register-tools.ts, tool-groups.ts) │
302-
├─────────────────────────────────────────────────────────────┤
303-
│ Tool Implementation Layer │
304-
│ ┌─────────────┬──────────────┬────────────────────────┐ │
305-
│ │ Build Tools │ Test Tools │ Management Tools │ │
306-
│ │ Simulator │ Device Tools │ UI Automation │ │
307-
│ │ Swift Pkg │ Diagnostics │ Project Discovery │ │
308-
│ └─────────────┴──────────────┴────────────────────────┘ │
309-
├─────────────────────────────────────────────────────────────┤
310-
│ Shared Utilities Layer │
311-
│ (command.ts, build-utils.ts, validation.ts, logger.ts) │
312-
├─────────────────────────────────────────────────────────────┤
313-
│ External Dependencies │
314-
│ (xcodebuild, xcrun, simctl, xcodemake, AXe) │
315-
└─────────────────────────────────────────────────────────────┘
316-
```
317-
318-
### Key Components
319-
320-
- **Entry Point** (`src/index.ts`): Server initialization and lifecycle management
321-
- **Tool Registration** (`src/utils/register-tools.ts`): Declarative tool catalog with metadata
322-
- **Tool Groups** (`src/utils/tool-groups.ts`): Workflow-based tool organization
323-
- **Tool Implementation** (`src/tools/*.ts`): Individual tool logic with Zod validation
324-
- **Utilities** (`src/utils/*.ts`): Shared functionality for command execution, error handling
325-
- **Type System** (`src/types/common.ts`): Core interfaces and enums
326-
327-
### Testing Infrastructure
328-
329-
- **Framework**: Vitest with TypeScript support
330-
- **Coverage**: 407 tests across 26 test files
331-
- **Pattern**: Import production code, mock only external dependencies
332-
- **Validation**: Deterministic response validation for all tools
333-
334-
For detailed architectural documentation, see [ARCHITECTURE.md](docs/ARCHITECTURE.md).
335-
336-
## Selective tool registration
337-
338-
By default all tools are enabled but for some clients it may be useful to only enable specific tools to reduce the amount of context that is sent to the client. This can be achieved by setting specific environment variables in your clients MCP configuration.
339-
340-
Once you have enabled one or more tools or groups of tools all other tools will be disabled. For example, to enable only the simulator related tools, you can set the environment variable to `XCODEBUILDMCP_GROUP_IOS_SIMULATOR_WORKFLOW=true` this will only expose tools for building, running and debugging on simulators
341-
342-
```json
343-
{
344-
"mcpServers": {
345-
"XcodeBuildMCP": {
346-
"command": "npx",
347-
"args": [
348-
"-y",
349-
"xcodebuildmcp@latest"
350-
],
351-
"env": {
352-
"XCODEBUILDMCP_GROUP_IOS_SIMULATOR_WORKFLOW": "true"
353-
}
354-
}
355-
}
356-
}
357-
```
358-
359-
You can find a list of available tools and detailed instructions on how to enable them in the [TOOL_OPTIONS.md](TOOL_OPTIONS.md) file.
360-
361278
## Demos
362279

363280
### Autonomously fixing build errors in Cursor
@@ -370,19 +287,6 @@ You can find a list of available tools and detailed instructions on how to enabl
370287
### Building and running iOS app in Claude Desktop
371288
https://github.com/user-attachments/assets/e3c08d75-8be6-4857-b4d0-9350b26ef086
372289

373-
## Documentation
374-
375-
XcodeBuildMCP includes comprehensive documentation to help you understand and extend the project:
376-
377-
- **[ARCHITECTURE.md](docs/ARCHITECTURE.md)** - Detailed architectural overview, design principles, and component details
378-
- **[TOOLS.md](docs/TOOLS.md)** - Complete documentation of all 84 available tools
379-
- **[TOOL_OPTIONS.md](TOOL_OPTIONS.md)** - Tool configuration and selective enablement guide
380-
- **[CONTRIBUTING.md](docs/CONTRIBUTING.md)** - Development setup, testing standards, and contribution guidelines
381-
- **[CHANGELOG.md](CHANGELOG.md)** - Version history and release notes
382-
383-
For AI assistants and automated tools:
384-
- **[CLAUDE.md](CLAUDE.md)** - Guidelines for AI assistants working with this codebase
385-
386290
## Contributing
387291

388292
Contributions are welcome! Here's how you can help improve XcodeBuildMCP.

0 commit comments

Comments
 (0)