# AppDeploy - MCP Server Documentation
Canonical URL: https://appdeploy.ai/mcp-docs
Last modified: August 24, 2026

AppDeploy is a [chat-native deployment](/chat-native-deployment) platform for [app deployment from ChatGPT, Claude, and MCP clients](/). Deploy web apps directly from ChatGPT, Claude, Cursor, Codex, Kiro, Linear, Trae, Cline, Kilo Code, Notion, Genspark, GitHub Copilot, Atlassian, Slack, Devin, Muse Code, or Grok and get a live, public URL. No Git, no CLI, no IDE required.

**Key capabilities:**

- Deploy frontend-only and fullstack apps with public URLs

- Built-in hosting, database access, file storage, web sockets, AI capabilities, OAuth authentication, push notifications and other web services

- Run autonomous black-box QA and inspect QA snapshots and runtime errors

- Manage versions and roll back to prior versions

- Inspect deployed source snapshots

---

## Quick Start

### ChatGPT

1. [Open AppDeploy ChatGPT app page](https://chatgpt.com/plugins/plugin_asdk_app_6956e6ff740481919946ceae8e5d6304), click Connect

2. Click Sign in with AppDeploy

3. Complete OAuth authentication when prompted

### [Claude (Web / Desktop)](/claude-installation-instructions)
Go to Settings → Connectors → Add custom connector

Name:

```
AppDeploy
```
URL:

```
https://api-v2.appdeploy.ai/mcp
```
### Codex
Run in terminal:

```
`{'codex mcp add AppDeploy --url https://api-v2.appdeploy.ai/mcp'}`
```
### Cursor
One-click install: [Install in Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=AppDeploy&config=eyJ1cmwiOiJodHRwczovL2FwaS12Mi5hcHBkZXBsb3kuYWkvbWNwIn0%3D)

### [Grok](/grok-installation-instructions)

1. Open Grok, click your profile, then open Connectors

2. Click New Connector, choose Custom, then enter Name: AppDeploy and Server URL: `https://api-v2.appdeploy.ai/mcp`

3. Complete OAuth authentication when prompted

### [Kiro](/kiro-installation-instructions)

1. Open Kiro, then open the Powers panel

2. Click Add Custom Power, then Import power from GitHub, and paste the AppDeploy [power repository URL](https://github.com/AppDeploy-AI/kiro-power)

3. Complete browser authentication on first use (Google, Apple, or X)

### [GitHub Copilot](/copilot-installation-instructions)

1. In VS Code, run `MCP: Add Server` from the Command Palette

2. Choose HTTP and enter `https://api-v2.appdeploy.ai/mcp`, name it AppDeploy

3. Start the server and sign in (Google, Apple, or X), then use it in Copilot agent mode

### [Genspark](/genspark-installation-instructions)

1. Open Settings, go to Connectors (or the Connectors menu in chat)

2. Add new MCP server: name AppDeploy, type StreamableHttp, URL `https://api-v2.appdeploy.ai/mcp`

3. Click Add Server and sign in (Google, Apple, or X)

### [Notion](/notion-installation-instructions)

1. In your custom agent's settings, open Tools and access

2. Add connection, Add custom MCP, enter `https://api-v2.appdeploy.ai/mcp`

3. Name it AppDeploy, set Authentication to OAuth, Connect, and sign in

### [Kilo Code](/kilo-code-installation-instructions)

1. Run `kilo mcp add` - name it AppDeploy, type Remote, URL `https://api-v2.appdeploy.ai/mcp`, OAuth: yes

2. Run `kilo mcp auth AppDeploy`

3. Sign in (Google, Apple, or X); the IDE extension flow is in the [setup guide](/kilo-code-installation-instructions)

### [Cline](/cline-installation-instructions)

1. In Cline, open the MCP Servers view

2. Add a remote server with the URL `https://api-v2.appdeploy.ai/mcp`

3. Once enabled, finalize authorization and sign in (Google, Apple, or X)

### [Trae](/trae-installation-instructions)

1. Open Trae, go to Settings, then MCP

2. Click Add, choose Add manually, and paste the AppDeploy config with the URL `https://api-v2.appdeploy.ai/mcp`

3. Save, click the authentication link next to the added server, then sign in (Google, Apple, or X)

### [Linear](/linear-installation-instructions)

1. Open Linear, go to Settings, then Agent personalization

2. Under MCP servers click the + icon, choose Custom URL, and enter `https://api-v2.appdeploy.ai/mcp`

3. Complete browser authentication (Google, Apple, or X), then mention @deploy-app in Ask Linear

### [Atlassian (Rovo)](/atlassian-installation-instructions)

1. In Atlassian Administration, go to Apps, then Sites, select your site, then Connected apps

2. Choose Add external MCP server, then Custom MCP server - name it AppDeploy, URL `https://api-v2.appdeploy.ai/mcp`

3. Sign in (Google, Apple, or X), keep all tools enabled, then deploy from Rovo Chat

### [Slack](/slack-installation-instructions)

1. In your app at api.slack.com/apps, open Features, then MCP Servers, and click Get Started

2. Name it AppDeploy, URL `https://api-v2.appdeploy.ai/mcp`, Auth Type Dynamic Client Registration

3. DM Slackbot, click the Apps button, toggle on AppDeploy, and sign in (Google, Apple, or X)

### [Muse Code](/muse-code-installation-instructions)

1. Create an API key: `curl -X POST https://api-v2.appdeploy.ai/mcp/api-key -H "Content-Type: application/json" -d '{"client_name": "muse"}'`

2. In `~/.config/muse/settings.json`, add AppDeploy under `mcp_servers`: transport `streamable_http`, URL `https://api-v2.appdeploy.ai/mcp`, and an `Authorization: Bearer` header with your key

3. Start a new Muse Code session - AppDeploy tools load automatically, no browser sign-in

---

## Authentication
This server supports OAuth authentication:

- Sign in with Google

- Sign in with Apple

- Sign in with X

All options provide full access to all tools and features. Signing in with Google, Apple, or X provides a consistent identity across platforms.

---

## MCP Flow
- Call `get_deploy_instructions` to fetch deployment rules and constraints.

- For new apps, call `get_app_template` to fetch templates for frontend-only or frontend+backend apps.

- For updates, discover and inspect the existing app with `get_apps`, `src_glob`, `src_grep`, and `src_read`.

- Build or edit the app locally.

- If needed, use `upload_assets` for local trees, many files, or binary assets.

- Call `deploy_app`.

- Poll `get_app_status` until the deployment reaches `ready` or `failed`.

- If QA, or runtime issues appear, inspect status details, call `get_e2e_qa_run_details` when tests failed, fix, and redeploy.

- Use `get_app_versions` and `apply_app_version` to roll back to a prior version.

- Use `delete_app` only on explicit user request.

---

## QA and TDD Workflow

AppDeploy uses a test-driven development (TDD) workflow for AI-built apps. The coding agent should define the expected behavior before implementation, write the tests first, and then write the code to satisfy them. AppDeploy instructs coding agents to follow this workflow as part of the deployment process.

After deployment, AppDeploy runs autonomous black-box end-to-end QA against the live app. QA validates the deployed application from the outside, the way a real user would, and returns results through `get_app_status`, including QA snapshots, runtime errors, and related QA feedback.

### Coding, deployment, and QA loop

1. Define the expected behavior of the app.

2. Write tests for the core application behaviors and user flows before implementation.

3. Implement the app code to satisfy those tests.

4. Deploy with `deploy_app`.

5. Poll `get_app_status` until the deployment reaches `ready` or `failed`.

6. If the deployment failed, inspect the runtime errors, fix the issue, and redeploy.

7. If the deployment is ready, review the QA snapshot, runtime errors, and any returned QA feedback.

8. If QA fails, fix the code, redeploy, and check `get_app_status` again.

9. If needed, use `get_app_versions` and `apply_app_version` to roll back to a prior version.

### What black-box QA means

Black-box QA validates the deployed app from the outside. It clicks, types, navigates, and verifies outcomes in the running application instead of relying only on the coding agent's internal assumptions.

This is especially important for AI-built apps, where the same coding agent that wrote the implementation should not be the final authority on whether the live app actually works.

For a deeper explanation of why AppDeploy uses this approach, see the [QA agents blog post](/blog/testing-ai-built-apps).

---

## Tools

### Read-only tools

#### get_deploy_instructions
Returns deployment guidelines and required file rules.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### get_app_template
Returns templates for frontend-only and frontend+backend apps.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### get_appdeploy_sdk_reference
Returns per-feature AppDeploy SDK reference material.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### get_app_status
Returns deployment state, live URL when available, validation feedback, QA status, runtime errors, logs, and cron summaries.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### get_e2e_qa_run_details
Returns detailed information for a failed E2E QA run.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### get_app_versions
Lists deployable versions for an app.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### src_glob
Lists files in the deployed snapshot.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### src_grep
Searches deployed snapshot contents.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### src_read
Reads a file from the deployed snapshot.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### get_apps
Lists apps owned by the current user.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### get_custom_domain_instructions
Returns custom-domain setup guidance and current status.

Annotations

- *readOnlyHint*: true

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

### Write tools

#### deploy_app
Creates or updates an app deployment.

Annotations

- *readOnlyHint*: false

- *idempotentHint*: false

- *destructiveHint*: true

- *openWorldHint*: true

#### upload_assets
Creates a one-time upload ticket for binary assets, large resources, or local project trees before deploying; widget mode can also resolve or apply uploaded resources.

Annotations

- *readOnlyHint*: false

- *idempotentHint*: true

- *destructiveHint*: false

- *openWorldHint*: false

#### apply_app_version
Re-deploys an existing app at a specific version.

Annotations

- *readOnlyHint*: false

- *idempotentHint*: true

- *destructiveHint*: true

- *openWorldHint*: true

#### delete_app
Permanently deletes an app. Use only on explicit user request.

Annotations

- *readOnlyHint*: false

- *idempotentHint*: false

- *destructiveHint*: true

- *openWorldHint*: true

#### configure_custom_domain
Adds, verifies, or deletes a custom domain configuration for an existing app.

Annotations

- *readOnlyHint*: false

- *idempotentHint*: false

- *destructiveHint*: true

- *openWorldHint*: true

---

## What You Can Build
Copy-paste these prompts to your AI assistant to deploy working apps.

### Static Site

> Create a tribute page for Richard Feynman. Include his portrait image, a brief biography, his Nobel Prize work in quantum electrodynamics, and a section highlighting his key contributions to physics. Add links to his famous lectures and books.

### Frontend App

> Build a Pomodoro timer app with 25-minute work sessions and 5-minute breaks. Include start, pause, and reset buttons. Play a notification sound when the timer ends. Show the current session count.

### Multiplayer Game

> Create a two-player Tic-Tac-Toe game. Players alternate between X and O. Highlight the winning combination when someone wins. Show whose turn it is and include a reset button to start a new game.

### File Upload App

> Build an image gallery app where I can upload images, view them in a grid, click to see them full-size in a modal, and delete images I no longer want.

See more examples in the [gallery](/gallery).

---

## Limits

AppDeploy currently operates under a **fair use policy**. Concrete limits will be introduced in the future.

---

## Troubleshooting

- **Can't connect?** Verify the MCP URL is correct: `https://api-v2.appdeploy.ai/mcp`

- **Connected but tools don't work?** Confirm you're authenticated. Disconnect and reconnect to refresh the authentication token.

- **Deployment stuck in `deploying`?** Check status again after a short wait. Large apps can take a minute or two.

- **App shows a blank page?** Ask your AI assistant to check for deployment errors and runtime errors.

- **App doesn't work properly?** Describe the exact behavior and have your AI assistant call `get_app_status` to inspect the QA snapshot and runtime errors, then fix and redeploy.

---

## Changelog

Version history and release notes are available on the [changelog page](/changelog).

---

## Support
Email: [support@appdeploy.ai](mailto:support@appdeploy.ai)
