One agent saves it. Another finds it — just by asking.
No shared disk, no identifiers passed around between workflows. Describe the file in words and get ranked matches, from any host, any time later.
Your agents drop files here with a description. Other agents — and you — find them later by asking in words, and see whether they are still current before using them.
What it does
No shared disk, no identifiers passed around between workflows. Describe the file in words and get ranked matches, from any host, any time later.
Sessions end and containers get recycled. The files they produced stay, and the next run starts by searching for what the last one made.
When the data a file was built from changes, everything downstream is flagged — before an agent acts on it.
Browse, search and download your agents’ files from the console — the same search the agents use, for people.
See it work
Upload with a title, description and tags.
The description is indexed; the file itself is never read by a model.
Any agent asks in words and gets ranked, freshness-flagged results.
A short-lived download URL, checksum included.
Where it saves money
Fetch an expensive response once. Until it expires, every workflow and every host that asks gets the stored copy — and when several agents race for the same thing, only the first one actually fetches it.
Moving a 32 MB file between agents costs a few hundred tokens of description — never a context window, never a payload glued inside workflow JSON. Bytes go straight between object storage and the agent’s disk.
Install & integrations
REST and MCP expose the same operations. The SDKs, the CLI and the n8n node are thin clients over them, so an artifact pushed from one shows up in all the others.
Node Artefaktum, credential Artefaktum API. Operations: Upload, Get, Search, Update, Delete. Upload takes a Key and an If Key Exists choice, so the next run, and other workflows, reuse a stored result instead of calling the API again.
Hosted MCP over Streamable HTTP. Sign in with Google or GitHub when the host asks; no key to paste.
claude mcp add --transport http artefaktum https://api.artefaktum.dev/mcp
Settings → Connectors → Add custom connector. Name artefaktum, URL https://api.artefaktum.dev/mcp, then Connect — a browser window opens to sign in.
codex mcp add artefaktum --url https://api.artefaktum.dev/mcp
In .vscode/mcp.json (or Command Palette → MCP: Add Server → HTTP):
{ "servers": { "artefaktum": { "type": "http", "url": "https://api.artefaktum.dev/mcp" } } }In cline_mcp_settings.json, then Authorize OAuth from the MCP menu:
{ "mcpServers": { "artefaktum": { "type": "streamableHttp", "url": "https://api.artefaktum.dev/mcp" } } }mcp.json{ "mcpServers": { "artefaktum": { "url": "https://api.artefaktum.dev/mcp" } } }Text comes back inline; binary files come back as a short-lived URL.
pip install artefaktum
from artefaktum import Artefaktum
client = Artefaktum() # ARTEFAKTUM_API_KEY, project "default"
a = client.artifacts.push("report.pdf", title="Q3 churn", tags=["churn"])
hits = client.artifacts.search("q3 churn")
client.artifacts.pull(hits.items[0].artifact.id, "out/") # sha256 verifiedPython 3.10+, httpx only. AsyncArtefaktum for asyncio. README · PyPI
npm install artefaktum
import { Artefaktum } from "artefaktum";
const client = new Artefaktum(); // ARTEFAKTUM_API_KEY, project "default"
const artifact = await client.artifacts.push("report.pdf", {
title: "Q3 churn analysis", tags: ["churn", "q3"], external_key: "reports/q3-churn",
});
const page = await client.artifacts.search("q3 churn");
await client.artifacts.pull(page.items[0].artifact.id, "out/"); // sha256 verifiedZero dependencies. Node 20+. ESM and CommonJS. Typed from the API's OpenAPI document. README · npm
pip install "artefaktum[cli]" artefaktum login # or set ARTEFAKTUM_API_KEY in CI and sandboxes artefaktum push report.pdf --title "Q3 churn" --tag churn artefaktum search "q3 churn" artefaktum pull 0199198a-8f21… out/
afk is the short alias. Bake it into a sandbox image or a CI step so an agent can push before its container is recycled. README
curl -s -X POST https://api.artefaktum.dev/v1/artifacts/search \
-H "Authorization: Bearer $ARTEFAKTUM_API_KEY" -H "Content-Type: application/json" \
-d '{"project_id": "…", "query": "latest enriched competitor list", "mode": "hybrid"}'Make, Zapier and anything with an HTTP step use this directly. Keys come from the console.
No account and no API key: an agent with a USDC wallet on Base pays per request over the same REST API. Storing an artifact up to 10 MiB for 30 days costs $0.01, a read $0.005, a search $0.01.
Runs anywhere your agent does
Pricing
$0
One person. Try it, or run a small setup for good.
No card. No expiry.
$20 / month
Teams, bigger files, and more than one project.
Full pricing and what happens over the limit
Sign in with Google or GitHub, create a key, and push the first artifact in a minute.