open-memory-protocol
Health Uyari
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Uyari
- network request — Outbound network request in adapters/browser-extension/src/background.ts
- process.env — Environment variable access in adapters/claude-mcp/src/index.ts
- network request — Outbound network request in adapters/claude-mcp/src/index.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
An open standard for portable, interoperable AI memory across tools, sessions, and devices.
Open Memory Protocol (OMP)
An open standard for portable, interoperable AI memory across tools, sessions, and devices.
The Problem
Every AI tool remembers you differently — and only within its own walls.
- Claude knows what you told it yesterday. Cursor doesn't.
- ChatGPT learned your preferences. Your custom agent hasn't.
- Copilot saw your code style. Your terminal AI is starting from zero.
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.
What is OMP?
Open Memory Protocol is a vendor-neutral specification for how AI tools store, retrieve, and share memory about users and their context.
It is:
- A specification — a precise definition of memory objects, storage format, and HTTP API
- A reference server — self-hostable, open-source, runs in Docker in one command
- A set of SDKs — TypeScript and Python libraries for building OMP-compatible tools
- A set of adapters — plug-ins for Claude (MCP), OpenAI, Cursor, and more
Any AI tool that implements OMP can instantly share memory with any other OMP-compatible tool.
Quick Start
Requirements: Node.js 22 or newer
1. Run your memory server
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}
2. Connect Claude (via MCP)
Find your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Windows (Store app):
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json
Add 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
3. Make Claude use OMP automatically
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.
4. Continue a conversation in a different AI tool
OMP memories are stored on your server, readable by any tool. To hand off a
conversation from Claude to ChatGPT (or any other AI):
Step 1 — At the end of your Claude session, ask Claude to compress it:
Use omp_compress to save a summary of our conversation.
Step 2 — Fetch your memories:
curl http://localhost:3456/v1/memories
Step 3 — Paste the memory JSON into ChatGPT (or any AI) and say:
Here is my memory store from my OMP server: <paste JSON>
Continue from where I left off.
Any AI tool that can read JSON can instantly pick up where another left off.
This is the core promise of OMP — your context is yours, not locked inside
one tool.
Write a memory from any tool
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"]
}'
Query from any other tool
curl "http://localhost:3456/v1/memories/search?q=coding+preferences"
How It Works
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 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.
The Spec
OMP defines:
- Memory Object — the canonical schema for a memory (content, type, source, tags, timestamps, optional embedding)
- Memory Types —
episodic(events),semantic(facts/preferences),procedural(how-to knowledge) - REST API — standard CRUD + semantic search endpoints
- Authentication — bearer token, per-tool API keys
- Export/Import — portable JSON format for moving memories between servers
Read the full specification: SPEC.md
Memory Object
{
"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
}
Adapters
| Tool | Status | Install |
|---|---|---|
| Claude (MCP) | ✅ Available | npx omp-mcp |
| Browser Extension | ✅ Available | Load unpacked — Chrome/Edge/Brave |
| OpenAI Assistants | 🙋 Help wanted | Open issue |
| Cursor | 🙋 Help wanted | Open issue |
| Copilot / VS Code | 🙋 Help wanted | Open issue |
| Gemini | 🙋 Help wanted | Open issue |
| Custom (REST) | ✅ Available | Any HTTP client |
OMP Bridge — Browser Extension
The browser extension brings OMP to the web versions of every AI tool with zero setup on their side.
What it does:
- Shows a floating 🧠 button on Claude.ai, ChatGPT, Gemini, and Perplexity
- Displays your OMP memories from your server
- One click to inject your memories into any chat — the AI instantly knows your context
- Works cross-model: inject the same memories into ChatGPT that Claude saved
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.
SDKs
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.
REST (any language)
# 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}'
Why Open Source?
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:
- Self-hosted first — you run the server, you own the data
- Vendor neutral — no company controls the standard
- Privacy by design — memories never leave your server unless you export them
- Portable — import/export your full memory in one command
Roadmap
- v0.1 — Core spec, reference server, MCP adapter
- v0.2 — AI memory extraction, conversation compression, MCP resources + prompts
- v0.3 — Semantic search with embeddings, pgvector support
- v0.4 — Memory namespacing (per-project memories)
- v0.5 — Multi-user support, access control
- v1.0 — Stable spec, submitted to open standards body
Contributing
OMP is community-driven. We need:
- Adapter builders — connect your favourite AI tool
- SDK contributors — Go, Rust, Java SDKs welcome
- Spec reviewers — read SPEC.md and open issues
- Early adopters — try it and report what breaks
See CONTRIBUTING.md to get started.
Community
- GitHub Discussions — questions, ideas, feedback
- Issues — bugs and spec clarifications
License
Apache 2.0 — free to use, modify, and distribute. See LICENSE.
Built by SMJAI and contributors.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi