Artifact Server exposes one MCP endpoint at POST /mcp. MCP uses the same product operations and permissions as the CLI and HTTP API. An agent can only perform operations that its user can perform.
Connect a local client
Run the automatic connection command:
artifactserver connectIf more than one supported client is installed, name the one to connect:
artifactserver connect claudeartifactserver connect codexartifactserver connect cursorartifactserver connect vscodeThe command registers a local stdio bridge. The bridge starts or locates the local service and handles its private credential. The credential never appears in client settings, command output, or startup logs.
Inspect or remove a managed connection:
artifactserver doctor codex
artifactserver disconnect codexThe review application also shows these commands. Open Settings → MCP to copy the local command or the exact team-server address. The page links administrators to API-key settings for clients that cannot use browser authentication.
Connect to a team server
Add the exact MCP address to the client:
https://artifacts.example.com/mcpThe client opens the selected identity provider. Complete browser authorization. Then return to the client. The access token is valid only for that exact /mcp resource. A token for another installation or application resource is not valid.
Install the Artifact Server skill
The portable Agent Skill defines two publication paths. It uses the CLI for files on the developer machine and MCP for server data or agent-held content. It also keeps artifact work separate from server administration.
npx skills add plannotator/artifact-serverIn clients that expose installed skills as slash commands, publish finished work with a request such as:
/artifact-server upload that HTML design docThe agent returns the full-screen review link first so the recipient can view and comment on the exact version.
Publish from an agent
MCP carries metadata and small results. Artifact files use the staged upload API. An agent uses this sequence:
Read the limits
Call artifact_capabilities to read limits and available features.
Stage the files
Call artifact_create_upload with each path, size, media type, and SHA-256 fingerprint. Then upload each file to its opaque upload URL.
Commit one version
Call artifact_commit_upload with the publication target and an idempotency key. If you publish a new version, send the current version ID as expectedCurrentVersionId. The server rejects a stale publication.
Every successful publication returns structured data and a short text summary:
{
"links": {
"review": "https://artifacts.example.com/review?...&view=focus",
"artifact": "https://artifacts.example.com/artifacts/art_example",
"version": "https://ver-example.content.example.com/"
}
}The server instructions tell the agent to share links.review first. This link opens the exact version in full-screen Review with comments. links.artifact follows the current version. links.version opens the immutable raw artifact without the Artifact Server interface.
Read operations use the same link roles. artifact_get.current.links.review
opens the current exact version in full-screen Review. artifact_open.reviewUrl
opens the selected exact version in Review, while artifact_open.browserUrl
opens its raw immutable content. Agents give people the Review URL.
Tool groups
| Group | Tools |
|---|---|
| Discovery | artifact_capabilities |
| Projects | project_list, project_create, project_rename, project_archive, project_unarchive |
| Artifacts | artifact_list, artifact_get, artifact_open, artifact_version_list, artifact_diff |
| Publication | artifact_create_upload, artifact_commit_upload |
| Management | artifact_set_visibility, artifact_set_tags, artifact_restore_version, artifact_delete |
| Comments | comment_list, comment_get, comment_create, comment_reply, comment_update, comment_resolve, comment_delete |
| Review dispatch | dispatch_inbox: claim review bundles sent to this agent from the review UI |
| Git history planning | project_git_history_status, project_git_history_estimate |
Linked-artifact tools remain in the tool list on every deployment. They return CAPABILITY_UNAVAILABLE when the deployment does not enable linked artifacts.
project_set_git_history enables one project after an authorized caller approves a fresh estimate. Provider settings alone copy nothing.
Review feedback over MCP
Comments sent to an MCP-connected agent wait in that agent’s inbox. Each MCP tool result includes a short reminder until the agent claims the work:
— artifact server —
2 review bundles are queued for your inbox. Call dispatch_inbox
{"operation": "claim"} to pick up the oldest.Mailbox delivery waits for the agent’s next tool call. It does not push work into the running session. Pi, OpenCode, and Claude Code (through a channel) receive the bundle live. Compare the tiers and connect a live agent →
Browser agents through WebMCP
Review registers seven artifact_server_ tools when the browser provides document.modelContext. These tools read the selected view and manage comments with the signed-in session.
Open Settings → WebMCP to enable or disable these tools for the current browser profile. This setting does not change external MCP clients.
The browser test suite verifies registration, comment changes, and tool removal. The team did not complete manual qualification with a real WebMCP browser session.
Further reading
- Publishing paths: CLI versus MCP versus HTTP.
- MCP product baseline: protocol and authorization contracts.