Artifact Publisher

com.artifactpublisherPublished by artifactpublisher.comOfficial publisherv0.1.0Updated Oct 26, 2026

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

Overview

AI-generated overview

Publishes self-contained HTML artifacts to stable, versioned share links, with reviewer comments, access control and revoke.

What you can do
  • Publish and version artifacts: publish self-contained HTML as version 1, append immutable versions, rename, and list artifacts with unresolved comment counts
  • Manage access and lifecycle: change an artifact's access mode without a new version, or revoke it so it stops being served
  • Handle reviewer feedback: read comments with filters and paging, reply once to a comment, and mark it resolved
  • Work with shared page state: read, set or reset a JSON key/value store synced to viewers across versions
  • Configure the workspace: read or update defaults such as comments, expiry and default title
  • Read the authoring guide: themes, layout classes, example page, size and sandbox rules
When to use it
Useful when an assistant produces HTML reports, dashboards or prototypes that people should review through a link rather than a file, and when you want versioned updates, comment threads and the ability to revoke a published page.
Requirements
A remote endpoint at app.artifactpublisher.com over streamable HTTP. A bearer publisher key is required in the Authorization header, created in the workspace account settings. A workspace account is needed; free plans cap active artifacts and versions.
Before you install
The Authorization bearer key is a workspace credential and grants publishing rights, so keep it scoped and private. Publishing and updating create publicly reachable links, and access mode changes who can open them; replies are readable by anyone who can open the artifact. Revoking is irreversible and copies already viewed may persist. Published HTML runs in a sandbox without network access, so assets must be inlined.

Installation

In SourceWeft

  1. Open Artifact Publisher in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.artifactpublisher%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

Tools

12

publish_artifact

Publish artifact

Publish 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. Free: 5 active artifacts, 50 versions. For styling, add <meta name="ap-theme" content="firn"> to <head>; call get_authoring_guide for themes and layout classes.

Parametershtmlrequiredtitlesummaryexpires_atvisibilityworkspace_idallowed_emailscomments_enabled

update_artifact

Update artifact

Append a new immutable version to an existing artifact. `expected_version` must equal the current version; the share link moves to the new version; earlier versions stay readable at their pinned URL. Optional `title` renames; with no `html` only the title changes. Each version counts toward the free 50 version cap. 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.

Parametershtmltitleartifact_idrequiredrelease_noteworkspace_idexpected_versionrequired

set_artifact_access

Set artifact access

Change an artifact's access mode without a new version. For accountless coworkers use public, not allowlist. artifact_id: id, slug or viewer URL.

Parametersvisibilityrequiredartifact_idrequiredworkspace_idallowed_emails

get_feedback

Get feedback

Read reviewer comments on an artifact, oldest first; use after sharing or to poll. Filters: unresolved_only, since; version (default current) picks the version anchor_status is checked against. Page with limit and cursor. Returns comments, unresolved_count, next_cursor. artifact_id: id, slug or viewer URL.

Parameterslimitsincecursorversionartifact_idrequiredworkspace_idunresolved_only

reply_to_feedback

Reply to feedback

Reply 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.

Parametersmessagerequiredresolvecomment_idrequiredworkspace_id

list_artifacts

List artifacts

List artifacts in this key's workspace, newest first, with unresolved comment counts. Pass `next_cursor` back as `cursor` to page.

Parameterslimitcursorworkspace_id

revoke_artifact

Revoke artifact

Stop serving this artifact (410 Gone). Cannot undo; viewed copies exist. artifact_id: id, slug or viewer URL.

Parametersreasonartifact_idrequiredworkspace_id

configure_workspace

Configure workspace defaults

Read 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.

Parameterssettingsrequiredworkspace_id

get_artifact_state

Get artifact state

Read 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.

Parametersartifact_idrequiredworkspace_id

set_artifact_state

Set artifact state

Set the given 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(fn)/set(k,v)/patch(obj); callbacks get {revision, values, resetAt}; set/patch reject on failure; whole-value writes, no increments or nested merges. artifact_id: id, slug or viewer URL.

Parametersvaluesrequiredartifact_idrequiredworkspace_id

reset_artifact_state

Reset artifact state

Clear 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.

Parametersartifact_idrequiredworkspace_id

get_authoring_guide

Get authoring guide

Read 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.

Parameterstheme

Version history

1
  1. v0.1.0LatestOct 19, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.