Artifact Publisher
mcp remote · streamable-http · v0.1.0 · source: crawl
https://app.artifactpublisher.com/mcp
Agents publish self-contained HTML to a stable review link, with page-level feedback and revoke.
Works
100
Verified Oct 31, 2026 · p50 1222 ms · p95 1287 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'artifact-publisher' |
| tools_listed | 15 | pass | 12 tools |
| schema_complete | 15 | pass | 11 of 12 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 1222 ms |
| latency_p95 | 5 | pass | p95 1287 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (12)
| Name | Description | Schema |
|---|---|---|
revoke_artifact | Stop serving this artifact (410 Gone). Cannot undo; viewed copies exist. artifact_id: id, slug or viewer URL. | typed |
get_feedback | Read 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. artifac | typed |
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. Return | typed |
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. Never publish | incomplete |
update_artifact | Append 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 styl | typed |
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. | typed |
list_artifacts | List artifacts in this key's workspace, newest first, with unresolved comment counts. Pass `next_cursor` back as `cursor` to page. | typed |
configure_workspace | 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, st | typed |
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. artif | typed |
set_artifact_state | Set 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 ke | typed |
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 | typed |
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. | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/com-artifactpublisher-mcp)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.