From 747c126878ad36067687fe499ab8d1bdfa5a4cfb Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Thu, 15 May 2025 09:28:28 -0700 Subject: [PATCH 1/3] Add Dockerfile --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..01694782 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/build/project-config +# Use a small base image with Node.js LTS +FROM node:lts-alpine AS build + +# Install dependencies needed for building +RUN apk add --no-cache python3 g++ make git + +# Create app directory +WORKDIR /usr/src/app + +# Copy package manifests +COPY package.json package-lock.json tsconfig.json eslint.config.js ./ + +# Copy source +COPY src ./src + +# Install dependencies ignoring any prepare scripts, then build +RUN npm ci --ignore-scripts +RUN npm run prebuild && npm run build + +# Stage for runtime +FROM node:lts-alpine +WORKDIR /usr/src/app + +# Install minimal runtime dependencies +# No build tools needed, install production deps +COPY package.json package-lock.json ./ +RUN npm ci --omit=dev --ignore-scripts + +# Copy built files +COPY --from=build /usr/src/app/build ./build + +# Symlink binary +RUN npm link + +# Default command +ENTRYPOINT ["xcodebuildmcp"] +CMD [] From 49597a0478985239f4df9761f216e2b3c1024752 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Thu, 15 May 2025 09:28:28 -0700 Subject: [PATCH 2/3] Add Smithery configuration --- smithery.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 smithery.yaml diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 00000000..2d6db00f --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,13 @@ +# Smithery configuration file: https://smithery.ai/docs/build/project-config + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + description: Configuration for XcodeBuildMCP (no options needed) + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({ command: 'xcodebuildmcp', args: [], env: {} }) + exampleConfig: {} From bf9375965a74e144601c93ecbe7f5cf67cbc262a Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Thu, 15 May 2025 09:28:29 -0700 Subject: [PATCH 3/3] Update README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 905fd745..5af56439 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ A Model Context Protocol (MCP) server that provides Xcode-related tools for inte [![CI](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/ci.yml/badge.svg)](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/ci.yml) [![CodeQL](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/github-code-scanning/codeql) [![Licence: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/e0f4ab6d-e867-4c6e-90cd-77363faaafcc) +[![smithery badge](https://smithery.ai/badge/@cameroncooke/XcodeBuildMCP)](https://smithery.ai/server/@cameroncooke/XcodeBuildMCP) ## Table of contents @@ -16,6 +17,7 @@ A Model Context Protocol (MCP) server that provides Xcode-related tools for inte - [App utilities](#app-utilities) - [Getting started](#getting-started) - [Prerequisites](#prerequisites) + - [Installing via Smithery](#installing-via-smithery) - [One-line setup with mise](#one-line-setup-with-mise) - [Configure MCP clients](#configure-mcp-clients) - [One click to install in VS Code](#one-click-to-install-in-vs-code) @@ -82,6 +84,14 @@ The XcodeBuildMCP server provides the following tool capabilities: - Xcode 16.x or later - mise +### Installing via Smithery + +To install XcodeBuild MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@cameroncooke/XcodeBuildMCP): + +```bash +npx -y @smithery/cli install @cameroncooke/XcodeBuildMCP --client claude +``` + ### One-line setup with mise To install mise: