Stores, retrieves, filters, uploads, and shares AI-generated artifacts with session metadata and safety controls.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent ā or use 1-click editor setup below.
This server is confirmed live ā we successfully called its tools/list endpoint directly (see the verified badge above). We haven't yet sandbox-tested the stdio install command below specifically, which is a separate, ongoing check.
š” Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Artifacta MCP.
whoamiReturn the calling tenant's identity, plan tier, current usage counters (storage bytes, monthly requests, active links), and rate limits. Use this once at the start of an agent run to confirm authentication and to size subsequent operations against quota. Free of side effects and quota-cheap.
list_artifactsList artifacts owned by the calling tenant, newest first. Supports filters by `session_id`, `agent_id`, `filename` (exact match), `content_type`, `created_after` / `created_before` (ISO 8601), and one or more `metadata.<key>=<value>` pairs (multi-key requires Pro). Returns a page of artifact records and a `next_cursor` to fetch the next page. Use this to discover what an agent or pipeline produced when you only know a session or agent ID.
get_artifactFetch metadata for a single artifact by ID: filename, content type, size, content hash, session/agent IDs, custom metadata, expiry, creation timestamp. Does NOT return the file bytes ā call `get_artifact_download_url` for that. Returns `artifact_not_found` for unknown IDs, `artifact_already_deleted` (HTTP 410) for soft-deleted ones, `artifact_expired` (410) for those past their TTL.
get_artifact_download_urlGenerate a short-lived presigned URL (1 hour) the agent can use to download the artifact's bytes directly from Cloudflare R2. Use this when the agent itself needs to consume the file. For sharing with humans, use `create_download_link` instead ā that produces a stable `dl.artifacta.io/lnk_ā¦` URL with configurable expiry.
list_sessionsList session IDs synthesized from the calling tenant's artifacts, ordered by most recent activity. Each entry includes artifact count, seal status, and first/last activity timestamps. Sessions are not first-class ā they exist only as long as artifacts reference them.
store_artifactUpload a file as a new artifact in a single call. Provide EITHER up to ~10 MB of base64-encoded bytes via `content`, OR a local filesystem `path` that the MCP server reads and streams as multipart/form-data (up to 500 MB). For files larger than 500 MB, use `request_upload_url` (Pro only) instead ā `store_artifact` returns `file_too_large` for them. Tags the artifact with `session_id` / `agent_id` / `metadata` for later retrieval and returns the full artifact record including its new `artifact_id` and `content_hash`. Path uploads are confined. The `path` argument is constrained to the launcher-configured allow-list (default: the MCP server's CWD). Paths outside the allow-list, paths traversing symlinks out of it, and paths to known-sensitive locations (`~/.ssh`, `~/.aws`, `/etc/`, etc.) are refused with `invalid_request`. For crash-safe retries, supply your own `idempotency_key` (any string ā¤256 chars): a replay within 24h returns the original artifact and never double-bills. If you omit it, the server auto-generates one and returns it under `_meta.idempotency_key`, but that key protects only in-process retries within a single call ā it is lost if the server restarts, so pre-commit your own key when durability matters.
SagaPeak/artifacta-mcp MCP server exposes Artifacta as an MCP-based artifact store for AI agent workflows. It persists files and other outputs with artifact IDs, content hashes, filenames, content types, timestamps, session IDs, agent IDs, and custom metadata. Agents can later discover those records without relying on the original conversation or process.
The server supports both private retrieval and controlled sharing. An agent can obtain artifact metadata, request a one-hour presigned URL for the bytes, create an expiring download link for people, or publish an artifact as a public page at artifacta.io/a/{slug}. Publishing is separate from storage and is unlisted by default; unpublishing removes the page without deleting the stored artifact.
The same MCP tool surface is available through TypeScript and Python implementations. A hosted connection is available at https://mcp.artifacta.io/mcp; clients authenticate through OAuth Dynamic Client Registration with PKCE and a browser consent flow. Local or CI deployments run over stdio and authenticate with an ARTIFACTA_API_KEY.
For ordinary files, store_artifact accepts either base64 content of roughly 10 MB or a local path that the server streams as multipart data up to 500 MB. Larger files, up to 5 GB, use a two-step flow: reserve an upload URL, send the bytes directly to storage, then call complete_upload. The server verifies the uploaded object, calculates its content hash, and activates the artifact.
Artifacts can be grouped using session and agent identifiers. list_artifacts supports filters for those identifiers, exact filenames, content types, ISO 8601 date ranges, and metadata pairs. list_sessions derives session records from artifacts rather than maintaining sessions as independent objects.
For a local MCP client, run the TypeScript package with npx -y @artifacta-mcp/mcp and provide ARTIFACTA_API_KEY in the client environment. The Python alternative is pipx run artifacta-mcp. The repository identifies Node 20+ and Python 3.10+ as the supported runtimes.
The hosted setup avoids local installation and uses the MCP endpoint directly. Claude Desktop, Claude Code, Cursor, and other MCP clients can use the local stdio configuration; the README specifically documents the API-key environment variable and hosted HTTP setup. Local path uploads are restricted by an --allow-path allow-list, which defaults to the server's current working directory.
whoami.store_artifact, get_artifact, list_artifacts, and get_artifact_download_url.list_sessions.request_upload_url and complete_upload.publish_artifact and unpublish_artifact.SagaPeak/artifacta-mcp MCP server does not return file bytes from get_artifact; agents must request a download URL. The regular storage operation is limited to approximately 500 MB for path uploads, while the direct-upload flow is limited to 5 GB and is available only on the Pro plan.
Path uploads cannot escape the configured allow-list, traverse symlinks outside it, or target known-sensitive locations such as ~/.ssh, ~/.aws, and /etc/. Destructive tools such as deletion, session sealing, and public download-link creation require the local --allow-destructive setting. Hosted OAuth instead applies read, write, and destroy scopes. Publishing and unpublishing are write operations but are not treated as destructive actions.
The large-upload reservation is not retry-safe: after a server or network failure, callers should inspect for an existing pending artifact before reserving another upload. For normal storage retries, provide an idempotency key when a restart-safe retry is important. SagaPeak/artifacta-mcp MCP server is released under the MIT license.
Factual signals from GitHub, npm, and our automated checks ā not a rating.
No reviews yet ā be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sagapeak-artifacta-mcp)<a href="https://allmcps.com/mcp/sagapeak-artifacta-mcp"><img src="https://allmcps.com/api/badge/sagapeak-artifacta-mcp?style=directory" alt="Artifacta MCP on AllMCPs" /></a>