Skip to main content
Glama
README.md
# ShipKit

MCP server for shipping iOS apps. Wraps XcodeBuildMCP and App Store Connect API.

## Tools

| Tool | Description |
|------|-------------|
| `screenshot` | Take a screenshot of the iOS app running in the Simulator via `xcrun simctl` |
| `metadata` | Get or update App Store Connect metadata (title, subtitle, description, keywords, whatsNew) |
| `submit-review` | Submit an app version for App Store review |

## Setup

```bash
npm install
npm run build
```

### Environment Variables

For `metadata` and `submit-review` tools, set the following:

```bash
export ASC_KEY_ID="your-key-id"
export ASC_ISSUER_ID="your-issuer-id"
export ASC_PRIVATE_KEY="$(cat path/to/AuthKey_XXXXXX.p8)"
```

Generate these in [App Store Connect > Users and Access > Integrations > App Store Connect API](https://appstoreconnect.apple.com/access/integrations/api).

## Usage

### Claude Desktop / claude_desktop_config.json

```json
{
  "mcpServers": {
    "shipkit": {
      "command": "node",
      "args": ["/path/to/shipkit/dist/index.js"],
      "env": {
        "ASC_KEY_ID": "your-key-id",
        "ASC_ISSUER_ID": "your-issuer-id",
        "ASC_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
      }
    }
  }
}
```

### Development

```bash
npm run dev       # watch mode with tsx
npm run inspect   # open MCP inspector
```