Build a working web app from a prompt, then deploy it to a live URL.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <your PromptUI API key>. Copy it from Dashboard -> Settings; it starts with pui_. Builds and deploys spend credits on the account that owns the key.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Build a working web app from a prompt with PromptUI. Starts an asynchronous build (costs credits from the authenticated account) and returns a buildId — poll get_build_status for progress and the preview link.
What to build, in plain language
Build mode: 'quality' (default) or 'fast'
Output framework: 'react-spa' (default) or 'nextjs-app'
Set to true only after the user has explicitly approved this exact write or credit-spending action.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Build a working web app from a prompt with PromptUI. Starts an asynchronous build (costs credits from the authenticated account) and returns a buildId — poll get_build_status for progress and the preview link.
| Argument | Type | Description |
|---|---|---|
| mode | string | Build mode: 'quality' (default) or 'fast' |
| prompt* | string | What to build, in plain language |
| framework | string | Output framework: 'react-spa' (default) or 'nextjs-app' |
| _confirmed | boolean | Set to true only after the user has explicitly approved this exact write or credit-spending action. |
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"mode": {
"type": "string",
"default": "quality",
"description": "Build mode: 'quality' (default) or 'fast'"
},
"prompt": {
"type": "string",
"description": "What to build, in plain language"
},
"framework": {
"type": "string",
"default": "react-spa",
"description": "Output framework: 'react-spa' (default) or 'nextjs-app'"
},
"_confirmed": {
"type": "boolean",
"default": false,
"description": "Set to true only after the user has explicitly approved this exact write or credit-spending action."
}
},
"additionalProperties": false
}Deploy a completed PromptUI build to a live URL. The first deploy of each app is charged; redeploying that same app is free. If publishing a new app needs a plan, the tool returns how to start the Build free trial instead of deploying.
| Argument | Type | Description |
|---|---|---|
| buildId* | string | The buildId of a completed build |
| _confirmed | boolean | Set to true only after the user has explicitly approved this exact write or credit-spending action. |
{
"type": "object",
"required": [
"buildId"
],
"properties": {
"buildId": {
"type": "string",
"description": "The buildId of a completed build"
},
"_confirmed": {
"type": "boolean",
"default": false,
"description": "Set to true only after the user has explicitly approved this exact write or credit-spending action."
}
},
"additionalProperties": false
}Echo back the input (for testing MCP integration)
| Argument | Type | Description |
|---|---|---|
| message* | string | Message to echo |
{
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"description": "Message to echo"
}
},
"additionalProperties": false
}Check the status of a PromptUI build started with build_app. Returns building / needs_clarification / completed (with a shareable previewUrl) / failed.
| Argument | Type | Description |
|---|---|---|
| buildId* | string | The buildId returned by build_app |
{
"type": "object",
"required": [
"buildId"
],
"properties": {
"buildId": {
"type": "string",
"description": "The buildId returned by build_app"
}
},
"additionalProperties": false
}Generate and persist a new GTM content draft for the authenticated user.
| Argument | Type | Description |
|---|---|---|
| count | number | Number of variants to generate (1-20) |
| channel | string | Delivery channel. One of: x|linkedin|facebook|instagram|youtube|email|web |
| language | string | Optional language |
| appSource | string | promptui | custom session id |
| _confirmed | boolean | Set to true only after the user has explicitly approved this exact write or credit-spending action. |
| campaignId | string | Optional campaign id |
| contentClass | string | Content class. One of: product_led|brand_led|domain_led|offer_led |
| operatorPrompt | string | Optional operator instruction for the generator |
| deliverableType | string | Deliverable type. One of: post|thread|launch_pack|bio|promo_campaign|educational_series|landing_copy|visual_brief|seo_blog_post|seo_landing_page|llms_txt |
Read current PromptUI GTM channel analytics and workspace-scoped verified commerce outcomes. Attribution is reported separately from causality; unavailable spend/cost coverage stays explicit.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List GTM queue items for the authenticated PromptUI user.
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum number of items (default 20, max 100) |
| status | string | Optional status filter: draft|in_review|approved|vetoed|scheduled|published|archived |
| channel | string | Optional channel filter: x|linkedin|facebook|instagram|youtube|email|web |
| campaignId | string | Optional campaign id filter |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 20,
"description": "Maximum number of items (default 20, max 100)"
},
"status": {
"type": "string",
"description": "Optional status filter: draft|in_review|approved|vetoed|scheduled|published|archived"
},
"channel": {
"type": "string",
"description": "Optional channel filter: x|linkedin|facebook|instagram|youtube|email|web"
},
"campaignId": {
"type": "string",
"description": "Optional campaign id filter"
}
},
"additionalProperties": false
}Publish one GTM content item to a connected social platform.
| Argument | Type | Description |
|---|---|---|
| pageId | string | Optional LinkedIn/Facebook page target id |
| igUserId | string | Optional Instagram user id target |
| platform | string | Optional platform override: x|linkedin|facebook|instagram|tiktok |
| contentId* | string | GTM content id to publish |
| _confirmed | boolean | Set to true only after the user has explicitly approved this exact write or credit-spending action. |
{
"type": "object",
"required": [
"contentId"
],
"properties": {
"pageId": {
"type": "string",
"description": "Optional LinkedIn/Facebook page target id"
},
"igUserId": {
"type": "string",
"description": "Optional Instagram user id target"
},
"platform": {
"type": "string",
"description": "Optional platform override: x|linkedin|facebook|instagram|tiktok"
},
"contentId": {
"type": "string",
"description": "GTM content id to publish"
},
"_confirmed": {
"type": "boolean",
"default": false,
"description": "Set to true only after the user has explicitly approved this exact write or credit-spending action."
}
},
"additionalProperties": false
}List the authenticated user's recent PromptUI builds with their statuses.
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum builds to return (default 10, max 50) |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 10,
"description": "Maximum builds to return (default 10, max 50)"
}
},
"additionalProperties": false
}Default action local retrieves the existing adapted components. action search discovers the official shadcn or magicui catalogue; action inspect reads source and bounded dependency/CSS/provenance information, never installs. Official upstream items require compatibility review and are not runtime verified. Get shadcn/ui component code pre-adapted for the Sandpack preview environment. Available components: accordion, dropdown_menu, dialog, sheet, tooltip, progress, separator, scroll_area, skeleton, alert. Returns ready-to-use JS code with correct imports. Use this instead of building complex UI primitives from scratch.
| Argument | Type | Description |
|---|---|---|
| limit | number | Search page size, 1–30 |
| query | string | Catalogue search text; empty lists all items |
| action | string | local (default), search, or inspect |
| offset | number | Search page offset |
| registry | string | shadcn (default) or magicui |
| component | string | Local component or official hyphenated item name. Local: accordion, dropdown_menu, dialog, sheet, tooltip, progress, separator, scroll_area, skeleton, alert |
| tailwindVersion | string | Target Tailwind 3 (default) or 4. MagicUI current source targets 4. |
Research the live web: search for information, read documentation, fetch API references, or verify library usage. Returns structured findings as markdown.
| Argument | Type | Description |
|---|---|---|
| goal* | string | What to research or look up on the web |
| urls | array | Specific URLs to visit (optional — if omitted, will search the web) |
| maxPages | number | Max pages to fetch content from |
{
"type": "object",
"required": [
"goal"
],
"properties": {
"goal": {
"type": "string",
"description": "What to research or look up on the web"
},
"urls": {
"type": "array",
"description": "Specific URLs to visit (optional — if omitted, will search the web)"
},
"maxPages": {
"type": "number",
"default": 5,
"description": "Max pages to fetch content from"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"count": {
"type": "number",
"default": 1,
"description": "Number of variants to generate (1-20)"
},
"channel": {
"type": "string",
"default": "x",
"description": "Delivery channel. One of: x|linkedin|facebook|instagram|youtube|email|web"
},
"language": {
"type": "string",
"description": "Optional language"
},
"appSource": {
"type": "string",
"default": "promptui",
"description": "promptui | custom session id"
},
"_confirmed": {
"type": "boolean",
"default": false,
"description": "Set to true only after the user has explicitly approved this exact write or credit-spending action."
},
"campaignId": {
"type": "string",
"description": "Optional campaign id"
},
"contentClass": {
"type": "string",
"default": "product_led",
"description": "Content class. One of: product_led|brand_led|domain_led|offer_led"
},
"operatorPrompt": {
"type": "string",
"description": "Optional operator instruction for the generator"
},
"deliverableType": {
"type": "string",
"default": "post",
"description": "Deliverable type. One of: post|thread|launch_pack|bio|promo_campaign|educational_series|landing_copy|visual_brief|seo_blog_post|seo_landing_page|llms_txt"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Search page size, 1–30"
},
"query": {
"type": "string",
"description": "Catalogue search text; empty lists all items"
},
"action": {
"type": "string",
"default": "local",
"description": "local (default), search, or inspect"
},
"offset": {
"type": "number",
"description": "Search page offset"
},
"registry": {
"type": "string",
"description": "shadcn (default) or magicui"
},
"component": {
"type": "string",
"description": "Local component or official hyphenated item name. Local: accordion, dropdown_menu, dialog, sheet, tooltip, progress, separator, scroll_area, skeleton, alert"
},
"tailwindVersion": {
"type": "string",
"description": "Target Tailwind 3 (default) or 4. MagicUI current source targets 4."
}
},
"additionalProperties": false
}