webstudio-ai-agent
Allows integration of Radix UI components into Webstudio projects, including dialogs, popups, and other UI elements.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@webstudio-ai-agentAdd a new hero section to my landing page with a call-to-action button"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Webstudio AI Agent & Local MCP Toolkit
A full-fledged autonomous bridge for AI agents (Antigravity, Cursor, Claude Code, Windsurf) that unlocks 100% of Webstudio MCP capabilities locally without any tariff restrictions, API limits, or access errors.
π The main problem and the solution
Typical work via Cloud API | Our autonomous bridge (Local MCP + Cloud Push) |
β Blocked on free tiers ( | β 100% free and without limits |
β Requires paid API keys | β
Works offline directly with |
β Slow (dozens of network HTTP requests) | β Instant generation (<500ms) thanks to Immer transactions |
β Limited functionality | β Full support for JSX, Radix UI, Animation Groups, Tokens, Collections |
Related MCP server: Vibe Coder MCP Server
ποΈ Architecture (How it works)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI CODING ASSISTANT β
β (Google Antigravity, Cursor, Claude Code) β
βββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LOCAL WEBSTUDIO MCP RUNTIME β
β (70+ Official MCP Tools: insert-fragment, etc.) β
βββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β (Fast Immer Local Mutation)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LOCAL PROJECT SOURCE OF TRUTH β
β .webstudio/data.json & .webstudio/assets/ β
βββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β
βΌ webstudio import --to "<shareLink>"
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WEBSTUDIO CLOUD BUILDER β
β (ΠΠΈΡΡΡΠ²Π΅ Π²ΡΠ΄ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² Ρ
ΠΌΠ°ΡΡ) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ‘ Installation (2 options to choose from)
Option A: Locally in the project (Recommended, isolated)
# 1. ΠΡΡΠ°Π½ΠΎΠ²ΡΡΡ Webstudio Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π² ΠΏΡΠΎΠ΅ΠΊΡ
npm i webstudio
# 2. ΠΠ°ΠΏΡΡΡΡΡΡ ΠΏΠ°ΡΡΠ΅Ρ
node scripts/setup-local-mcp.mjs --local
# 3. ΠΠ°Π²Π°Π½ΡΠ°ΠΆΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ· Ρ
ΠΌΠ°ΡΠΈ
npx webstudio sync --link "<shareLink>"
# 4. ΠΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ MCP-ΡΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π΄Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ
npx webstudio mcp single-op-call list-pages "{}"
# 5. ΠΡΠ΄ΠΏΡΠ°Π²ΡΠ΅ ΠΎΠ½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ Ρ Ρ
ΠΌΠ°ΡΡ
npx webstudio import --to "<shareLink>"Option B: Globally on the computer (Once for all projects)
# 1. ΠΡΡΠ°Π½ΠΎΠ²ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ
npm i -g webstudio
# 2. ΠΠ°ΠΏΡΡΡΡΡΡ ΠΏΠ°ΡΡΠ΅Ρ
node scripts/setup-local-mcp.mjs
# 3. ΠΠ°Π²Π°Π½ΡΠ°ΠΆΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ· Ρ
ΠΌΠ°ΡΠΈ
webstudio sync --link "<shareLink>"
# 4. ΠΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ MCP-ΡΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π΄Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ
webstudio mcp single-op-call list-pages "{}"
# 5. ΠΡΠ΄ΠΏΡΠ°Π²ΡΠ΅ ΠΎΠ½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ Ρ Ρ
ΠΌΠ°ΡΡ
webstudio import --to "<shareLink>"π οΈ How to use
1. Use with AI assistants (Antigravity / Cursor / Claude Code)
Just open any Webstudio project in your editor.
The AGENTS.md and .agents/skills/webstudio-ai-designer/SKILL.md files automatically explain all commands and generation rules to the AI assistant!
2. MCP command examples:
π Reading pages and elements:
webstudio mcp single-op-call list-pages "{}"
webstudio mcp single-op-call list-instances '{"pagePath":"/services"}'
webstudio mcp single-op-call list-design-tokens "{}"π¨ Adding sections via JSX (insert-fragment):
Create payload.json:
{
"parentInstanceId": "<parent-instance-id>",
"fragment": "<ws.element ws:tag='section' ws:tokens={[token('token-card', css`background: #fff; padding: 32px; border-radius: 16px;`)]} ws:style={css`display: flex; gap: 24px; @media (max-width: 767px) { flex-direction: column; }`}><ws.element ws:tag='h2'>ΠΠ°Π·Π²Π° Π‘Π΅ΠΊΡΡΡ</ws.element></ws.element>"
}Run:
webstudio mcp single-op-call insert-fragment --input-file payload.jsonπ Dynamic collections from a JSON resource:
Creating a data variable:
webstudio mcp single-op-call create-variable --input-file pricing_data.jsonConnecting a dynamic collection:
webstudio mcp single-op-call insert-collection --input-file collection.jsonπͺ Native Radix UI components (Dialog / Popups):
<radix.Dialog>
<radix.DialogTrigger>
<ws.element ws:tag='button'>ΠΡΠ΄ΠΊΡΠΈΡΠΈ ΠΠΎΠΏΠ°ΠΏ</ws.element>
</radix.DialogTrigger>
<radix.DialogOverlay ws:style={css`position: fixed; inset: 0; background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center;`}>
<radix.DialogContent ws:style={css`background: #fff; border-radius: 20px; padding: 32px; max-width: 500px;`}>
<$.Box>
<radix.DialogTitle>ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΠΎΠΏΠ°ΠΏΡ</radix.DialogTitle>
<radix.DialogDescription>ΠΠΏΠΈΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΊΠ½Π°</radix.DialogDescription>
</$.Box>
<radix.DialogClose>β</radix.DialogClose>
</radix.DialogContent>
</radix.DialogOverlay>
</radix.Dialog>π¬ Native Webstudio Animation Groups (<animation.AnimateChildren>):
{
"updates": [
{
"instanceId": "<animation-instance-id>",
"name": "action",
"type": "animationAction",
"value": {
"type": "view",
"animations": [
{
"timing": {
"duration": { "type": "unit", "value": 800, "unit": "ms" },
"rangeStart": { "type": "unit", "value": 10, "unit": "%" },
"easing": "ease-out",
"fill": "backwards"
},
"keyframes": [
{ "offset": 0, "styles": { "opacity": "0", "transform": "translateY(40px)" } },
{ "offset": 1, "styles": { "opacity": "1", "transform": "translateY(0px)" } }
]
}
]
}
}
]
}βοΈ Synchronization to Webstudio Cloud
When you finish generating or editing pages, sync the entire project to the cloud with a single command:
webstudio import --to "https://apps.webstudio.is/builder/<projectId>?authToken=<token>"π License
This project is distributed under the MIT license.
Author: R0STEFAN
This server cannot be deployed
Maintenance
Related MCP Connectors
Let your AI agent build, preview and update web apps, download source and publish when you allow it.
Build, validate, deploy β HTTP APIs, cron jobs, webhooks and MCP tools β from your AI client.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Edit and publish your FramerToNextJS sites (converted Framer or AI-built) from Claude, Cursor or Codex. 19 tools: read pages, rewrite copy, restyle elements, add sections and pages, design Studio sites, manage CMS collections and items, then publish to your own host. OAuth with a read-only option, and MCP runs no model on FNJ's side. Requires an FNJ plan (Lifetime or any AI builder plan).
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceConnects MCP-compatible AI clients and agents to one durable Project Brain plus controlled access to authorized project folders on your own machine. Enables file editing, terminal and Git operations, project intelligence, browser automation, and local MCP server federation, all scoped to explicit workspace grants.25 npmApache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to research topics, map and analyze codebases across 35+ languages, curate project context, and generate PRDs, user stories, task lists, and fullstack starter projects. It also supports multi-step workflow execution and AI-native task management through a CLI, interactive REPL, or MCP client integration.19 npmMIT
- AlicenseNot gradedqualityBmaintenanceConnects any local code project to any AI client over MCP, letting the assistant read files, edit code, run commands, tests, builds, and dev servers. Automatic checkpoints and one-command undo let users roll back any AI-made change.2,078 npmMIT
- AlicenseNot gradedqualityAmaintenanceExposes a governed suite of 38 OAuth-gated tools over one MCP endpoint, letting web-based AI chat clients read and edit files, run whitelisted shell commands, search, and use Git, SQLite, browser automation, DevTools, background tasks, ports, clipboard, notifications, and localhost services on the user's own machine. It also allows local IDEs and automation tools to connect directly over localhost for offline, low-latency access.MIT