Skip to main content

Artifact Publisher

com.artifactpublisher/mcpVersion 0.1.0

Agents publish self-contained HTML to a stable review link, with page-level feedback and revoke.

Status

Responds440 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 13:47 UTC
Latency
440 ms
Remotes responding
1 of 1
Sign-in
API key
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://app.artifactpublisher.com/mcpResponds440 ms
No sign-in

Claude Code

claude mcp add --transport http artifactpublisher https://app.artifactpublisher.com/mcp --header 'Authorization: Bearer <YOUR_TOKEN>'

Replace <YOUR_TOKEN> before running.

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: artifactpublisher
Remote MCP server URL: https://app.artifactpublisher.com/mcp
This server expects the header Authorization.

Cursor

{
  "mcpServers": {
    "artifactpublisher": {
      "url": "https://app.artifactpublisher.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

Replace <YOUR_TOKEN> before running.

VS Code

code --add-mcp '{"name":"artifactpublisher","type":"http","url":"https://app.artifactpublisher.com/mcp","headers":{"Authorization":"Bearer <YOUR_TOKEN>"}}'

Replace <YOUR_TOKEN> before running.

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

12 tools

Tools of Artifact Publisher
Read-only
Idempotent
Open world
configure_workspaceRead or update workspace defaults (comments_enabled, default_expiry_seconds, default_artifact_title); pass empty settings to read. Platform guardrails are refused with an error: max_artifact_bytes, storage_bytes_limit, monthly_versions_limit, rate_limits, comment_rate_limit, publish_rate_limit, isolation, origins, artifact_origin, control_origin, storage_key_prefix, object_key_prefix, security_headers, content_security_policy. Not available in every workspace.YesNoNot declaredNo
get_artifact_stateRead an artifact's state. Shared JSON key/value state, synced to viewers across versions (page JS: ArtifactRelayState). Last write wins per key. Limits: 200 keys, 16 KiB per value, 64 KiB total. artifact_id: id, slug or viewer URL.NoYesNot declaredNo
get_authoring_guideRead before writing HTML: themes, ap-* layout classes, an example page, the snippet, size and sandbox rules. Optional theme (firn, firn@1) is validated and returned as selected.NoYesNot declaredNo
get_feedbackRead reviewer comments, oldest first. Filters: unresolved_only, since; version (default current) for anchor_status. Page with limit and cursor. Returns comments, unresolved_count, next_cursor. artifact_id: id, slug or viewer URL.NoYesNot declaredNo
list_artifactsList artifacts in this key's workspace, newest first, with unresolved comment counts. Pass `next_cursor` back as `cursor` to page.NoYesNot declaredNo
publish_artifactPublish self-contained HTML as version 1; return a share link. Optional Idempotency-Key HTTP header. Limit 10 MiB UTF-8; larger on some paid plans. No network in sandbox; inline assets. Never publish secrets. For styling, add <meta name="ap-theme" content="firn"> to <head>; call get_authoring_guide for themes and layout classes.NoNoNot declaredYes
reply_to_feedbackReply once to a comment (a second reply fails with conflict); resolve: true also marks it resolved. Anyone who can open the artifact can read the reply. Refused on revoked or expired artifacts. Returns the comment.NoNoYesYes
reset_artifact_stateClear all state, including board values; HTML is unchanged. Shared JSON key/value state, synced to viewers across versions (page JS: ArtifactRelayState). Last write wins per key. Limits: 200 keys, 16 KiB per value, 64 KiB total. artifact_id: id, slug or viewer URL.YesNoNot declaredYes
revoke_artifactStop serving this artifact (410 Gone). Cannot undo; viewed copies exist. artifact_id: id, slug or viewer URL.YesNoYesNo
set_artifact_accessChange an artifact's access mode without a new version. For accountless coworkers use public, not allowlist. artifact_id: id, slug or viewer URL.YesNoNot declaredYes
set_artifact_stateSet keys atomically; other keys stay. Null is stored, not deleted. Shared JSON key/value state, synced to viewers across versions (page JS: ArtifactRelayState). Last write wins per key. Limits: 200 keys, 16 KiB per value, 64 KiB total. Page JS: ArtifactRelayState.subscribe/set/patch; whole-value writes only. artifact_id: id, slug or viewer URL.YesNoNot declaredYes
update_artifactAppend a new immutable version. `expected_version` must match current; share link moves; earlier versions stay at pinned URLs. Optional `title` renames; with no `html` only the title changes. For styling, add <meta name="ap-theme" content="firn"> to <head>; call get_authoring_guide for themes and layout classes. artifact_id: id, slug or viewer URL.YesNoNot declaredYes

Details

Registry status
Active
Published
Oct 19, 2026
Updated
Oct 19, 2026
Repository
Not given
Categories
Uncategorized
GDPR
Not declared

Are you the operator? Claim this listing