Skip to content

MCP server for Xcode - enables AI assistants to create, build, test, and manage iOS/macOS projects programmatically

License

Notifications You must be signed in to change notification settings

ebowwa/xcode-mcp

Repository files navigation

Xcode MCP (Model Context Protocol) Server

License: MIT MCP Version Node.js Version

A comprehensive MCP server that provides programmatic access to Xcode functionality, enabling AI assistants like Claude to create, build, test, and manage iOS/macOS projects directly.

πŸš€ Features

Project Management

  • Create new Xcode projects - Generate complete project structures with SwiftUI templates
  • Build projects - Compile apps with customizable configurations
  • Run tests - Execute unit and UI tests
  • Archive apps - Create archives for distribution
  • Manage schemes - List and work with project schemes

File Operations

  • Create Swift files - Write source code directly to the filesystem
  • Modify Info.plist - Update app configurations programmatically
  • Create directories - Set up project folder structures
  • Read files - Access and analyze existing code

Simulator Management

  • List simulators - View all available iOS, watchOS, and tvOS simulators
  • Boot/shutdown simulators - Control simulator lifecycle
  • Install apps - Deploy apps to simulators
  • Launch apps - Run apps with specific bundle IDs
  • Capture screenshots - Take simulator screenshots programmatically

πŸ“¦ Installation

# Clone the repository
git clone https://github.com/yourusername/xcode-mcp.git
cd xcode-mcp

# Install dependencies
npm install

# Build the project
npm run build

πŸ”§ Configuration

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "xcode-mcp": {
      "command": "node",
      "args": ["/path/to/xcode-mcp/dist/index.js"],
      "env": {}
    }
  }
}

🎯 Usage

Once configured, Claude can use these tools directly:

Creating a New Project

User: "Create a new iOS app called MyApp"
Claude: *uses xcode_create_project to generate the project structure*

Building Projects

User: "Build my iOS app"
Claude: *uses xcode_build_project with appropriate parameters*

Managing Simulators

User: "Show me available simulators"
Claude: *uses xcode_list_simulators to display options*

πŸ“š Available Tools

Tool Description
xcode_create_project Create new Xcode projects with templates
xcode_create_swift_file Write Swift source files
xcode_build_project Build Xcode projects
xcode_test_project Run project tests
xcode_list_simulators List available simulators
xcode_boot_simulator Start a simulator
xcode_install_app_simulator Install apps on simulators
xcode_modify_plist Modify plist files
xcode_show_build_settings Display build configurations
xcode_archive_project Create app archives

πŸ› οΈ Development

Prerequisites

  • Node.js 16+
  • Xcode 14+
  • macOS 12+

Building from Source

npm install
npm run build

Running in Development

npm run dev

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

πŸ“‹ Requirements

  • macOS: Required for Xcode integration
  • Xcode: Must be installed with command line tools
  • Node.js: Version 16 or higher

πŸ› Troubleshooting

Common Issues

Simulators not showing:

  • Ensure Xcode is properly installed
  • Run xcode-select --install for command line tools

Build failures:

  • Check Xcode project paths are correct
  • Verify scheme names match exactly

MCP connection errors:

  • Restart Claude Desktop after configuration changes
  • Check logs at ~/Library/Logs/Claude/mcp-server-xcode-mcp.log

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support

About

MCP server for Xcode - enables AI assistants to create, build, test, and manage iOS/macOS projects programmatically

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •