---
title: Capawesome MCP Server
description: Connect Claude, Cursor, VS Code, and any MCP client to the Capawesome documentation and Capawesome Cloud with the official MCP server.
---

# MCP Server

The Capawesome MCP server connects your AI assistant to Capawesome — the documentation and blog, and your [Capawesome Cloud](../cloud/index.md) apps, builds, deployments, and devices. It implements the [Model Context Protocol](https://modelcontextprotocol.io){:target="_blank"}, so it works with Claude Code, Claude Desktop, Cursor, VS Code, and any other MCP client.

It's hosted by us — there's nothing to install and nothing to keep up to date:

```
https://mcp.capawesome.io/mcp
```

On its own, the server exposes documentation search, so your assistant answers from the current docs instead of stale training data. Add your API token and enable the Cloud tools, and it also exposes the Capawesome Cloud management surface: trigger an app build, ship a live update, roll back a channel, or diagnose a failed job — without leaving the conversation.

## Authentication

The documentation tools work without authentication. Everything else requires an [API token](../cloud/accounts/tokens.md), sent as a bearer token in the `Authorization` header. Create one in the [Capawesome Cloud Console](https://console.cloud.capawesome.io/settings/tokens){:target="_blank"} — the token is shown only once, so copy it right away.

A token acts on behalf of the account that created it, so the server can do whatever you can do across your organizations and apps. Requests go through the same [Cloud API](../cloud/api.md) as the CLI, which means the same permissions, [network restrictions](../cloud/organizations/network-restrictions.md), and rate limits apply.

!!! warning "Keep tokens secret"

    Never commit a token to version control. Store it in a secret manager or an environment variable, and revoke it in the Console if it might have leaked.

## Setup

### AI-Assisted Setup (Recommended)

The fastest way to connect the server is with an AI coding assistant. First, add the [Capawesome skills](https://github.com/capawesome-team/skills){:target="_blank"} to your project:

```bash
npx skills add capawesome-team/skills --skill capawesome-mcp
```

Then use the following prompt in your preferred AI tool (e.g. [Claude Code](https://www.anthropic.com/claude-code){:target="_blank"}, [Cursor](https://www.cursor.com/){:target="_blank"}, or [GitHub Copilot](https://github.com/features/copilot){:target="_blank"}):

```
Use the `capawesome-mcp` skill from `capawesome-team/skills` to help me set up the Capawesome MCP server in my project.
```

The assistant will pick the [toolsets](#toolsets) you need, walk you through creating an [API token](../cloud/accounts/tokens.md), write the configuration for your MCP client, and verify that the tools are available.

### Manual Setup

If you prefer to set things up manually, add the server to your MCP client and restart it. The examples use `?toolsets=all`, which registers the documentation tools plus — once you add a token — the Capawesome Cloud tools. Replace `YOUR_TOKEN` with your API token, or drop the `Authorization` header for documentation tools only.

=== "Claude Code"

    Run the following command in your project:

    ```bash
    claude mcp add --transport http capawesome "https://mcp.capawesome.io/mcp?toolsets=all" \
      --header "Authorization: Bearer YOUR_TOKEN"
    ```

    Add `--scope user` to make the server available in every project instead of just the current one.

=== "Claude Desktop"

    The Claude Desktop config file only starts local commands, so use [`mcp-remote`](https://www.npmjs.com/package/mcp-remote){:target="_blank"} to reach the server. Add the following to your `claude_desktop_config.json` (open it via **Settings → Developer → Edit Config**):

    ```json
    {
      "mcpServers": {
        "capawesome": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://mcp.capawesome.io/mcp?toolsets=all",
            "--header",
            "Authorization:${AUTH_HEADER}"
          ],
          "env": {
            "AUTH_HEADER": "Bearer YOUR_TOKEN"
          }
        }
      }
    }
    ```

    The header value comes from `env` because a header with spaces isn't passed through reliably on the command line.

=== "Cursor"

    Add the following to `.cursor/mcp.json` in your project, or to `~/.cursor/mcp.json` to use the server everywhere:

    ```json
    {
      "mcpServers": {
        "capawesome": {
          "url": "https://mcp.capawesome.io/mcp?toolsets=all",
          "headers": {
            "Authorization": "Bearer YOUR_TOKEN"
          }
        }
      }
    }
    ```

=== "VS Code"

    Add the following to `.vscode/mcp.json` in your project:

    ```json
    {
      "servers": {
        "capawesome": {
          "type": "http",
          "url": "https://mcp.capawesome.io/mcp?toolsets=all",
          "headers": {
            "Authorization": "Bearer ${input:capawesome-token}"
          }
        }
      },
      "inputs": [
        {
          "id": "capawesome-token",
          "type": "promptString",
          "description": "Capawesome Cloud API token",
          "password": true
        }
      ]
    }
    ```

    VS Code prompts for the token the first time the server starts and stores it securely, so the file stays safe to commit.

Once connected, ask your assistant something like *"Which channels does my app have?"* or *"Why did my last iOS build fail?"* to check that the tools are available.

## Toolsets

By default the server registers just the public `docs` toolset — documentation and blog search, no token needed. To add [Capawesome Cloud](../cloud/index.md) management, use `?toolsets=all`, which registers the documentation tools alongside every Cloud toolset:

```
https://mcp.capawesome.io/mcp?toolsets=all
```

That's what most setups want — documentation search plus the full Cloud surface. If you don't need documentation search, `?toolsets=cloud` registers the Cloud toolsets on their own.

To register a smaller, sharper set — every tool takes up context in your assistant, and fewer tools makes it pick the right one more often — name the specific toolsets you need, keeping `docs` for documentation search:

```
https://mcp.capawesome.io/mcp?toolsets=docs,cloud-apps,cloud-app-builds,cloud-app-deployments
```

Put the URL in quotes when you pass query parameters on the command line, otherwise your shell interprets them.

Add `?readonly=true` to register read-only tools only. Nothing can then be created, changed, or deleted — a good fit for a shared or unattended setup.

### Documentation

Registered by default. Needs no token.

| Toolset | Tools | Description |
| --- | --- | --- |
| `docs` | 3 | Search the documentation and blog. |

### Cloud

Opt-in with `?toolsets=cloud` (all of them) or by name. Each requires an [API token](../cloud/accounts/tokens.md). A toolset named `cloud-app-*` acts on a single app, so its tools all take an app ID.

| Toolset | Tools | Description |
| --- | --- | --- |
| `cloud-app-automations` | 5 | Manage [automations](../cloud/automations/index.md) that build on Git events. |
| `cloud-app-builds` | 5 | Trigger [app builds](../cloud/native-builds/index.md) and share them. |
| `cloud-app-certificates` | 5 | Manage [signing certificates](../cloud/native-builds/certificates/index.md) and provisioning profiles. |
| `cloud-app-channels` | 5 | Manage [live update channels](../cloud/live-updates/channels.md). |
| `cloud-app-configurations` | 5 | Manage [native configurations](../cloud/native-builds/native-configurations.md). |
| `cloud-app-deployments` | 4 | Deploy builds to channels and app stores, and roll back. |
| `cloud-app-destinations` | 5 | Manage [app store destinations](../cloud/app-store-publishing/index.md). |
| `cloud-app-devices` | 5 | Inspect devices and control which update they receive. |
| `cloud-app-environments` | 5 | Manage build [environments](../cloud/native-builds/environments.md), variables, and secrets. |
| `cloud-app-repository` | 3 | Link an app to a Git repository, and see which one it uses. |
| `cloud-apps` | 4 | Create, list, and update apps. |
| `cloud-git` | 6 | Manage the Git connections of an organization and browse their repositories. |
| `cloud-jobs` | 4 | Track, cancel, and diagnose builds and deployments. |
| `cloud-license-keys` | 6 | Manage [license keys](../cloud/license-keys.md) for Insiders and Enterprise SDKs. |
| `cloud-organizations` | 10 | Identify yourself, list your organizations (and the IDs other tools need), and manage members and invitations. |
| `cloud-teams` | 5 | Manage teams and their apps and members. |

## Tool reference

All 85 tools, grouped by toolset. Each one carries MCP annotations that mark it as read-only or destructive, which is what clients use to decide when to ask you for confirmation before running a tool.

### docs

| Tool | Description |
| --- | --- |
| `search_docs` | Search the Capawesome documentation and blog. |
| `get_doc_page` | Fetch a documentation or blog page as Markdown. |
| `list_blog_posts` | List the most recent blog posts. |

### cloud-app-automations

| Tool | Description |
| --- | --- |
| `cloud_list_app_automations` | List the automations of an app. |
| `cloud_get_app_automation` | Get a single automation. |
| `cloud_create_app_automation` | Create an automation. |
| `cloud_update_app_automation` | Update an automation. |
| `cloud_delete_app_automation` | Delete an automation. |

### cloud-app-builds

| Tool | Description |
| --- | --- |
| `cloud_list_app_builds` | List builds, filtered by platform or build number. |
| `cloud_get_app_build` | Get a build with its job status and artifact download links. |
| `cloud_create_app_build` | Start a build from a Git ref or a ZIP URL. |
| `cloud_create_app_build_share` | Create a share link with QR code for a build. |
| `cloud_delete_app_build_share` | Revoke a share link immediately. |

### cloud-app-certificates

| Tool | Description |
| --- | --- |
| `cloud_list_app_certificates` | List the signing certificates of an app, including their expiry. |
| `cloud_get_app_certificate` | Get a single certificate. |
| `cloud_create_app_certificate` | Upload a signing certificate and optional provisioning profiles. |
| `cloud_update_app_certificate` | Update the name, passwords, or type of a certificate. |
| `cloud_delete_app_certificate` | Delete a certificate. |

### cloud-app-channels

| Tool | Description |
| --- | --- |
| `cloud_list_app_channels` | List the channels of an app. |
| `cloud_get_app_channel` | Get a single channel. |
| `cloud_create_app_channel` | Create a channel. |
| `cloud_update_app_channel` | Rename, pause, or resume a channel. |
| `cloud_delete_app_channel` | Delete a channel. |

### cloud-app-configurations

| Tool | Description |
| --- | --- |
| `cloud_list_app_configurations` | List the native configurations of an app. |
| `cloud_get_app_configuration` | Get a single native configuration. |
| `cloud_create_app_configuration` | Create a native configuration. |
| `cloud_update_app_configuration` | Update the display name, name, or package name of a native configuration. |
| `cloud_delete_app_configuration` | Delete a native configuration. |

### cloud-app-deployments

| Tool | Description |
| --- | --- |
| `cloud_list_app_deployments` | List deployments, filtered by build, channel, or destination. |
| `cloud_get_app_deployment` | Get a deployment with its job status. |
| `cloud_create_app_deployment` | Deploy a build to a channel or an app store destination. Deploying an earlier build is how you roll back. |
| `cloud_update_app_deployment` | Adjust the rollout percentage of a deployment. |

### cloud-app-destinations

| Tool | Description |
| --- | --- |
| `cloud_list_app_destinations` | List the app store destinations of an app. |
| `cloud_get_app_destination` | Get a single destination. |
| `cloud_create_app_destination` | Connect an App Store Connect or Google Play destination. |
| `cloud_update_app_destination` | Update a destination, such as its Google Play track or release status. |
| `cloud_delete_app_destination` | Delete a destination. |

### cloud-app-devices

| Tool | Description |
| --- | --- |
| `cloud_list_app_devices` | List the devices registered for an app. |
| `cloud_get_app_device` | Get a single device. |
| `cloud_probe_app_device` | Check which live update a device would receive right now. |
| `cloud_update_app_device` | Assign or clear the channel a device is pinned to. |
| `cloud_delete_app_device` | Delete a device. It re-registers on its next sync. |

### cloud-app-environments

| Tool | Description |
| --- | --- |
| `cloud_list_app_environments` | List the environments of an app. |
| `cloud_get_app_environment` | Get a single environment. |
| `cloud_create_app_environment` | Create an environment. |
| `cloud_update_app_environment` | Rename an environment and set or unset its variables and secrets. |
| `cloud_delete_app_environment` | Delete an environment. |

### cloud-app-repository

| Tool | Description |
| --- | --- |
| `cloud_get_app_repository` | Show which repository an app is linked to. |
| `cloud_set_app_repository` | Link an app to a repository. |
| `cloud_delete_app_repository` | Unlink an app from its repository. |

### cloud-apps

| Tool | Description |
| --- | --- |
| `cloud_create_app` | Create an app in an organization. |
| `cloud_list_apps` | List the apps of an organization. |
| `cloud_get_app` | Get a single app. |
| `cloud_update_app` | Update an app. |

### cloud-git

| Tool | Description |
| --- | --- |
| `cloud_list_git_connections` | List the Git connections of an organization. |
| `cloud_get_git_connection` | Get a single Git connection. |
| `cloud_create_git_connection` | Create a token or HTTP(S) Git connection. |
| `cloud_update_git_connection` | Update a Git connection. |
| `cloud_delete_git_connection` | Delete a Git connection. |
| `cloud_list_git_repositories` | Browse the repositories available through a connection. |

### cloud-jobs

| Tool | Description |
| --- | --- |
| `cloud_list_jobs` | List the jobs of an organization, filtered by status. |
| `cloud_get_job` | Get a single job. |
| `cloud_cancel_job` | Cancel a running build or deployment. |
| `cloud_diagnose_job` | Fetch the log tail and an AI failure summary for a job. |

### cloud-license-keys

| Tool | Description |
| --- | --- |
| `cloud_list_license_keys` | List the license keys of an organization. |
| `cloud_get_license_key` | Get a single license key. |
| `cloud_create_license_key` | Create a license key and assign packages to it. |
| `cloud_update_license_key` | Update a license key. |
| `cloud_rotate_license_key` | Rotate a license key. The old key stops working immediately. |
| `cloud_delete_license_key` | Delete a license key. |

### cloud-organizations

| Tool | Description |
| --- | --- |
| `cloud_get_current_user` | Show which account the token belongs to. |
| `cloud_list_organizations` | List the organizations you have access to. |
| `cloud_get_organization` | Get a single organization. |
| `cloud_create_organization` | Create an organization, optionally with a trial code. |
| `cloud_update_organization` | Update an organization. |
| `cloud_list_members` | List the members of an organization. |
| `cloud_delete_member` | Remove a member from an organization. |
| `cloud_list_invitations` | List the pending invitations of an organization. |
| `cloud_create_invitation` | Invite someone to an organization with a given role. |
| `cloud_delete_invitation` | Revoke a pending invitation. |

### cloud-teams

| Tool | Description |
| --- | --- |
| `cloud_list_teams` | List the teams of an organization. |
| `cloud_get_team` | Get a team with its apps and members. |
| `cloud_create_team` | Create a team. |
| `cloud_update_team` | Rename a team and add or remove apps and members. |
| `cloud_delete_team` | Delete a team. |

## Working with secrets

A few tools accept sensitive values — environment secrets, signing certificates, and app store credentials. Anything you pass to a tool becomes part of the conversation and is sent to your AI provider, and it may end up in chat history or logs you don't control.

!!! warning "Use the CLI for production secrets"

    Set production secrets, upload signing certificates, and connect store destinations with the [CLI](../cloud/cli/index.md) or the [Console](https://console.cloud.capawesome.io){:target="_blank"} instead. Keep the MCP server for reading and for values you'd be fine seeing in a transcript.

## Next steps

- [LLMs](llms.md) — `llms.txt` files and Markdown endpoints that make the docs readable by any model.
- [Skills](skills/index.md) — on-demand agent skills that automate migrations and Cloud setup.
- [Editor Rules](rules.md) — always-on project rules that keep generated code consistent.
