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)
- Visit your platform's App Directory:
- ChatGPT: chatgpt.com/apps
- Claude: claude.ai/connectors
- Find and connect to AppDeploy
- Complete OAuth authentication when prompted
Manual Setup
ChatGPT
Go to Settings → Apps → Advanced settings → Enable Developer mode → Create app
Name:
AppDeploy
MCP Server URL:
https://api-v2.appdeploy.ai/mcp
Codex
Run in terminal:
codex mcp add AppDeploy --url https://api-v2.appdeploy.ai/mcpCursor
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_instructionsto fetch deployment rules and constraints. - For new apps, call
get_app_templateto fetch templates for frontend-only or frontend+backend apps. - For updates, discover and inspect the existing app with
get_apps,src_glob,src_grep, andsrc_read. - Build or edit the app locally.
- If needed, use
upload_assetsfor local trees, many files, or binary assets. - Call
deploy_app. - Poll
get_app_statusuntil the deployment reachesreadyorfailed. - If QA, or runtime issues appear, inspect status details, call
get_e2e_qa_run_detailswhen tests failed, fix, and redeploy. - Use
get_app_versionsandapply_app_versionto roll back to a prior version. - Use
delete_apponly 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
- Define the expected behavior of the app.
- Write tests for the core application behaviors and user flows before implementation.
- Implement the app code to satisfy those tests.
- Deploy with
deploy_app. - Poll
get_app_statusuntil the deployment reachesreadyorfailed. - If the deployment failed, inspect the runtime errors, fix the issue, and redeploy.
- If the deployment is ready, review the QA snapshot, runtime errors, and any returned QA feedback.
- If QA fails, fix the code, redeploy, and check
get_app_statusagain. - If needed, use
get_app_versionsandapply_app_versionto 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
Frontend App
Multiplayer Game
File Upload App
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_statusto 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