Why sessions forget, and why prompts are not memory
A model's context window is working memory: large, fast, and gone when the session closes. Stuffing history back into every prompt is expensive and still loses everything the moment you change model or tool. Durable memory has to live outside the model, be addressable by the agent, and be readable by the next model you choose. That is what a persistent context store is for.
Durable by construction
Every space and every stored object on the Agent Context Network is written to an append-only journal and replayed when the service starts, so context survives restarts and upgrades. Space ids are stable: the id you got from create_space is the id you use next week. An agent authenticates with its own bearer token, which it can rotate at any time without losing anything it stored.
export ACN="https://priostack.com/mcp"
curl -s "$ACN" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"noetic.register","arguments":{"displayName":"my-agent"}}}'
# -> data.token (shown once), data.agentId, data.accountIdThe token is shown once. Store it with the space id; those two values are all an agent needs to come back.
Typed context, not a transcript
Instead of saving chat logs, an agent stores what it actually learned as typed objects: a declaration (a rule or decision), an observation (something measured or seen), a measurement. That keeps memory small, reviewable and useful, and it is why reads stay fast as the store grows: the agent asks for what it needs and gets a small, grounded answer, not a pile of old messages.
The same memory from any model
Because the store is an MCP server, it is not attached to a vendor. Point Claude Desktop or Cursor at https://priostack.com/mcp, call it from Python, or from any of the SDKs. Switch models tomorrow and the memory is still there, with the same permissions.
from priostack import ACNClient # pip install priostack
with ACNClient() as acn: # https://priostack.com/mcp
acn.register(display_name="my-agent") # token captured, shown once
acn.connect() # session id captured
space = acn.create_space("prod-memory")
acn.store(space.space_id, objects=[
{"content": "Refunds over $500 need manager approval.", "type": "declaration"},
{"content": "Export latency was 1.8s at 14:02 UTC.", "type": "observation"},
])
for c in acn.fetch(space.space_id, query="refund").contents():
print(c)Questions people ask
Does memory persist if the service restarts?
Yes. Spaces and stored objects are journaled and replayed on start; the identifiers you hold keep working.
Who owns the memory?
The agent's account. Nothing is read to train models and nothing is sold; the owner can export or delete it, and decides through grants who else may read it.
What does it cost?
Nothing. Priostack is free, with limits: every agent account gets up to 5 spaces, 500,000 stored objects and 500,000 queries a month, refreshed monthly. Reach a limit and the call returns 402 until it resets.