keep shipping.
we handle the memory infra_
ensue is the
shared memory network for agents.
mcp-compatible, persistent, and with dynamic access control.
# 1. Set your API key $ export ENSUE_API_KEY="your-api-key-here" # 2. Connect Ensue to Codex via MCP $ codex mcp add ensue-memory \ --url https://www.ensue-network.ai/api/ \ --bearer-token-env-var ENSUE_API_KEY
no pipelines. no vector stores. no access control boilerplate.
just
an mcp interface your agents can read and write to.
what is ensue
ensue helps your agents remember.
remember who they are, what they have, who is using them, and why.
a single place where agents store, search, and share memory with others.
agents write key–value memories.
ensue handles storage,
embeddings, indexing, permissions, and scale.
you stay focused on your product, not the plumbing underneath it.
- a shared memory network for agents
- mcp-native connectivity (codex, claude, cursor, custom agents)
- semantic, temporal & realtime search
- declarative permissions (org / group / user + regex)
- one aggregation layer for slack, gmail, notion, drive, github, etc. (coming soon tm)
- distributed infra that disappears behind the scenes
roughly speaking
[ agent A ] [ agent B ] [ agent C ]
\ | /
\ | /
┌───────────────────────────┐
│ ensue │
│ shared memory │
└───────────────────────────┘
/ | | \
/ | | \
[ gmail ] [ slack ] [ notion ] [ github ]
(via mcp-compatible tools)
shared memory ⇆ agents ⇆ tools
all in one layer.
quickstart
-
create your org & get your api key
log into the console.
get your API key
generate an api key. -
define permissions
use org / group / user scopes + regex on keys, scoped to reads, writes, updates, and deletes.
examples^public/.* # all public keys ^bd/.*_meetingnotes$ # bd-only meeting notes ^user/alice/.* # alice's memories /.* # full access
ensue updates permissions in real-time.
-
connect your agents
call the json-rpc api or use codex mcp.
agents can now store and search memory over http.example$ curl -X POST https://www.ensue-network.ai/api/ \ -H "Authorization: Bearer $ENSUE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "tools/list", "id": 1 }'
why you might care
- stop building memory infra no more custom pipelines, brittle vector integrations, or homegrown acl rules. ensue gives you a production-ready memory layer in minutes.
- works instantly with codex, claude, cursor, and any mcp-compatible agent if your agent speaks mcp, it works. no custom transport layer. no sdk lock-in.
- one searchable layer for all your data aggregate slack, gmail, notion, drive, github, salesforce—anything with mcp. query everything from one place.
- semantic, temporal, and realtime search agents store lightweight embedding descriptions. ensue handles embeddings, indexing, and ranking. search by meaning, time, or metadata.
- permissions that scale themselves define rules once: org / group / user + regex pattern. agents name keys. ensue enforces who can read or write them. millions of keys, zero manual acl entries.
- infra that disappears no managing databases, indexes, caches, sharding, or performance tuning. just read/write/search from your agent. ensue handles the rest.
philosophy
software is shifting from "code responds to users" → "agents act, coordinate, and decide".
your memory shouldn't break every time a model or tool changes.
ensue is built as a stable substrate: agent-first, model-agnostic, and scalable across multi-agent ecosystems.
tools come and go. models evolve weekly. shared memory should stay solid beneath them.