{"slug": "memory-that-keeps-its-word-memory-obligations-and-proofs-in-one-mcp-endpoint", "title": "Memory that keeps its word: memory, obligations and proofs in one MCP endpoint", "summary": "A developer released soma-protocol, an MIT-licensed MCP endpoint that combines agent memory, signed obligations and offline-verifiable proofs in one service. The system stores facts outside the context window with BM25, stemming and tag search merged via reciprocal rank fusion, creates Ed25519-signed envelopes for tasks with token budgets and mandates, and lets anyone verify signatures offline since the public key travels with the signature. A ten-question bilingual recall test reports recall@3 of 10/10, and the project credits Hindsight (MIT) for its multi-channel retrieval and observation ideas.", "body_md": "Most agent memory systems answer one question: *what did we say before?* That is useful, and it is also where most of them stop.\n\nAn 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.\n\n**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.\n\n**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.\n\n**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.\n\nA 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.\n\n```\ntests/test_recall_quality.py — recall@3: 10/10\n```\n\nThat 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.\n\nThe 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.\n\n`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.\n\nSource: [https://github.com/mrpkk/soma-protocol](https://github.com/mrpkk/soma-protocol) (MIT). MCP registry: `io.github.mrpkk/soma-protocol`.\n\nIf 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.", "url": "https://wpnews.pro/news/memory-that-keeps-its-word-memory-obligations-and-proofs-in-one-mcp-endpoint", "canonical_source": "https://dev.to/mrpkk/memory-that-keeps-its-word-memory-obligations-and-proofs-in-one-mcp-endpoint-1792", "published_at": "2026-10-23 06:34:55+00:00", "updated_at": "2026-10-23 06:41:31.119313+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools", "artificial-intelligence"], "entities": ["soma-protocol", "mrpkk", "Hindsight", "Ed25519", "MCP"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/memory-that-keeps-its-word-memory-obligations-and-proofs-in-one-mcp-endpoint", "markdown": "https://wpnews.pro/news/memory-that-keeps-its-word-memory-obligations-and-proofs-in-one-mcp-endpoint.md", "text": "https://wpnews.pro/news/memory-that-keeps-its-word-memory-obligations-and-proofs-in-one-mcp-endpoint.txt", "jsonld": "https://wpnews.pro/news/memory-that-keeps-its-word-memory-obligations-and-proofs-in-one-mcp-endpoint.jsonld"}}