An open normal for moveable, interoperable AI reminiscence throughout instruments, periods, and gadgets.
Each AI device remembers you in a different way — and solely inside its personal partitions.
Claude is aware of what you advised it yesterday. Cursor would not.
ChatGPT discovered your preferences. Your customized agent hasn’t.
Copilot noticed your code type. Your terminal AI is ranging from zero.
Each time you turn instruments, your AI forgets you. You repeat your self. Context is misplaced. The AI that was lastly beginning to know you resets to a stranger.
That is the AI reminiscence silo drawback. And it has the identical answer as each silo drawback earlier than it: an open protocol.
Open Reminiscence Protocol is a vendor-neutral specification for the way AI instruments retailer, retrieve, and share reminiscence about customers and their context.
It’s:
A specification — a exact definition of reminiscence objects, storage format, and HTTP API
A reference server — self-hostable, open-source, runs in Docker in a single command
A set of SDKs — TypeScript and Python libraries for constructing OMP-compatible instruments
A set of adapters — plug-ins for Claude (MCP), OpenAI, Cursor, and extra
Any AI device that implements OMP can immediately share reminiscence with another OMP-compatible device.
Necessities: Node.js 22 or newer
1. Run your reminiscence server
Or with Docker:
Your server is now operating at http://localhost:3456. Check it:
# {“standing”:”okay”,”model”:”0.1″,”compliance”:”OMP-Core”,”memories_count”:0}
2. Join Claude (through MCP)
Add to your Claude Desktop config (~/.claude/claude_desktop_config.json):
“mcpServers”: {
“omp”: {
“command”: “npx“,
“args”: [“omp-mcp“],
“env”: {
“OMP_SERVER”: “http://localhost:3456“,
“OMP_API_KEY”: “your-omp-key“
}
}
}
}
To allow AI-powered reminiscence extraction and compression, additionally set these on the server:
OMP_AI_API_KEY=sk-ant-… # your Anthropic or OpenAI key
Write a reminiscence from any device
-H “Content material-Sort: utility/json“
-d ‘{
“content material”: “Person prefers TypeScript over JavaScript and dislikes verbose feedback”,
“kind”: “semantic”,
“supply”: { “device”: “claude” },
“tags”: [“preferences”, “coding”]
}‘
Question from another device
│ Claude │ │ Cursor │ │ Your Agent │
│ (MCP) │ │ (SDK) │ │ (REST API) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└───────────────────┼───────────────────┘
│
┌────────▼────────┐
│ OMP Server │
│ (self-hosted) │
│ │
│ ┌───────────┐ │
│ │ SQLite │ │
│ │ / Pgvec │ │
│ └───────────┘ │
└─────────────────┘
Each device reads and writes to a single OMP server you management. One reminiscence retailer. All instruments. Zero silos.
OMP defines:
Reminiscence Object — the canonical schema for a reminiscence (content material, kind, supply, tags, timestamps, non-compulsory embedding)
Reminiscence Varieties — episodic (occasions), semantic (information/preferences), procedural (how-to data)
REST API — normal CRUD + semantic search endpoints
Authentication — bearer token, per-tool API keys
Export/Import — moveable JSON format for shifting reminiscences between servers
Learn the complete specification: SPEC.md
“id”: “mem_01j9xk2p3q4r5s6t“,
“content material”: “Person is constructing a fintech startup, prefers clear structure, dislikes over-engineering“,
“kind”: “semantic“,
“supply”: {
“device”: “claude“,
“session_id”: “sess_abc123“,
“timestamp”: “2026-06-29T12:00:00Z“
},
“tags”: [“profile“, “preferences“, “engineering“],
“created_at”: “2026-06-29T12:00:00Z“,
“updated_at”: “2026-06-29T12:00:00Z“,
“expires_at”: null
}
Software
Standing
Set up
Claude (MCP)
✅ Obtainable
npx omp-mcp
OpenAI Assistants
🙋 Assist wished
Open difficulty
Cursor
🙋 Assist wished
Open difficulty
Copilot / VS Code
🙋 Assist wished
Open difficulty
Gemini
🙋 Assist wished
Open difficulty
Customized (REST)
✅ Obtainable
Any HTTP consumer
Need to construct one? An adapter is usually 100–200 strains — learn CONTRIBUTING.md and use adapters/claude-mcp as a template.
The OMP API is apparent REST — any HTTP consumer works out of the field. Typed SDKs are on the roadmap.
Need to construct one? Python, Go, Rust, and Ruby SDKs are all wanted. See CONTRIBUTING.md.
curl -X POST http://localhost:3456/v1/reminiscences
-H “Content material-Sort: utility/json“
-d ‘{“content material”:”Person prefers TypeScript”,”kind”:”semantic”,”supply”:{“device”:”myapp”,”timestamp”:”2026-06-30T00:00:00Z”}}‘
# Search reminiscences
curl -X POST http://localhost:3456/v1/reminiscences/search
-H “Content material-Sort: utility/json“
-d ‘{“q”:”TypeScript”,”restrict”:5}‘
Your reminiscences are yours. They shouldn’t be locked inside an organization’s database, used to coach fashions with out your consent, or misplaced while you change instruments.
OMP is designed on these ideas:
Self-hosted first — you run the server, you personal the information
Vendor impartial — no firm controls the usual
Privateness by design — reminiscences by no means depart your server except you export them
Moveable — import/export your full reminiscence in a single command
OMP is community-driven. We’d like:
Adapter builders — join your favorite AI device
SDK contributors — Go, Rust, Java SDKs welcome
Spec reviewers — learn SPEC.md and open points
Early adopters — attempt it and report what breaks
See CONTRIBUTING.md to get began.
GitHub Discussions — questions, concepts, suggestions
Points — bugs and spec clarifications
Apache 2.0 — free to make use of, modify, and distribute. See LICENSE.
Constructed by SMJAI and contributors.

