Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SWEBSY_APP_URLNoStudio origin for the swebsy_start_pairing link (set for local/self-host)https://studio.swebsy.com
SWEBSY_NO_OPENNoSet to skip auto-opening the pairing link in the browser
SWEBSY_AGENT_DIRNoWhere screenshots/exports land (default is workspace .swebsy-agent).swebsy-agent
SWEBSY_AGENT_PORTNoPort the local relay listens on37373

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

CapabilityDetails
tools
{}
prompts
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 create_page) and does NOT append a single section (use add_section). Use when the user asks to build/replace/redesign an entire page. Each top-level component should be wrapped in a container.

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 replace_page_content or add_section, and point a navbar/link at it with link_page. Use THIS to add an additional page; use replace_page_content (NOT this) to overwrite the current page's content.

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 targetPath (from read_page) and the target page (id or name). For a navbar link this sets its page target so the href and active state stay in sync; for a plain link or button it sets href to the page's ./slug.html. Use after create_page to wire a navbar to the new page.

swebsy_update_pageA

Rename a page and/or change its URL slug — the Pages panel's rename. Links that pointed at the old ./slug.html on every page follow the new slug. The home page's index slug is locked (its display name can still change).

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 link_page or delete them.

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 position plus the targetPath of the component to place it next to.

swebsy_edit_sectionA

Modify an existing component. By default this edits the selected component. To edit a component identified by read_page, provide its targetPath; an explicit path overrides the canvas selection. Preferred: provide component — the full replacement component tree (compact DSL OK), best for structural changes. Alternative: provide html — the complete modified HTML string. Fallback: provide patch — JSON Patch (RFC 6902) for tiny single-property tweaks. Supply exactly one. Preserve existing IDs: an id kept in the edit keeps the styles attached to it; an id you drop loses them.

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 targetPath (from read_page) to delete a component you did not select.

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 <main>, or a footer symbol in <footer>. The wrapped components keep their ids, id-styles and symbol links. ALWAYS use this to add a wrapper; re-sending the components through edit_section/replace_page_content loses their styles. Paths shift — call read_page before the next path-based edit.

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 read_page before the next path-based edit.

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. general/seo are SITE-WIDE; use page to change ONE page. Also used to match the theme to a reference IMAGE's vibe: sample its palette into brand/surface tokens and ALWAYS set BOTH light and dark variants.

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 directionId from the sampled menu; supply the custom fields only when the user's brief clearly calls for something the menu doesn't cover. Not needed when editing a site that already has a direction.

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 sections read lists every top-level section with its target path — enough to pick the one to edit. When copying content between components, use detail: full WITH the targetPath of the one section you're copying, not a whole-page read. Also call it AFTER applying edits to verify the result.

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 pairUrl — give it to the user to click; opening it connects their Studio tab automatically. (Also returns the raw code/port for manual entry.)

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 health report of BROKEN linkage: orphans (copies whose main was deleted — editing them changes nothing elsewhere), unregistered (instances the main doesn't list back, so edits propagate one way only) and ghosts. Repair any of it by calling promote_to_symbol on one affected section. Use before add_symbol_instance to find the symbol id.

swebsy_promote_to_symbolA

Promote an existing component into a reusable SYMBOL so it can be shared, in sync, across pages. Pass its targetPath from read_page (e.g. the navbar or the CTA band). Also REPAIRS broken linkage (see list_symbols → health): re-promoting an orphaned copy rebuilds its main and re-links every other copy of it, and re-promoting a symbol registers instances it had lost. Returns the symbol id (for add_symbol_instance) and a repaired count; copies whose structure has diverged too far are reported as detached — delete_section + add_symbol_instance those instead.

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 blocked) when a page, CSS or settings it would restore has been edited since, so hand edits are never overwritten. Paths may shift — call read_page afterwards.

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 targetPath when verifying ONE section — a whole-page PNG downscales so far that component detail is unreadable.

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 assetId, src and a usage snippet. Images go in the asset library for image components, video for video components (attributes.src), audio for audio, PDFs as a link href; fonts are stored for update_settings fonts.custom. This is the ONLY way to get your own imagery (screenshots, logos, textures, mockups) into a site — an image with an empty src gets a random stock photo instead. Reads the file from the agent's own filesystem, so pass a path you can see (for example a screenshot you just captured). The asset is stored in the project and travels with static export and project JSON.

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 outDir, the exported page paths, and per-kind file counts — verify a build by grepping those HTML files.

Prompts

Interactive templates invoked by user choice

NameDescription
swebsyConnect to Swebsy Studio and open a site to build.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 44 tools

Disambiguation4/5

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).

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues