Skip to main content
Glama

Compose site from fixture

create_site_from_fixture

Persist a fixture YOU composed as a new Sitelas site. Use this when the archetype-based create_site_from_template can't produce the structure you need — primarily for URL cloning (post-capture_url, when the source's section composition doesn't map cleanly to any shipped archetype), or for genuinely bespoke briefs that no archetype satisfies. For typical generation, prefer create_site_from_template — its archetypes are designer-tuned and produce higher-quality output by default. The fixture is validated (create_site_from_fixture (with dry_run: true) autofixes minor issues, throws on hard structural errors), then saved as a DRAFT (live URL 404s until publish). Returns the preview URL, site_id, manifest of patchable nodes, and warnings (e.g. unreachable pages). Pass dry_run: true to validate a fixture without creating a site.

Input Schema

NameRequiredDescriptionDefault
dry_runNoValidate the fixture without creating anything: returns its errors (with paths) and the autofixes that would apply. site_name is not needed.
fixtureYesComplete Fixture you composed. Must include `template` (metadata), `theme.config` (color tokens + typography), and `pages` (at minimum a '/' page with a `tree`). Optional: `siteElements.header/footer/pageLayout`, `collections` (each with its own `template`, `pathPrefix`, and `items[]` for starter rows). The fixture goes through create_site_from_fixture (with dry_run: true)'s autofix pass, so minor structural issues are repaired automatically; hard errors are returned with paths.
site_nameNoHuman-readable site name. Used as the metadata label and as the default subdomain base. Does NOT auto-substitute into header/footer brand text — set the brand text in your fixture's siteElements.header explicitly.
subdomainNoPreferred subdomain slug (a-z, 0-9, hyphen, 3–32 chars). Auto-generated from site_name if omitted. A 4-digit suffix is always appended to guarantee uniqueness.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond annotations: validation with autofix of minor issues, hard errors thrown with paths, the site is saved as a DRAFT whose live URL 404s until publish, and the return payload (preview URL, site_id, manifest, warnings) is described. That draft/404 consequence is exactly the kind of downstream effect an agent cannot infer from readOnlyHint/destructiveHint alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose then routing guidance, and most sentences carry real signal. Minor waste in the closing sentence, which restates the dry_run behavior already given two sentences earlier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies the return values; with a nested open fixture object, it explains validation/autofix semantics and the draft-state outcome. An agent has everything needed to call this correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents fixture, site_name (brand-text caveat included) and subdomain. The description's dry_run note duplicates the schema text almost verbatim rather than adding format or shape detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb + resource: 'Persist a fixture YOU composed as a new Sitelas site.' It immediately distinguishes itself from the sibling create_site_from_template by naming it and stating it is the fallback path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('archetype-based create_site_from_template can't produce the structure you need'), the two concrete triggers (post-capture_url cloning, bespoke briefs), and an explicit when-not ('For typical generation, prefer create_site_from_template') with a quality rationale.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources