Skip to main content
Glama

Publish Artifact

artifact-publish
Destructive

Publish an artifact — deploys its committed files (git HEAD; uncommitted edits are not included) to a live public URL. Works for app AND markdown artifacts; an asset artifact cannot be published (tell the user so and share its artifactUrl instead).

Publishing makes the content PUBLIC to the world. It is NOT needed for sharing — the artifact is already visible at its artifactUrl to everyone who can reach it, and liveUrl is NOT an editor. Call this only when the user explicitly asked to publish/deploy; otherwise share that URL and offer publishing as a follow-up question.

Requires a sessionId from a previously created artifact (via artifact-create).

What goes live:

  • app: the running web application.

  • markdown: one document. liveUrl renders the initial file (README.md if present, else the first .md lexicographically); the raw source is at /index.md (Content-Type: text/markdown) — give the user that path when they want the markdown. Other .md files are served raw at their own paths, each with a rendered .html sibling. ```mermaid fences render as diagrams; the .md keeps the fence. accTitle/accDescr label a diagram.

Modes:

  • "webapp" (default): Deploys to a live URL; use it for both app and markdown artifacts. Returns { success, liveUrl, subdomain }.

  • "designSystem": NOT available over MCP — always fails with an enterprise contact link, whatever you pass. Do not offer it as a capability.

Returns: { success, liveUrl, subdomain }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoDeploy mode: "webapp" publishes to a live URL (for app and markdown artifacts alike), "designSystem" publishes as an npm package.webapp
sessionIdYesThe session ID of the artifact to publish (returned by artifact-create).
packageNameNo[designSystem mode only] NPM package name. Required when mode is "designSystem".
packageVersionNo[designSystem mode only] NPM package version. Required when mode is "designSystem".

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 (destructiveHint=true, readOnlyHint=false) are consistent with the description, and the description adds rich context beyond them: 'Publishing makes the content PUBLIC to the world,' only git HEAD is deployed ('uncommitted edits are not included'), designSystem mode 'always fails with an enterprise contact link,' and detailed rendering behavior for markdown artifacts. This explains the nature of the destructive action rather than merely flagging it. No annotation contradiction.

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?

The description is long but well-structured with headers (**What goes live:**, **Modes:**, **Returns:**), and the most decision-critical facts — asset artifacts can't be published, content becomes public, and when NOT to call it — are front-loaded. The markdown rendering details (lexicographic README selection, accTitle/accDescr, content-type of index.md) are more granular than strictly necessary but do serve the agent's follow-up messaging to the user.

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 complex tool with 4 params, 2 modes, 3 artifact types, no output schema, and a public-exposure consequence, the description is thorough: it covers preconditions, return shape { success, liveUrl, subdomain }, exclusions (asset artifacts, designSystem), the public-visibility warning, and the sharing alternative. An agent has everything needed to decide whether to call it and what to expect in return.

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 the baseline is 3. The description adds value on top of the schema by clarifying behavioral semantics of the parameters: it explains that 'webapp' is the default and works for both artifact types, that designSystem 'always fails' making packageName/packageVersion effectively unusable, and it specifies sessionId's origin. This goes beyond the schema's per-parameter text.

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 — 'Publish an artifact — deploys its committed files (git HEAD...) to a live public URL' — and disambiguates artifact types explicitly: 'Works for app AND markdown artifacts; an asset artifact cannot be published.' This clearly differentiates it from siblings like artifact-create, artifact-unpublish, and artifact-edit without needing to inspect them.

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?

Gives explicit when-to-call guidance: 'Call this only when the user explicitly asked to publish/deploy; otherwise share that URL and offer publishing as a follow-up question.' It also states what NOT to do, names the alternative action (sharing artifactUrl), and warns that designSystem 'is NOT available over MCP... Do not offer it as a capability.' Prerequisites are covered via 'Requires a sessionId from a previously created artifact (via artifact-create).'

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.