add_custom_domain
ChatGPTAttach a new hostname to an existing deployed app in pending DNS state and return DNS setup instructions. Requires dns_mode: subdomain_cname or apex_address. Rejects hostnames that are already registered. After configuring DNS with your provider, call verify_custom_domain to activate routing.
appdeploy_extension_open
ChatGPTOpen the AppDeploy sidebar app.
appdeploy_extension_track_event
ChatGPTRecord an interaction from the authenticated AppDeploy general or onboarding page.
appdeploy_onboarding
ChatGPTShow the AppDeploy onboarding widget when the user runs plugin setup or asks for AppDeploy onboarding.
appdeploy_who_am_i
ChatGPTShow the currently connected AppDeploy user, a page of their apps, subscription and renewal state, remaining monthly credits with their reset date, and available top-up credits with their expiry. Set profile_only to true to read only the connected user without loading other account sections. Use continuation_token to read more apps. Unavailable sections are explicitly marked; do not treat unknown balances as zero. Dates are UTC; convert them to the user's local time when presenting them.
apply_app_version
ChatGPTStart deploying an existing app at a specific version. Use the 'version' value (not 'name') from get_app_versions. Returns true if accepted and deployment started; use get_app_status to observe completion.
configure_custom_domain
ChatGPTUse this when you need to manage a custom domain for an existing app, including adding a hostname, verifying DNS, or deleting it.
create_secret_entry
ChatGPTCreate 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.
delete_app
ChatGPTUse 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.
delete_app_secrets
ChatGPTDelete one or more backend secret names from an existing app. Missing names are ignored.
delete_custom_domain
ChatGPTRemove a hostname mapping from this app, disconnecting the custom domain from AppDeploy routing. Use only when the user asks to remove that domain. The app and its AppDeploy URL remain available; DNS records at the domain provider are unchanged.
deploy_app
ChatGPTUse this when the user asks to deploy or publish a website or web app and wants a public URL. If the user plans to provide large resources later (images/PDF/media/fonts), include resource_requirements with stable target_path placeholders so the widget can request exact files and uploads can resolve those paths. For each resource_requirements slot, ensure type resolution via accept and/or target_path extension so widget placeholders map to the right file type. If user-attached files are intended as resources, do not stream them as base64 in files[]; have the user upload them via the widget Resources flow. If the user attaches a file in chat and asks to use it in the app, treat that file as a widget resource: define deploy_app.resource_requirements, reference the target_path placeholder in code, and use the Resources upload flow. Do not encode or inline the attachment as base64 in deploy_app.files[]. When setting resource_requirements.name, keep labels faithful to user wording and do not invent terms. Do not use components names from the template. Every deploy_app call must include non-empty 'model' and 'intent'. Before generating files or calling this tool, you must call get_deploy_instructions and follow its constraints. After deploy_app starts, keep polling get_app_status every 5 seconds in the same turn until terminal status. Do not hand status polling back to the user. 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
ChatGPTUse 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_app_template
ChatGPTUse this when you need the base app template and SDK types after selecting an app type and frontend template. Requires calling get_deploy_instructions first.
get_app_versions
ChatGPTUse this when you need to list available deployable versions for an existing app. Returns newest-first items with name, version, and timestamp; display the name to users and convert timestamps to local time.
get_appdeploy_sdk_reference
ChatGPTReturns types, rules, and examples for one requested SDK feature plus its dependencies. Input must be { feature: <one enum value> }. Call this after reviewing deploy instructions and before writing code that imports or calls @appdeploy/client or @appdeploy/sdk. Available features: api, realtime, auth, notifications, invites, database, storage, secrets, ai.generate, ai.extract, ai.ocr, ai.classify, ai.scrape, ai.run, ai.image, cron. Choose features by scenario: Use api for standard backend HTTP routes and transport basics; realtime for live cross-client sync and subscriptions; auth for sign-in, user identity, and protected app state; notifications for push delivery and enable/subscribe UX; invites for share links, join codes, and invite lifecycle flows; database for persisted CRUD records; storage for file uploads/downloads and signed URLs; secrets for backend-only credentials or API keys; ai.generate for single generation calls; ai.extract for schema-based structured extraction; ai.ocr for OCR/transcription from images; ai.classify for fixed-label classification; ai.scrape for AI-friendly web page extraction; ai.run for bounded multi-step AI tool loops; ai.image for image generation; cron for scheduled jobs. Call get_appdeploy_sdk_reference once per top-level SDK feature, using the singular feature field with exactly one enum value. Request one top-level SDK feature per call. Do not separately request dependency features; request the highest-level feature and use the dependencies returned with it. Dependency expansion: realtime -> realtime + api + database; auth -> auth + api; notifications -> notifications + api + auth; invites -> invites + api; database -> database + api; storage -> storage + api; secrets -> secrets + api; ai.generate -> ai.generate + api; ai.extract -> ai.extract + api; ai.ocr -> ai.ocr + api; ai.classify -> ai.classify + api; ai.scrape -> ai.scrape + api; ai.run -> ai.run + api; ai.image -> ai.image + api.
get_apps
ChatGPTUse this when you need to list apps owned by the current user. Response also includes a link to the user's web dashboard showing all apps with their details and configurations.
get_custom_domain_instructions
ChatGPTUse 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.
get_deploy_instructions
ChatGPTUse this when you are about to call deploy_app in order to get the deployment constraints and hard rules. You must call this tool before starting to generate any code. This tool returns instructions only and does not deploy anything.
get_e2e_qa_run_details
ChatGPTUse 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.
get_mode_reminder_status
ChatGPTWidget-only helper for the ChatGPT mode reminder. Use this when the AppDeploy reminder widget needs to know whether it is active and whether get_app_template, get_appdeploy_sdk_reference, or deploy_app was called after the latest get_deploy_instructions in this MCP session.
get_secret_entry_status
ChatGPTPoll the lifecycle state of a one-time secret entry link after the user opens the browser page and submits the value.
list_app_secrets
ChatGPTList backend secret names currently configured for an existing app. Values are never returned.
set_app_secrets
ChatGPTAttach one or more submitted secret entry ids to an existing app. Reusing a secret name replaces the stored value for that app.
src_glob
ChatGPTUse 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
ChatGPTUse 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
ChatGPTUse 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.
upload_assets
ChatGPTWidget-only helper for ChatGPT web and Claude web. Creates a one-time upload URL for large binary resources (images/PDF/media/fonts) and binds that upload to this session's widget resource channel.
verify_custom_domain
ChatGPTCheck DNS for a hostname already attached to this app and activate its routing when verification succeeds. Records the verification attempt and returns the current status and next steps. This updates domain state; use get_custom_domain_instructions for a read-only status check.
apply_app_version
Claudeconfigure_custom_domain
Claudecreate_secret_entry
Claudedelete_app
Claudedelete_app_secrets
Claudedeploy_app
Claudeget_app_status
Claudeget_app_template
Claudeget_app_versions
Claudeget_appdeploy_sdk_reference
Claudeget_apps
Claudeget_custom_domain_instructions
Claudeget_deploy_instructions
Claudeget_e2e_qa_run_details
Claudeget_secret_entry_status
Claudelist_app_secrets
Claudeset_app_secrets
Claudesrc_glob
Claudesrc_grep
Claudesrc_read
Claudeupload_assets
Claude