Contributions are welcome! Here's how you can help improve XcodeBuildMCP.
In addition to the prerequisites mentioned in the Getting started section of the README, you will also need:
- Node.js (v18 or later)
- npm
When running locally, you'll need to install Facebook's idb tools:
# Install idb_companion (required for UI automation)
brew tap facebook/fb
brew install idb-companionInstall fb-idb Python package:
pip install fb-idb==1.1.7- Clone the repository
- Install dependencies:
npm install - Build the project:
npm run build - Start the server:
node build/index.js
To configure your MCP client to use your local XcodeBuildMCP server you can use the following configuration:
{
"mcpServers": {
"XcodeBuildMCP": {
"command": "node",
"args": [
"/path_to/XcodeBuildMCP/build/index.js"
]
}
}
}VS Code is especially good for developing XcodeBuildMCP as it has a built-in way to view MCP client/server logs as well as the ability to configure MCP servers at a project level. It probably has the most comprehensive support for MCP development.
To make your development workflow in VS Code more efficient:
- Start the MCP Server: Open the
.vscode/mcp.jsonfile. You can start thexcode-mcp-server-devserver either by clicking theStartCodeLens that appears above the server definition, or by opening the Command Palette (Cmd+Shift+PorCtrl+Shift+P), runningMcp: List Servers, selectingxcode-mcp-server-dev, and starting the server. - Launch the Debugger: Press
F5to attach the Node.js debugger.
Once these steps are completed, you can utilize the tools from the MCP server you are developing within this repository in agent mode. For more details on how to work with MCP servers in VS Code see: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
You can use MCP Inspector via:
npm run inspector if you prefer the explicit command:
npx @modelcontextprotocol/inspector node build/index.jsRunning the XcodeBuildMCP server with the environmental variable XCODEBUILDMCP_DEBUG=true will expose a new diagnostic tool which you can run using MCP Inspector:
XCODEBUILDMCP_DEBUG=true npm run inspectAlternatively, you can run the diagnostic tool directly:
node build/diagnostic-cli.js- Fork the repository and create a new branch
- Follow the TypeScript best practices and existing code style
- Add proper parameter validation and error handling
- Build the project with
npm run build - Test your changes with MCP Inspector
- Verify tools work correctly with different MCP clients
- Run
npm run lintto check for linting issues (usenpm run lint:fixto auto-fix) - Run
npm run format:checkto verify formatting (usenpm run formatto fix) - Update documentation if you've added or modified features
- Add your changes to the CHANGELOG.md file
- Push your changes and create a pull request with a clear description
- Link any related issues
For major changes or new features, please open an issue first to discuss your proposed changes.
Please follow our Code of Conduct and community guidelines.