Skip to main content
Glama

Create Artifact from Template

artifact-create_from_template

Create a NEW artifact from one of Anima's templates. Returns a ready artifact; never edits an existing one.

Call with a templateId from artifact-list_templates (react, html, presentation or second-brain), an optional name (defaults to "Untitled project") and workspaceId. The template supplies the files, the artifact type and the framework: no files, ZIP upload, framework or artifactType are accepted. Then make it the user's: read it with artifact-explore and change it with artifact-edit, starting from the returned revision.

This is the DEFAULT way to start a new React app, HTML site or presentation that you will build yourself: use it whenever the user asks for one and has no code or file of their own, even if they never mention templates — they usually do not know templates exist. Use artifact-create instead to import existing code, to write a project from scratch when the user explicitly asks for that, to create a markdown document or asset, or to have Anima generate an app from a prompt, a website or Figma.

Returns the sessionId, initial revision, artifactUrl, name, artifactType, framework, fileCount, skippedFiles, and applicable preview URLs and Git access. Share artifactUrl with the human. Only use artifact-publish when the user explicitly asks for a public deployment.

Input Schema

NameRequiredDescriptionDefault
nameNoOptional display name; defaults to "Untitled project".
templateIdYesThe template to start from: an id returned by artifact-list_templates.
workspaceIdNoWhere to create it — an id from workspace-list_workspaces. Optional when you can create in only one workspace; otherwise required, since there is no default workspace.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), and the description adds substantive context beyond them: the template supplies files/type/framework so those inputs are rejected, the artifact starts at the returned revision, artifactUrl should be shared with the human, and publish is explicitly deferred. A clear post-creation workflow (read with artifact-explore, change with artifact-edit) is also given.

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 inputs, then routing, then return values — a sensible order with no filler sentences. It is somewhat long (three dense paragraphs) and the alternatives list plus the aside about users not knowing templates exist adds bulk, though each element carries real routing value.

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?

For a 3-parameter creation tool with no output schema, the description covers everything an agent needs: required input source, defaults, rejected arguments, the returned field set (sessionId, revision, artifactUrl, name, type, framework, fileCount, skippedFiles, preview URLs, Git access), and the follow-up workflow. Nothing material is left to inference.

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 100%, so parameter documentation is already carried structurally; the description still adds value by stating the concrete template ids and by stating that files, ZIP upload, framework and artifactType are NOT accepted for this tool, which prevents an agent from inventing those arguments. It stops short of explaining workspaceId resolution behavior that the schema itself spells out.

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?

States a specific verb and resource ('Create a NEW artifact from one of Anima's templates') and immediately scopes it against the obvious confusion ('never edits an existing one'). The parenthetical enumeration of template ids and the explicit contrast with artifact-create make it unambiguous versus siblings.

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?

Explicitly declares this the DEFAULT way to start a React app, HTML site or presentation, and names the trigger condition ('user has no code or file of their own'), including the important nuance that users usually do not know templates exist. It then enumerates the exact cases that route to artifact-create instead: importing existing code, writing from scratch, markdown/asset creation, prompt/website/Figma generation.

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.