Deploy an app
deploy_appDeploys the files and returns the app's URL. With a connected fuast account it creates a new private app in the person's workspace, or updates the app named in app. Without an account it deploys a temporary preview and returns preview_url, claim_url and edit_token: give the person claim_url so they can make the app theirs, and pass edit_token to later calls to keep working on it. Send every file each time; use update_app_files to change a few. A failed build returns diagnostics with file and line and deploys nothing.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"files": "<files>"
},
"name": "deploy_app"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Slug of an existing app in the connected account to update. Leave out to create a new app. | |
| name | No | Name of a new app. Its address is derived from it. Ignored when updating an app. | |
| files | Yes | The whole app as {"relative/path": "file content"}. server/index.ts and client/index.tsx are required. Text files only (.ts .tsx .js .jsx .mjs .json .md .svg .txt .css .html). | |
| edit_token | No | To update a preview that was deployed without an account: the edit_token that deploy returned. | |
| delete_tables | No | Only when a deploy was refused because the new schema drops tables that hold rows: repeat each table with the exact row count from that error to confirm deleting it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| name | No | ||
| slug | Yes | ||
| limits | No | ||
| created | No | ||
| manifest | No | ||
| claim_url | No | ||
| deploy_id | Yes | ||
| trust_url | No | ||
| unclaimed | Yes | ||
| edit_token | No | ||
| expires_at | No | ||
| next_steps | Yes | ||
| restricted | No | ||
| visibility | No | ||
| preview_url | No | ||
| trust_command | No | ||
| restricted_hint | No |