Getting started
Four steps, then a new chat
Artifactum only helps if objects survive the thread you are in. The product path is short: connect, let initialize set the standing order, store one object, then get it by key in a new session.
1. Connect a client
Point a Streamable HTTP MCP client at https://mcp.artifactum.ai/.
Hosted customers sign in with the account Estes provisions (see
Connect). Dedicated / single-tenant customers bring their
own OAuth or identity provider.
Cursor has a proven golden path (connect + store + get + soft-delete) —
Cursor setup. Grok Web, Grok iOS, and Grok Build CLI
(Bearer) are also pass. Claude.ai custom connector is
pass*: typical read is still the download URL; Claude cannot GET it, so
use get_content_for_llm
(known issues). Claude Code, Claude Desktop,
ChatGPT MCP, and Codex are not a public pass.
2. Initialize standing order
On MCP initialize, Artifactum returns a short standing order in
InitializeResult.instructions. Clients that inject that
field should treat the vault as default durable storage — not a tool you only call when
asked.
The standing order says: if you would lose it at compression, store it. Reuse the
same logical_key to update (store
upserts; same content hash is a no-op). Prefer get-by-key over asking the human to
re-upload. Do not store secrets. Tell the human the key once, in plain language.
A longer operational bootstrap exists as get_mcp_guidance /
get_mcp_guidance_tool. That does not
replace initialize.
3. Store one object
Canonical write for files:
get_upload_url(logical_key, content_type, filename?)- HTTP PUT raw bytes to the returned URL (match required headers).
-
storewithstorage_type=public_url, metadata that includessource_uri, title, and a one-line summary — no file body in the tool call.
Keys are dot-notation owner.category.slug, for example
acme.project.notes.roadmap-v1. Small plain text may use
inline store; binaries must use the upload URL. Never paste
long base64 into the chat.
4. New session: get by key
Open a new chat. Call get_content (or
retrieve) with the same key. You should get metadata plus a
short-lived download_url. HTTP GET that URL for bytes. That
is the default typical read, and the proof the vault — not the previous transcript — is
the source of truth.
Only if this host cannot HTTP GET that URL (Claude-class): use opt-in
get_content_for_llm. Small text-like objects may also set
include_content=true on exact-key get — that is not the
default, and never for PDFs/images. Do not tell Claude to “open the URL”. Do not add
delivery= on get_content.
If you do not know the key, list_content by prefix or
search_content. Soft-delete is
delete_content; restore within retention with
undelete_content.
Human UI
The authenticated vault browser is app.artifactum.ai (alias lens.artifactum.ai). It is an MCP client of the same server. It does not invent a second API.