Skip to main content
Glama

πŸš€ 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.

License: MIT Webstudio: Local MCP Node: >=18


🌟 The main problem and the solution

Typical work via Cloud API

Our autonomous bridge (Local MCP + Cloud Push)

❌ Blocked on free tiers (FORBIDDEN)

βœ… 100% free and without limits

❌ Requires paid API keys

βœ… Works offline directly with .webstudio/data.json

❌ 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: OGSync

πŸ—οΈ 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)

# 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:

  1. Creating a data variable:

webstudio mcp single-op-call create-variable --input-file pricing_data.json
  1. Connecting 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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to interact with Roblox Studio via a token-efficient MCP server, live two-way script sync, and zero-friction plugin setup.
    -
  • F
    license
    B
    quality
    C
    maintenance
    A fully local, privacy-first MCP server that gives AI coding assistants deep repository intelligence with file-and-line-cited answers, persistent semantic memory, and agentic abilities like task planning and code reviewβ€”all without any cloud API calls.
    23
    -