emem, the verifiable memory protocol for the physical world

by @Vortx-AI · io.github.Vortx-AI/emem

Shared, verifiable memory for machines and AI. Encode where data lives; decode with any AI.

OnlineRemote + local
Category
Knowledge and memory
Connection
Remote (HTTP)
Tools
18 reported
Status
Online

Connect it to your AI

Claude Code

claude mcp add --transport http emem https://emem.dev/mcp

Claude, ChatGPT, Cursor and other apps

Add it as a custom connector with this URL (Streamable HTTP):

https://emem.dev/mcp

Or run it locally (Docker)

claude mcp add emem -- docker run -i --rm ghcr.io/vortx-ai/emem:latest

Cursor, VS Code and other apps (mcp.json)

{
  "mcpServers": {
    "emem": {
      "url": "https://emem.dev/mcp"
    }
  }
}

Tools it offers

18 tools, as the server itself reported during our check on Oct 31, 2026.

  • emem_entityGive a real-world object (a bridge, a farm plot, a river, a named place) one shared identity. Every agent resolves this identity the same way. The result is an `entity_token` (`emem:entity:<entity_cid>`) and a signed rec
  • emem_locateGet the canonical address (cell64) of a real-world place. Every agent resolves a place to the same cell64, so two models refer to the same ground. The answer also lists, by topic, the bands and algorithms that you can re
  • emem_recallRead the signed facts at a canonical address (cell64). When a band has no fact yet but has a registered materializer, the responder fetches it. A fact_cid names one signed attestation, so you can cite a fact and verify i
  • emem_memory_tokenMake a citation handle, `emem:fact:<cell64>:<fact_cid>` (or `:<state_cid>`). Any agent or LLM resolves it to the same signed object, byte for byte. Give this one string to another agent instead of a new description of th
  • emem_memory_token_resolveRead a `emem:fact:<cell64>:<fact_cid>` citation handle and return the reading that it cites. `value`, `unit`, `band` and `kind` are at the TOP level of the answer, beside the full signed `fact` body. You do not split the
  • emem_verify_receiptVerify a signed receipt on the server. The tool builds the canonical preimage again, under the rule that the receipt's `preimage_version` names. It checks the ed25519 signature with the embedded key. It returns `{valid,
  • emem_memory_contradictionsFind where the corpus DISAGREES with itself (algebra: competing evidence). Two or more independent sources can sign different values for the same place, band and time. This tool returns that disagreement with a severity
  • emem_guard_verdictRun the emem-guard policy checks on text before you send it. The checks use this responder's corpus. The tool finds every emem: citation, resolves each one, and returns allow or deny with a reason that a machine can read
  • emem_toolsThe map of emem's tools, and the one tool that finds all the others. It gives the working loop in order (name, ground, cite, resolve, verify, check for drift). Then it groups every other tool by the question it answers,
  • emem_askAnswer a free-text question about a real-world location in one call. Signed satellite, elevation, water and built-up receipts support the answer. The tool sends the place and the question through the locate, recall and a
  • searchSearch emem's signed corpus and get results as citations. Each entry is one signed fact. It has an `id` to dereference, a `title` with band, place and signed value, and a stable `url` that serves those bytes. The query c
  • fetchDereference an id from `search`. You get the reading in one line, then the signed body, the URL that serves those bytes, and metadata: cell, band, signing time and key. The id can be an `emem:fact:` citation, a bare fact
  • emem_echo_verifyGrade a value that you will emit against the signed fact that your citation cites. The tool returns `matches`. When the value does not match, it also returns the `drift` between your value and the value in emem. This ste
  • emem_memory_bundleCombine N (cell, band, tslot?) triples into ONE signed envelope. Each triple goes through the standard recall path, which materializes on a miss. The tool puts the resulting fact_cids in a content-addressed envelope, and
  • emem_entity_resolveFind the objects that agents connected to a phrase. The tool ranks them by INDEPENDENT corroboration, never by arrival order. Each candidate has `asserted_by`, `disputed_by`, `independent_attesters` and `corroboration` (
  • emem_entity_linkRecord a signed, ATTRIBUTED claim that a label or an external id (GERS, OSM, Wikidata) names an existing object. With `stance: "disputes"`, record that it does not. This is a write to the shared space: it changes what ot
  • emem_find_similarFind the k nearest cells in the corpus by cell embedding or by an inline vector. The answer has `neighbors`, nearest first, each with `cell`, `score`, `lat`/`lng` and `band_used`, and a signed receipt over the vectors it
  • emem_intentState what you want in one typed object and get the answer. You do not choose a primitive. `type` selects the intent AND the other fields that the tool reads. Send only the fields in its row. The plan runs in the same ca

Questions

What is the emem, the verifiable memory protocol for the physical world MCP server?

Shared, verifiable memory for machines and AI. Encode where data lives; decode with any AI. It is made by @Vortx-AI and listed in the official MCP Registry as io.github.Vortx-AI/emem. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.

How do I add emem, the verifiable memory protocol for the physical world to Claude?

In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://emem.dev/mcp. In Claude Code, run: claude mcp add --transport http emem https://emem.dev/mcp

How do I add emem, the verifiable memory protocol for the physical world to ChatGPT?

ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://emem.dev/mcp.

How do I add emem, the verifiable memory protocol for the physical world to Cursor?

Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "emem": { "url": "https://emem.dev/mcp" } } }

Does emem, the verifiable memory protocol for the physical world work right now?

Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.

What can emem, the verifiable memory protocol for the physical world do?

It gives your AI 18 tools, including emem_entity, emem_locate, emem_recall, emem_memory_token, emem_memory_token_resolve. The full list is on this page.

Is this your server? Get the badge for your README
chen.media/mcp badge

Markdown (GitHub README)

[![Listed on chen.media/mcp](https://chen.media/mcp/badge/github-vortx-ai-emem.svg)](https://chen.media/mcp/github-vortx-ai-emem)

HTML (switches to dark mode on its own)

<a href="https://chen.media/mcp/github-vortx-ai-emem"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/github-vortx-ai-emem.svg?theme=dark"><img src="https://chen.media/mcp/badge/github-vortx-ai-emem.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>

More in Knowledge and memory

See all