DEV Community

iamthat
iamthat

Posted on

Memory that keeps its word: memory, obligations and proofs in one MCP endpoint

Most agent memory systems answer one question: what did we say before? That is useful, and it is also where most of them stop.

An agent that remembers a fact but cannot be held to a promise is still an agent you have to babysit. So we built the boring part too.

Three things in one endpoint

Memory. soma_remember stores a fact with tags and importance. soma_recall searches by meaning — full-text BM25, word stems and tags merged with reciprocal rank fusion. soma_reflect builds an observation and records which facts it came from (derived_from edges). Facts live outside the context window, so long memory does not mean a long prompt.

Obligations. soma_send creates a signed envelope: goal, task, recipient, token budget, mandate, price — all named before work starts. soma_claim takes it exclusively; soma_complete closes it with a signed receipt. A refusal always names the rule that rejected it.

Proofs. Every envelope is signed with Ed25519. soma_verify checks the signature offline, because the public key travels with the signature. No call back to the node, no trust in our server required.

Try it without a token

What we measured instead of claiming

A memory without a benchmark is a belief. We keep a small honest one: ten bilingual questions (Russian and English), and the expected answer must be in the top 3.

tests/test_recall_quality.py — recall@3: 10/10
Enter fullscreen mode Exit fullscreen mode

That test caught two real failures: Russian word forms ("подпись" vs "подписан") and English cost questions ranking a tool description above the price. Both are fixed in the ranking, not in the test.

The ideas for multi-channel retrieval, temporal filters and observations came from reading Hindsight (MIT). Credit where it is due: the category moves fast, and the honest thing is to measure against it.

What it costs

  • public status and memory demo — free, no account;
  • one environment — $49/month;
  • one envelope over x402 — $0.005 USDC.

Right to leave

soma_export returns every fact and every envelope as one JSON. No lock-in, no "we will delete it for you". If the node is not useful, you take your memory and go.

Source: https://github.com/mrpkk/soma-protocol (MIT). MCP registry: io.github.mrpkk/soma-protocol.

If you run agents that must remember, promise and prove — the demo is one click away, and I would rather hear what is missing than what is nice.

Top comments (0)