Skip to main content
Glama

create

Queue a new artifact to build a styled web page, PDF, Word, or Excel file from your request or supplied source content; returns artifact, version, and job IDs.

Instructions

Queue a new artifact. Returns artifact_id, version, and job_id immediately. Then call status(job_id, wait=90).

Want a styled page from text you already wrote? Publish that Markdown. It is styled automatically
when format is omitted and no html is passed (format=markdown; style defaults to house).
Want the server to write the page? Pass source_content here.
Raw HTML in publish is shown exactly as given, with no ArtifactSmith styling.

Required: verbatim_request (the user's exact words; the whole scope).

display_name is the human title on cards (optional if slug is set; defaults to the slug;
at most 200 characters; example "Pilot store brief"). slug is the workspace URL key
(optional if display_name is set; otherwise derived from the title; 2-63 chars of a-z, 0-9,
and hyphen, starting with a letter or digit; example "pilot-store-brief"). Provide at least one.
kind defaults to web_static (the only kind in this release).

format is html (default), markdown, pdf, docx, or xlsx. The model writes content. A fixed renderer
writes the bytes. html uses the visual style (house, bold, editorial, playful, terminal, swiss;
default AM_DEFAULT_STYLE, usually house). On markdown, pdf, docx, and xlsx the model prompt does
not use that visual style. A markdown page is still shown in the recorded style when it is opened.

mode is fast or full (default AM_BUILD_MODE, usually full). When mode is omitted and the
style is listed in AM_FAST_STYLES, the default is fast instead. fast applies to a first HTML
build: the model writes Markdown and the server renders it. full is the HTML build.
Other formats ignore fast. An explicit mode still wins. A complete HTML source, or a request
to publish that HTML as-is, stays full when mode is omitted. Mentioning HTML beside "unchanged" does not.

source_content (optional, up to 200 KB total with source_files) is researched material the page
is built from. The builder uses only the request plus this material for facts.

source_files (optional) is a list of {name, content} objects under the same 200 KB cap.

If a needed fact is missing, the job ends as needs_input with a short missing message and stores
no file. Call create again with the same slug after you supply the data.

create does not create a share link. When checks fail, the server retries the model once, so a
failed build takes about twice as long to report as a clean one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoweb_static
modeNoBuild mode for a first HTML page: fast or full. fast writes Markdown and the server renders the style. full is the HTML build. Default is AM_BUILD_MODE (full), or fast when the style is listed in AM_FAST_STYLES. A complete HTML source, or a request to publish that HTML as-is, stays full when mode is omitted. Mentioning HTML next to unchanged does not. Other formats ignore fast.
slugNoURL key unique in the workspace. Optional if display_name is set (then derived from the title: lowercase, accents folded, other characters become hyphens). 2-63 characters of a-z, 0-9, and hyphen; must start with a letter or digit. Example: "pilot-store-brief". Provide display_name or slug (at least one).
modelNo
styleNo
formatNo
workspaceNo
capabilitiesNo
display_nameNoHuman title shown on cards and in the catalog. Optional if slug is set (then it defaults to the slug). At most 200 characters. Example: "Pilot store brief". Provide display_name or slug (at least one).
source_filesNo
source_contentNo
idempotency_keyNo
verbatim_requestYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it discloses the async pattern (job_id returned immediately), the needs_input failure mode that stores no file, the retry-once-on-check-failure penalty ("a failed build takes about twice as long to report"), the 200 KB cap, and the absence of a share link. Gaps remain around idempotency_key behavior, workspace scoping, and auth/permission requirements, which are behavioral concerns an agent may need.

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

Conciseness3/5

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

The first sentence is correctly front-loaded, but the middle paragraphs digress into Markdown-vs-HTML and publish-vs-create asides, and the mode explanation largely restates the schema's own mode description verbatim. Sentences like "Mentioning HTML beside 'unchanged' does not" are edge-case clutter that cost more than they earn.

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

Completeness4/5

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

For a 13-parameter, async, job-producing tool this is a solidly complete brief covering defaults, format/mode interactions, failure handling, and the status follow-up; the output schema exists so return-shape explanation is not required. It falls short only on the undocumented idempotency_key/workspace/capabilities parameters, which an agent invoking repeatedly would want clarified.

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

Parameters4/5

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

Schema coverage is only 23%, so the description must compensate, and it does for most high-traffic parameters: verbatim_request (the user's exact words, the whole scope), slug and display_name (formats, mutual fallback, examples), kind, format, mode, source_content, and source_files. It leaves model, workspace, capabilities, and idempotency_key entirely unexplained, which keeps it short of a 5.

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?

The opening sentence gives a specific verb and resource ("Queue a new artifact") plus the immediate return values, and later sentences explicitly separate create from publish ("Raw HTML in publish is shown exactly as given, with no ArtifactSmith styling") and from share ("create does not create a share link"). An agent can place this tool against its siblings without opening the schema.

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?

It routes the agent through concrete decision points: use Markdown when the user already wrote text, pass source_content when the server should write the page, use publish when HTML must be shown verbatim. It also prescribes the follow-up call ("Then call status(job_id, wait=90)") and the recovery path after a needs_input failure ("Call create again with the same slug").

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