AppDeploy MCP Server

AppDeploy is a chat-native deployment platform - deploy web apps directly from ChatGPT, Claude, Cursor, or Codex 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

App Directory (once the app is available)

  1. Visit your platform's App Directory:
  2. Find and connect to AppDeploy
  3. Complete OAuth authentication when prompted

Manual Setup

Claude (Web / Desktop)

Go to Settings → Connectors → Add custom connector

ChatGPT

Go to Settings → Apps → Advanced settings → Enable Developer mode → Create app

Name:

AppDeploy

Codex

Run in terminal:

codex mcp add AppDeploy --url https://api-v2.appdeploy.ai/mcp

Cursor

One-click install: Install in Cursor


Authentication

This server supports OAuth authentication:

  • Sign in with Google
  • Sign in with Apple
  • Sign in with X
  • Continue as Guest

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.


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.


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.


Support

Email: support@appdeploy.ai