Are you the author? Sign in to claim
An open standard for portable, interoperable AI memory across tools, sessions, and devices.
An open standard for portable, interoperable AI memory across tools, sessions, and devices.
Try it now — no install needed:
https://omp-server-production.up.railway.app/app
Every AI tool remembers you differently — and only within its own walls.
Every time you switch tools, your AI forgets you. You repeat yourself. Context is lost. The AI that was finally starting to know you resets to a stranger.
This is the AI memory silo problem. And it has the same solution as every silo problem before it: an open protocol.
Open Memory Protocol is a vendor-neutral specification for how AI tools store, retrieve, and share memory about users and their context.
It is:
Any AI tool that implements OMP can instantly share memory with any other OMP-compatible tool.
The OMP reference server is publicly hosted. Just point your tools at it:
https://omp-server-production.up.railway.app
curl https://omp-server-production.up.railway.app/v1/health
# {"status":"ok","version":"0.1","compliance":"OMP-Core","memories_count":0}
Mobile PWA — open on any phone, no install needed:
https://omp-server-production.up.railway.app/app
Requirements: Node.js 22 or newer
npx omp-server
Or with Docker:
docker run -p 3456:3456 -v omp-data:/data ghcr.io/smjai/omp-server
Your server is now running at http://localhost:3456. Test it:
curl http://localhost:3456/v1/health
# {"status":"ok","version":"0.1","compliance":"OMP-Core","memories_count":0}
Replace
http://localhost:3456withhttps://omp-server-production.up.railway.appif using the hosted server.
Find your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.jsonAdd to it:
{
"mcpServers": {
"omp": {
"command": "npx",
"args": ["omp-mcp"],
"env": {
"OMP_SERVER": "http://localhost:3456",
"OMP_API_KEY": "your-omp-key"
}
}
}
}
To enable AI-powered memory extraction and compression, also set these on the server:
OMP_AI_PROVIDER=anthropic # or "openai"
OMP_AI_API_KEY=sk-ant-... # your Anthropic or OpenAI key
Without a system prompt, you have to ask Claude to use OMP tools manually. To make it automatic, create a Project in Claude Desktop and add this system prompt:
You have access to OMP memory tools (omp_remember, omp_recall, omp_list).
At the start of every conversation, use omp_recall to search for memories
relevant to what the user is asking about.
Whenever the user shares anything worth remembering — preferences, decisions,
projects, facts about themselves — automatically use omp_remember to save it
without being asked.
Never tell the user you are saving a memory. Just do it silently.
This makes OMP invisible — Claude just remembers, automatically, across every session.
The OMP Bridge browser extension makes this seamless. No copying JSON, no manual steps.
How it works:
You can also save manually at any point: click the OMP Bridge extension icon → "Save this conversation to OMP".
The handoff brief (AI-generated) looks like:
We were exploring MCP (Model Context Protocol) with ChatGPT — specifically what it
is, how it compares to function calling, and why it's more portable across providers.
I'm ready to go deeper on real-world implementations. Can you show me how to build
an MCP server from scratch?
API — save and replay conversations programmatically:
# Save a conversation
curl -X POST http://localhost:3456/v1/conversations \
-H "Content-Type: application/json" \
-d '{
"model": "chatgpt",
"topic": "MCP deep dive",
"messages": [
{"role": "user", "content": "Tell me about MCP"},
{"role": "assistant", "content": "MCP stands for..."}
]
}'
# Generate a handoff brief for another model
curl -X POST http://localhost:3456/v1/handoff \
-H "Content-Type: application/json" \
-d '{
"conversation_id": "conv_abc123",
"target_model": "claude"
}'
# → { "brief": "We were exploring MCP with ChatGPT...", "topic": "...", "source_model": "chatgpt" }
curl -X POST http://localhost:3456/v1/memories \
-H "Content-Type: application/json" \
-d '{
"content": "User prefers TypeScript over JavaScript and dislikes verbose comments",
"type": "semantic",
"source": { "tool": "claude" },
"tags": ["preferences", "coding"]
}'
curl "http://localhost:3456/v1/memories/search?q=coding+preferences"
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Claude │ │ Cursor │ │ Your Agent │
│ (MCP) │ │ (SDK) │ │ (REST API) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└───────────────────┼───────────────────┘
│
┌────────▼────────┐
│ OMP Server │
│ (self-hosted) │
│ │
│ ┌───────────┐ │
│ │ SQLite │ │
│ │ / Pgvec │ │
│ └───────────┘ │
└─────────────────┘
Every tool reads and writes to a single OMP server you control. One memory store. All tools. Zero silos.
OMP defines:
episodic (events), semantic (facts/preferences), procedural (how-to knowledge)Read the full specification: SPEC.md
{
"id": "mem_01j9xk2p3q4r5s6t",
"content": "User is building a fintech startup, prefers clean architecture, dislikes over-engineering",
"type": "semantic",
"source": {
"tool": "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
}
| Tool | Status | How |
|---|---|---|
| Claude Desktop | ✅ Working | MCP adapter — automatic memory save/recall |
| Claude.ai (web) | ✅ Working | OMP Bridge extension — handoff toast on new chat |
| ChatGPT (web) | ✅ Working | OMP Bridge extension — reads DOM, saves conversation |
| Gemini (web) | ✅ Working | OMP Bridge extension |
| Perplexity (web) | ✅ Working | OMP Bridge extension |
| Claude Code (CLI) | ✅ Working | claude mcp add omp-mcp — same MCP tools |
| Cursor | ✅ Working | omp inject --for cursor — writes .cursorrules |
| GitHub Copilot | ✅ Working | omp inject --for copilot — writes .github/copilot-instructions.md |
| Codex CLI | ✅ Working | omp inject --for codex — writes AGENTS.md |
| Any AI CLI | ✅ Working | omp context | <cli> or omp save |
| Mobile (PWA) | ✅ Working | Open /app on phone → Add to Home Screen |
| Mobile (iOS Shortcut) | ✅ Working | One tap → copies OMP context → paste into any app |
| Remote / cloud | ✅ Live | Hosted at omp-server-production.up.railway.app — or self-host on Railway / fly.io / Docker |
| Custom (REST) | ✅ Available | Any HTTP client |
Install the omp CLI:
npm install -g omp-cli
Claude Code (VS Code or terminal) — full MCP integration:
omp setup claude-code # prints the exact command to run
# then run:
claude mcp add omp -- npx omp-mcp
Claude Code gets omp_remember, omp_recall, omp_compress as tools — same as Claude Desktop.
Cursor — injects memories into .cursorrules:
omp inject --for cursor # run this in your project folder
# Cursor reads .cursorrules automatically on every chat
GitHub Copilot — injects memories into .github/copilot-instructions.md:
omp inject --for copilot
OpenAI Codex CLI — injects into AGENTS.md (auto-read by Codex):
omp inject --for codex && codex
# OR pipe directly:
codex --instructions "$(omp context)"
Continue.dev and any other CLI:
omp context | <your-ai-cli> # pipe memories as context
omp handoff --from chatgpt # continue a web conversation in a CLI
Cross-tool handoff (web → CLI or CLI → web):
# ChatGPT → Claude Code
claude "$(omp handoff --from chatgpt)"
# Claude.ai → Codex
codex --instructions "$(omp handoff --from claude)"
# Save any CLI session back to OMP
omp save --model codex < session.txt
The browser extension brings OMP to the web versions of every AI tool with zero setup on their side.
What it does:
Install (Chrome / Edge / Brave):
cd adapters/browser-extension
npm install && npm run build
Then open chrome://extensions → Enable Developer mode → Load unpacked → select the adapters/browser-extension folder.
Want to build one? An adapter is typically 100–200 lines — read CONTRIBUTING.md and use adapters/claude-mcp as a template.
The OMP API is plain REST — any HTTP client works out of the box. Typed SDKs are on the roadmap.
Want to build one? Python, Go, Rust, and Ruby SDKs are all needed. See CONTRIBUTING.md.
# Save a memory
curl -X POST http://localhost:3456/v1/memories \
-H "Content-Type: application/json" \
-d '{"content":"User prefers TypeScript","type":"semantic","source":{"tool":"myapp","timestamp":"2026-06-30T00:00:00Z"}}'
# Search memories
curl -X POST http://localhost:3456/v1/memories/search \
-H "Content-Type: application/json" \
-d '{"q":"TypeScript","limit":5}'
Your memories are yours. They should not be locked inside a company's database, used to train models without your consent, or lost when you switch tools.
OMP is designed on these principles:
/v1/conversations + /v1/handoff)OMP is community-driven. We need:
See CONTRIBUTING.md to get started.
Apache 2.0 — free to use, modify, and distribute. See LICENSE.
Built by SMJAI and contributors.
⚠️ Experimentelle Skill-Sammlung für deutsches Recht (Arbeits-, Gesellschafts-, Insolvenz-, Datenschutz-, Prozessrecht u
Manage multiple Claude Code agents from TUI or Web with tmux and git worktrees
Project management using GitHub Issues + Git worktrees for parallel agent execution
Core skills library for Claude Code with 20+ battle-tested skills including TDD, debugging, and brainstorming