emem
Shared, verifiable memory for AI agents that issues signed, content-addressed tokens for files, places and observations, checkable offline.
At a Glance
Self-hostable emem core server released under the Apache License 2.0; the hosted node at emem.dev is publicly reachable with no key.
Engagement
Available On
Alternatives
Listed Oct 2026
About emem
emem is an open-source (Apache-2.0) shared memory protocol and hosted responder from Vortx AI. It lets files, Earth observations, agent notes and device traces be named by short content-addressed tokens and signed with Ed25519, so any AI agent can resolve and check them without trusting the sender. It is exposed over MCP, REST and A2A, with Python and TypeScript clients and a self-hostable Rust server.
What It Is
emem splits trust into encoding and decoding. A source such as a file server, lab, camera or device hashes what it holds into units and signs a small record; the bytes stay where they are. Any model resolves the token back to that record, checks the signer and proves that one unit belongs to the whole. Token kinds include emem:fact (one signed observation), emem:bundle (a set of facts), emem:tree (a file as a signed Merkle root over its units), emem:entity (an object identity), emem:state, emem:trace and raster types.
How the workflow runs
An agent connects to the MCP endpoint, which advertises an 18-tool core loop by default, with 115 tools available in total. It resolves a place to a roughly 10 m cell, recalls signed measurements (for example elevation or NDVI from open archives such as ESA, NASA, USGS and JRC), and receives an Ed25519 receipt that verifies offline or at the /verify page. Agent-written notes live in a writable memory with attester-bound namespaces, supersession and contradiction scoring across writers. Reads accept bi-temporal bounds so an auditor can replay what was known on a given date.
Verification and audit
Everything signed enters an append-only RFC 6962 Merkle transparency log, with signed heads, inclusion and consistency proofs and independent witness co-signatures. emem-guard checks citations in a draft and returns allow or deny with a reason. The docs state that a signature shows who signed, not that a value is true.
Where it fits
Documented use cases include shared memory between agents, EUDR due-diligence statements, carbon-project review, flood-exposure pre-screening and checking declared origins. The emem-airgap encoder takes custody of files on machines with no network. It can be self-hosted with Docker, and the project is listed in several MCP and plugin directories.
Community Discussions
Be the first to start a conversation about emem
Share your experience with emem, ask questions, or help others learn from your insights.
Pricing
Open Source (Apache-2.0)
Self-hostable emem core server released under the Apache License 2.0; the hosted node at emem.dev is publicly reachable with no key.
- Apache-2.0 licensed Rust source (LICENSE and NOTICE in repository)
- Self-host via single Rust binary or OCI image ghcr.io/vortx-ai/emem:latest
- Air-gapped encoder: ghcr.io/vortx-ai/emem-airgap
- Hosted node at emem.dev: "Try it, no key"
- MCP, REST (OpenAPI) and A2A interfaces
Capabilities
Key Features
- Content-addressed signed tokens for facts, bundles, files, entities, reasoning states and traces
- Ed25519 receipts verifiable offline
- Merkle tree proofs for selective file unit verification
- Append-only RFC 6962 transparency log with witnesses
- Earth observation facts from open archives with on-demand materialisation
- Agent memory with attester namespaces, supersession and contradiction scoring
- Bi-temporal reads (as_of_tslot, as_of_signed_at)
- emem-guard citation checking
- Signed absences for missing data
- MCP server with 18 core tools and 115 total
- REST API with OpenAPI and A2A agent card
- Air-gapped encoder for devices
- Browser-based file tokeniser that never uploads files
Integrations
Demo Video

