swebsy-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SWEBSY_APP_URL | No | Studio origin for the swebsy_start_pairing link (set for local/self-host) | https://studio.swebsy.com |
| SWEBSY_NO_OPEN | No | Set to skip auto-opening the pairing link in the browser | |
| SWEBSY_AGENT_DIR | No | Where screenshots/exports land (default is workspace .swebsy-agent) | .swebsy-agent |
| SWEBSY_AGENT_PORT | No | Port the local relay listens on | 37373 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| swebsy_replace_page_contentA | Replace ALL top-level sections of the CURRENTLY SELECTED page with a generated list of components. This OVERWRITES the page — it does NOT create a new page (use |
| swebsy_create_pageA | Create a NEW blank page in the project and (by default) select it. Returns the new page's id and fileName. The page starts nearly empty — fill it with |
| swebsy_link_pageA | Point an existing link at a project page — the same wiring the UI's 'Link to' picker does. Pass the link's |
| swebsy_update_pageA | Rename a page and/or change its URL slug — the Pages panel's rename. Links that pointed at the old |
| swebsy_duplicate_pageA | Copy a page (content, classes and styles) into a new page and select the copy. Returns the new page's id and fileName. Use it to start a page from an existing layout instead of rebuilding it. |
| swebsy_delete_pageA | Delete a page. The home page (index) and a site's last page can't be deleted. Links to the deleted page are left in place — repoint them with |
| swebsy_add_sectionA | Insert a new section into the current page. Use for adding discrete sections (hero, features, pricing, CTA) to an existing page. Appends to the end by default; to place it somewhere specific, pass |
| swebsy_edit_sectionA | Modify an existing component. By default this edits the selected component. To edit a component identified by |
| swebsy_delete_sectionA | Remove a component from the current page entirely. Use this instead of emptying a section's contents — an emptied section leaves a stray blank div on the page. Deletes the selected component by default; pass |
| swebsy_move_sectionA | Move a component to just before or after another component on the current page — reorder sections, swap columns, lift a CTA above the footer. The component keeps its id, classes and id-styles. ALWAYS use this to reorder; delete + re-add loses the component's styles. |
| swebsy_wrap_sectionA | Wrap a run of sibling components in one new element, optionally with a semantic tag — e.g. put everything between the navbar and footer in |
| swebsy_duplicate_sectionA | Copy a component (with its classes and styles) and insert the copy right after it. Paths after it shift by one — call |
| swebsy_insert_blockA | Insert a pre-built block from the catalog and optionally customize its content. STRONGLY preferred over generating from scratch when a matching block exists. The block re-themes on insert — its colour and font classes resolve against THIS site's theme, so the result is meant to differ from the catalog thumbnail (a screenshot of the block in the template it came from). |
| swebsy_update_settingsB | Update site settings — SEO title/description, site URL, structured data (JSON-LD), per-page SEO overrides, language/direction, theme tokens (light + dark), type scale, animation defaults, Google and uploaded fonts, dark mode toggle, site-wide custom CSS for component-level restyling (globalTheme.customTailwindConfig), favicon, robots.txt/sitemap/service worker/security headers/image optimization (performance), analytics ids, custom head/body code (advanced), the "Made with Swebsy" badge (branding) and the deploy target (deploy). Provide ONLY the fields that change. |
| swebsy_commit_design_directionA | Commit this site to a specific visual direction, and apply it (fonts, type roles, palette swatches). Call this ONCE, BEFORE generating a new site's first page — a site with no committed direction has nothing for later edits to stay consistent with, and the result drifts to generic. Prefer a |
| swebsy_animate_pageA | Apply Swebsy's built-in scroll-reveal animation in one step — a smart, per-section staggered entrance on headings, text, images, buttons, and cards (navbars/footers skipped). Prefer this over hand-placing animate-* classes whenever the user asks to animate the page or site, or wants a consistent reveal. |
| swebsy_read_pageA | Read the current page structure and addressable component target paths. Call this BEFORE editing a named or relative page component that is not the current selection. The default |
| swebsy_get_skillA | Load deep, on-demand guidance for a specific area before acting on it (e.g. before adding animations, composing a new page, writing copy, building forms, editing the nav, or reusing components with symbols). Returns the full instructions for that skill. |
| swebsy_start_pairingA | Start a pairing session. Returns a single-use |
| swebsy_statusA | Report bridge status, siteName, selected page, and editorReady, plus a short theme summary (fonts, default color mode, brand colors). After creating or opening a site, wait until editorReady is true and siteId matches the expected site before editing. |
| swebsy_list_pagesA | List the project's pages (id, name, fileName, section count, which one is selected). Call this instead of guessing a page name for select_page or link_page. |
| swebsy_list_templatesA | Refresh and list installed site templates with names, descriptions, tags, fonts, preview URLs, and thumbnail URLs. Works from Home or Studio. |
| swebsy_create_siteA | Create a site and open it in Studio. Omit templateId for Swebsy's standard blank site; provide an installed template ID to import that template unchanged. Then poll swebsy_status until editorReady is true and siteId matches before editing. |
| swebsy_list_sitesA | List saved sites newest-first as metadata only: IDs, internal names, status, timestamps, template ID, page count, and whether each site is open. |
| swebsy_open_siteA | Open a saved site by ID in the paired tab and return its metadata. Idempotent if it is already open. Poll swebsy_status for the expected siteId and editorReady before editing. |
| swebsy_rename_siteA | Rename a saved site's internal Studio/Home name. This does not change its SEO or public title settings. |
| swebsy_select_pageC | Select a page in the connected Studio project. |
| swebsy_read_selectionA | Read the currently selected component (type, classes, attributes, text). Secrets are never surfaced. |
| swebsy_list_symbolsA | List the project's SYMBOLS (reusable components that stay in sync across every page). Returns each symbol's id, name, component type, instance count, and how many pages use it, plus a |
| swebsy_promote_to_symbolA | Promote an existing component into a reusable SYMBOL so it can be shared, in sync, across pages. Pass its |
| swebsy_add_symbol_instanceA | Add a linked INSTANCE of an existing symbol (see list_symbols) to the CURRENT page. The instance stays in sync with the symbol main and every other instance — the way to reuse one navbar/footer/CTA across pages. Select the target page with select_page first. |
| swebsy_detach_symbolA | Turn ONE symbol instance on the current page back into a plain component, so it can be edited on its own. The symbol and its other instances stay linked. Use it when one page needs a variant of the shared navbar/footer. |
| swebsy_rename_symbolC | Rename a symbol (the name shown in the Symbols panel). |
| swebsy_delete_symbolA | Delete a symbol. Every instance is DETACHED first and stays on its page as a plain component — nothing disappears from the site. To also remove the copies, delete_section them. |
| swebsy_undoA | Revert your own last editing tool call(s) this session (add/edit/delete/move/duplicate_section, insert_block, update_settings, page tools…), newest first. Does NOT undo symbol or asset tools. Refuses (returns |
| swebsy_redoA | Re-apply tool calls reverted by swebsy_undo, oldest-undone last. Cleared by any new edit. |
| swebsy_get_builder_guideA | Load the static Swebsy builder guidance (component system, theme classes, conventions) that the in-app AI Builder is primed with. |
| swebsy_list_skillsA | List the available deep-guidance skills (animation, page-composition, copywriting, forms, nav) with one-line summaries. |
| swebsy_list_blocksA | List the pre-built block catalog (ids + labels) available to insert_block. |
| swebsy_captureA | Capture a styled screenshot of the current page at a fixed viewport, written under .swebsy-agent/screenshots/. Returns the file path. Scope it with |
| swebsy_list_assetsA | List managed assets in the open site with whole-project usage counts. References are checked across every page, shared symbols, styles, and site settings. Use imagesOnly:true and unusedOnly:true before deleting unused gallery images. |
| swebsy_upload_assetA | Upload a local image, font, video, audio or PDF file into the open site and return its |
| swebsy_delete_assetA | Delete one managed asset from the open site's asset gallery. By default this refuses assets referenced by any page, shared symbol, style, or site setting; call swebsy_list_assets first. force:true also clears live component references and should be used only when that is explicitly intended. |
| swebsy_exportA | Export the site to .swebsy-agent/exports/. Static files via the site exporter and/or the project JSON (with assets). Returns |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| swebsy | Connect to Swebsy Studio and open a site to build. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 44 tools
Most tools have clearly distinct resource+action purposes, and the descriptions go to lengths to differentiate similar operations (e.g. add_section vs insert_block vs replace_page_content, read_page vs read_selection). A few pairs still risk confusion, notably get_skill vs get_builder_guide (both load guidance) and the several 'add' tools (add_section/add_symbol_instance/insert_block).
Nearly every tool follows a strict swebsy_verb_noun snake_case pattern (create_page, edit_section, list_symbols, delete_asset). The handful of single-word global tools (status, export, capture, undo, redo) are natural verb-only names rather than a convention break.
44 tools is well above the 25+ threshold the rubric treats as 'too many'. Even for a complex website-builder domain, the surface is heavy enough that discovery and correct selection become a real burden for an agent.
Coverage is strong across the full lifecycle: pages (create/list/select/update/duplicate/delete/link), sections (add/edit/delete/move/duplicate/wrap), symbols, assets, settings, export, and undo/redo. Minor gaps remain, such as no delete/close-site operation and no explicit search, but core workflows have no dead ends.