AppDeploy
AppDeploy lets you deploy real web apps directly from ChatGPT or Claude and get a live URL in minutes.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data
What it can do
- Get Deploy Instructions: Use this first when the user wants to deploy, publish, or update a website or web app and get a public URL. You must call this tool before starting to design or generate any c
- Get App Template: Call get_deploy_instructions first. Then call this once you've decided app_type and frontend_template. Returns starter files, deploy contract, and next steps for a new app. The retur
- Get Appdeploy Sdk Reference: Returns per-feature SDK reference: types, rules, and examples for the requested platform capabilities. Treat this as the implementation contract for those features and rev
What data it sees
Do you need an account
No: the server works without sign-in
AppDeploy lets you deploy real web apps directly from ChatGPT or Claude and get a live URL in minutes. Skip setup screens and hosting decisions: AppDeploy handles managed hosting plus the essentials your app needs, including databases, authentication, storage, background jobs, real time updates, and secrets. It also adds autonomous end-to-end QA, visual bug reports sent back into chat, instant rollbacks, and logs so you can iterate fast with confidence. Install once in your preferred agent or editor, then deploy by describing what you want.
Server tool list (21)
Raw names from tools/list. Only developers need these.
| get_deploy_instructions | Use this first when the user wants to deploy, publish, or update a website or web app and get a public URL. You must call this tool before starting to design or generate any code. This tool returns instructions only and does not deploy anything. |
| get_app_template | Call get_deploy_instructions first. Then call this once you've decided app_type and frontend_template. Returns starter files, deploy contract, and next steps for a new app. The returned files are the baseline that deploy_app will diff against. Next, call get_appdeploy_sdk_reference with the same features for SDK types, rules, and code reference. |
| get_appdeploy_sdk_reference | Returns per-feature SDK reference: types, rules, and examples for the requested platform capabilities. Treat this as the implementation contract for those features and review it before writing files that use them. Backend features resolve api automatically when router/transport infrastructure is required. |
| upload_assets | Use this before deploy_app whenever you need to send binary assets/resources or many files. Prefer this whenever the source of truth already exists as local files or a local project tree, especially for multiple files or whole-file replacements. This is the required path for images, backgrounds, icons, fonts, PDFs, media, archives, and other file assets you want deployed. Prepare local files and the upload manifest first. Call upload_assets only when you can upload immediately. If the upload_url expires before use or the upload fails because it expired, call upload_assets again to get a fresh upload_url and upload_id. PUT multipart/form-data to the returned upload_url: a 'payload' part (JSON manifest with text file changes/diffs and deletePaths) plus binary files named by app-relative path. The upload manifest carries all text changes and diffs plus deletePaths. After upload succeeds, call deploy_app with upload_id only. Do not also send files[] or deletePaths[]; those changes belong in the upload manifest. Never base64-encode binary assets into deploy_app. |
| deploy_app | Deploy or update a website or web app to get a public URL. Text files only in files[]. files[] must be a JSON array, even for one file. Example: files: [{"filename":"src/App.tsx","content":"..."}]. Never pass a bare string or a single file object. Use files[] for inline text edits and diffs, not for copying large existing local file contents into tool params. Never inline or base64-encode binary assets/resources in files[]; use upload_assets first for images, fonts, media, PDFs, archives, and other client-supplied file assets, then pass upload_id. Inline deploy_app text payloads MUST be compact. For JavaScript/TypeScript/JSX/TSX string literals, use single quotes wherever valid. Keep inline HTML/CSS/JS/TS diff from/to values single-line wherever valid; do not include newline characters unless required for valid syntax. Template files from get_app_template are auto-included as the baseline — use diffs[] to modify them, content only for entirely new files. New apps: set app_id to null, provide app_name, description, app_type, frontend_template, and features. Updates: provide existing app_id, features, and either changed files/deletePaths or upload_id. If upload_id is provided, do not also send files[] or deletePaths[]; the upload manifest owns all text changes, diffs, and delete operations. Rules: do not add @appdeploy/client or @appdeploy/sdk to package.json (platform-injected). SPAs must use HashRouter. Frontend must never import @appdeploy/sdk; backend must never import @appdeploy/client. Frontend must use api from @appdeploy/client for backend calls, never fetch() or axios. If frontend realtime is used, @appdeploy/client websocket usage is ws.connect() only; do not call ws.subscribe/ws.publish/ws.send directly on ws. After deploy, poll get_app_status every 5s until status is 'ready' or 'failed'. If get_app_status returns QA/e2e/runtime errors, attempt automatic fixes and redeploy up to 3 times before asking the user for guidance. |
| get_app_status | Use this when deploy_app returns, when checking deployment status, or when the app has errors or is not working as expected. Returns deployment status, e2e test status, QA snapshot, and frontend/backend error logs; treat deployed_and_testing status as non-final, always inspect QA/errors, and call get_e2e_qa_run_details if e2e tests fail. |
| get_e2e_qa_run_details | Use this when investigating a failed e2e QA run right after get_app_status reports e2e_tests.status='failed'. Returns the QA transcript, structured results, trace and replay URLs, and debugging keys_prefix. |
| delete_app | Use this when you want to permanently delete an app. Use only on explicit user request. This is irreversible; after deletion, status checks will return not found. |
| get_app_versions | List deployable versions for an existing app. Requires app_id. Returns newest-first {name, version, timestamp} items. Use 'version' with apply_app_version, treat 'name' as human-facing metadata, and convert timestamps to the user's local time when presenting them. |
| apply_app_version | Start deploying an existing app at a specific version. Use the 'version' value from get_app_versions, then poll get_app_status until deployment reaches a terminal status. |
| create_secret_entry | Create a one-time pre-authorized browser link so the user can submit a backend secret value outside chat without an extra login step. The returned secret_entry_url should be opened in a new tab. In terminal or CLI clients, present the full raw URL in plain text instead of a markdown link label. |
| get_secret_entry_status | Poll the lifecycle state of a one-time secret entry link after the user opens the browser page and submits the value. |
| set_app_secrets | Attach one or more submitted secret entry ids to an existing app. Reusing a secret name replaces the stored value for that app. |
| list_app_secrets | List backend secret names currently configured for an existing app. Values are never returned. |
| delete_app_secrets | Delete one or more backend secret names from an existing app. Missing names are ignored. |
| src_glob | Use this when you need to discover files in an app's source snapshot. Returns file paths matching a glob pattern (no content). Useful for exploring project structure before reading or searching files. |
| src_grep | Use this when you need to search for patterns in an app's source code. Returns matching lines with optional context. Supports regex patterns, glob filters, and multiple output modes. |
| src_read | Use this when you need to read a specific file from an app's source snapshot. Returns file content with line-based pagination (offset/limit). Handles both text and binary files. |
| get_apps | List apps owned by the current user. Use this to discover app_id values and app metadata before calling get_app_status, deploy_app, delete_app, or the source snapshot tools. |
| get_custom_domain_instructions | Use this when you need setup guidance or to check the current custom domain status for an app. Returns configured hostnames, DNS instructions, stage proxy targets, fallback IPv4 addresses, and next steps. |
| configure_custom_domain | Use this when you need to manage a custom domain for an existing app, including adding a hostname, verifying DNS, or deleting it. |