AppDeploy
@AppDeploy
The dataLayer stub queues events immediately; the heavy gtag.js script
loads on first user interaction or after idle (whichever comes first). --><script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-RB89VQ96HP');
(function(){
var loaded = false;
function loadGA(){
if (loaded) return;
loaded = true;
var s = document.createElement('script');
s.src = 'https://www.googletagmanager.com/gtag/js?id=G-RB89VQ96HP';
s.async = true;
document.head.appendChild(s);
['click','scroll','keydown','touchstart'].forEach(function(e){
document.removeEventListener(e, loadGA, {capture:true});
});
}
['click','scroll','keydown','touchstart'].forEach(function(e){
document.addEventListener(e, loadGA, {capture:true, passive:true});
});
if (typeof requestIdleCallback === 'function') {
requestIdleCallback(loadGA, {timeout:1500});
} else {
setTimeout(loadGA, 1500);
}
})();
</script><!-- Preload critical fonts --><link rel="preload" href="/fonts/inter-latin-400-normal.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-latin-600-normal.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-latin-700-normal.woff2" as="font" type="font/woff2" crossorigin><link rel="stylesheet" href="/_astro/index.Crvt1Ep-.css">
menu.addEventListener('transitionend', function onEnd() {
menu.removeEventListener('transitionend', onEnd);
if (!shouldManageKeyboardFocus) {
menu.focus();
return;
}
var closeBtn = menu.querySelector('[aria-label="Close menu"]');
if (closeBtn) closeBtn.focus();
});
} function closeMobileMenu(event, fromKeyboard) { var menu = document.getElementById('mobile-menu'); menu.classList.add('translate-x-full'); menu.setAttribute('inert', ''); var toggle = document.getElementById('menu-toggle'); toggle.setAttribute('aria-expanded', 'false'); document.body.style.overflow = '';
if (fromKeyboard === true || isKeyboardClick(event)) {
toggle.focus();
}
} function toggleResourcesDropdown(skipFocus) { var panel = document.getElementById('resources-panel'); var btn = panel.previousElementSibling || document.querySelector('#resources-dropdown button'); var isOpen = panel.classList.contains('resources-open'); var links = panel.querySelectorAll('a'); if (isOpen) { panel.classList.remove('resources-open', 'opacity-100', 'pointer-events-auto'); panel.classList.add('opacity-0', 'pointer-events-none'); btn.setAttribute('aria-expanded', 'false'); links.forEach(function(a) { a.setAttribute('tabindex', '-1'); }); } else { panel.classList.add('resources-open', 'opacity-100', 'pointer-events-auto'); panel.classList.remove('opacity-0', 'pointer-events-none'); btn.setAttribute('aria-expanded', 'true'); links.forEach(function(a) { a.removeAttribute('tabindex'); }); if (!skipFocus) { var firstLink = links[0]; if (firstLink) firstLink.focus(); } } } document.addEventListener('click', function(e) { var dropdown = document.getElementById('resources-dropdown'); var panel = document.getElementById('resources-panel'); if (dropdown && panel && !dropdown.contains(e.target) && panel.classList.contains('resources-open')) { toggleResourcesDropdown(); } }); document.addEventListener('keydown', function(e) { if (e.key !== 'Escape') return; if (!document.getElementById('mobile-menu').classList.contains('translate-x-full')) { closeMobileMenu(undefined, true); return; } var panel = document.getElementById('resources-panel'); if (panel && panel.classList.contains('resources-open')) { toggleResourcesDropdown(); document.querySelector('#resources-dropdown button').focus(); } }); var rdDropdown = document.getElementById('resources-dropdown'); rdDropdown.addEventListener('mouseenter', function() { var panel = document.getElementById('resources-panel'); if (!panel.classList.contains('resources-open')) { toggleResourcesDropdown(true); } }); rdDropdown.addEventListener('mouseleave', function() { var panel = document.getElementById('resources-panel'); if (panel.classList.contains('resources-open')) { toggleResourcesDropdown(true); } }); document.getElementById('mobile-menu').addEventListener('keydown', function(e) { if (e.key !== 'Tab') return; var focusable = this.querySelectorAll('a[href], button, [tabindex]:not([tabindex="-1"])'); if (!focusable.length) return; var first = focusable[0], last = focusable[focusable.length - 1]; var active = document.activeElement;
if (active === this) {
e.preventDefault();
(e.shiftKey ? last : first).focus();
} else if (e.shiftKey && active === first) {
e.preventDefault();
last.focus();
} else if (!e.shiftKey && active === last) {
e.preventDefault();
first.focus();
}
});
Deploy real apps, not just static landing pages
Everything you need to go from idea to live product, without leaving the chat.
From Chat to Live
You describe it, your AI builds it, and AppDeploy puts it online in seconds. No file uploads required.
No Setup Headaches
Forget about servers, DNS, or complex deployment steps. No manual deployment steps.
Share Instantly
Get a real, secure URL you can send to friends, investors, or customers immediately.
How it works
Three quick steps to go live.
- 1
Connect AppDeploy to your favorite agent (ChatGPT, Claude, Cursor, or Codex).
- 2
Describe what you want to build in natural language.
- 3
AppDeploy builds, deploys, and returns a live URL you can share instantly.
From idea to live link
One connection. Your agent builds. AppDeploy launches.
Connect in Seconds
Pick your platform, follow the steps, and you're live.
- 1. Click your name (bottom left) → Settings → Connectors
- 2. Click Add custom connector at the bottom of the page
- 3. Fill in,
Name:
AppDeploy Remote MCP server URL:
https://api-v2.appdeploy.ai/mcp - 1. Open chatgpt.com in your browser
- 2. Click your name (bottom left) → Settings → Apps → Advanced settings
- 3. Enable Developer mode (BETA)
- 4. Click Create app and fill in,
Name:
AppDeploy MCP Server URL:
https://api-v2.appdeploy.ai/mcp - 5. It's recommended to select GPT-5.1 Thinking model
One-click install:
Install in CursorRun in terminal:
codex mcp add AppDeploy --url https://api-v2.appdeploy.ai/mcp Run in terminal:
claude mcp add --transport http AppDeploy https://api-v2.appdeploy.ai/mcp - 1. Click the
...menu in the Agent pane → MCP Servers → Manage MCP Servers - 2. Click View raw config and paste:
{
"mcpServers": {
"AppDeploy": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api-v2.appdeploy.ai/mcp"
]
}
}
} - 3. Save and click Refresh
Now you can try out the following prompt and get your first chat-native app:
Build and @AppDeploy a Hello World page with a global visitor counter AppDeploy is free to try. Some platforms require a paid plan for MCP connectors.
Need help? Contact support
Frequently Asked Questions
(Twitter)
Server Config
{
"mcpServers": {
"AppDeploy": {
"url": "https://api-v2.appdeploy.ai/mcp"
}
}
}