Artifacta MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Official MCP server for Artifacta — an artifact store
purpose-built for AI agents. Agents persist run outputs (files, reports,
datasets, build results) with session and agent metadata, hand them off across
sessions, and share them via expiring download links. Content-hash dedup means
re-storing the same bytes is free.
Listed in the official MCP registry
as io.artifacta/mcp.
Two implementations with the same tool surface, error contract, and
path-confinement engine:
| Directory | Package | Runtime |
|-----------|---------|---------|
| typescript/ | @artifacta-mcp/mcp | Node 20+ |
| python/ | artifacta-mcp | Python 3.10+ |
Install as a Claude Code plugin
For Claude Code, the fastest path is the plugin marketplace this repo doubles
as — it wires up the hosted server *and* a skill that persists run outputs
automatically:
This bundles the same hosted MCP connection as the Quick start below plus the
persisting-outputs skill (/artifacta:persisting-outputs, or it auto-triggers
when a session has outputs worth saving). Update the plugin with
/plugin marketplace update artifacta. See the
plugin setup guide.
Quick start
The fastest way to connect is the hosted server — no install, no API key:
On first use your client self-registers via OAuth Dynamic Client Registration
(PKCE) and opens a browser to authorize — no ak_live_ key to copy or store.
See the hosted setup guide.
Local / CI (stdio)
For headless, air-gapped, or CI environments where a browser OAuth flow isn't
available, run the package locally over stdio with an API key. Get a key at
app.artifacta.io/dashboard/keys,
then add to your MCP client config (Claude Desktop, Claude Code, Cursor, or any
MCP client):
Or run the Python implementation with pipx run artifacta-mcp.
See the per-package READMEs for config-file profiles, path confinement
(--allow-path), destructive-tool gating (--allow-destructive), and
troubleshooting: TypeScript ·
Python.
Tools
| Tool | Description |
|------|-------------|
| whoami | Verify credentials; returns tenant and plan info |
| store_artifact | Upload an artifact from inline content or a local path |
| request_upload_url / complete_upload | Two-phase presigned upload for large files |
| get_artifact | Fetch artifact metadata by ID |
| get_artifact_download_url | Get a presigned download URL (1h expiry) |
| list_artifacts | List/filter artifacts by session, agent, or metadata |
| list_sessions | List active sessions |
| seal_session | Seal a session so no further artifacts can be added (gated behind --allow-destructive) |
| create_download_link | Create a public expiring share link (gated behind --allow-destructive) |
| delete_artifact | Soft-delete an artifact (gated behind --allow-destructive, same gate as create_download_link) |
| publish_artifact | Publish an artifact as a public page at artifacta.io/a/{slug} (Artifact Pages); idempotent, unlisted by default |
| unpublish_artifact | Take down an artifact's public page; the artifact itself is untouched; idempotent |