Agents publish self-contained HTML to a stable review link, with page-level feedback and revoke.
Connect Remote server
claude mcp add --transport http mcp https://app.artifactpublisher.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
{
"mcpServers": {
"mcp": {
"url": "https://app.artifactpublisher.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
{
"servers": {
"mcp": {
"type": "http",
"url": "https://app.artifactpublisher.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://app.artifactpublisher.com/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 12 found in our last check
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…
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_gu…
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.
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.
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.
list_artifactsList artifacts in this key's workspace, newest first, with unresolved comment counts. Pass `next_cursor` back as `cursor` to page.
revoke_artifactStop serving this artifact (410 Gone). Cannot undo; viewed copies exist. artifact_id: id, slug or viewer URL.
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, pub…
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.
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/p…
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.
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.
Headers
| Name | Description |
|---|---|
AuthorizationRequired, secret | Bearer <publisher key>. Create a scoped key in your workspace at https://artifactpublisher.com/account/ |
Details
| Endpoint | https://app.artifactpublisher.com/mcp (Streamable HTTP) |
| First published | 19 Oct 2026 |
| Last updated | 19 Oct 2026 |
| Registry name | com.artifactpublisher/mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
