Model Context Protocol (MCP)
Connect your assistants to the same saved memories through the Model Context Protocol (MCP). Claude, ChatGPT, Cursor, VS Code, Gemini and custom agents can save and recall facts about your preferences, projects and history. MemoraMobi hosts the memory store and computes embeddings on our own servers.
1. The MCP Endpoint
Claude.ai, ChatGPT, Claude Code, Cursor and anything else that speaks MCP connect straight to our Streamable HTTP endpoint and read the same memories (see section 2 for authentication).
Canonical endpoint: https://memoramobi.com/mcp (also served on https://app.memoramobi.com/mcp).
2. Authentication
Choose the authentication method your client supports:
Bearer Token Header
Authorization: Bearer mm_live_...
Standard HTTP header for clients supporting custom headers (e.g. Claude Code, Cursor, Windsurf).
Path-Key URL (Header-less)
POST https://memoramobi.com/mcp/k/mm_live_...
For clients that accept a URL but cannot send custom headers.
OAuth 2.1 + DCR
PKCE / Dynamic Client Registration
For browser-based custom connectors such as Claude.ai and ChatGPT. Approve access through "Sign in with MemoraMobi".
Tools without remote MCP: npx -y https://memoramobi.com/memoramobi-0.3.0.tgz with your API key.
3. Quickstart Request (Curl Example)
Test your connection using a standard MCP initialize JSON-RPC 2.0 payload:
4. Available MCP Tools
MemoraMobi registers 7 core MCP tools during initialization. Tool descriptions below are pulled verbatim from the live server definitions:
| Tool Name | Verbatim Description |
|---|---|
| remember | Store a durable fact about the user. Check `similar` in the response: if an existing memory covers the same fact, call `supersede` on it instead of storing a near-duplicate. Returns {status:"created"|"duplicate", id, similar:[{id,content,score}]}. Use tier "profile" for stable facts about who the user is, "log" for dated events, "note" (default) for everything else. |
| remember_many | Store multiple durable facts about the user in one call. Prefer this over several separate `remember` calls whenever you notice more than one new fact worth saving — for example at a natural pause, or before your final reply in a conversation where several things were learned. Do not wait to be asked; saving proactively is expected. Each item is deduped independently against existing memories, in the order given. Returns {results:[{status:"created"|"duplicate"|"error", id?, similar?, error?}]}, same order and length as the input. |
| recall | Call this at the start of any conversation and whenever the user references their preferences, history, projects, or people. Returns the user's stored memories ranked by relevance. Hybrid semantic + keyword search; results are {id, content, tier, tags, category, score, created_at}. |
| forget | Soft-delete one memory. Pass `id` (from recall/list) to delete it, or `query` to find it: with a query, the memory is deleted only when one confident match exists; otherwise {candidates:[...]} is returned and you must call again with the chosen id. Never deletes on a guess. |
| list | Browse memories newest first with keyset pagination (no search). Returns {items, next_cursor}; pass next_cursor back to get the next page. |
| supersede | Replace an existing memory with an updated fact, keeping history. Use this instead of remember when a fact changed (new address, new preference, corrected detail). Returns {id: new, supersedes: old}. |
| stats | Counts of stored memories by tier, pending embeddings, and the embedding model in use. Returns {total, by_tier, pending_embeddings, embedding_model}. |
5. REST API
You can also read and write memories over plain HTTPS JSON with the same API keys (Authorization: Bearer mm_live_...). Good for scripts, custom GPT Actions, automations and your own apps.
| Request | What it does |
|---|---|
GET /api/memories?q=&limit= | List memories, or search them by meaning + keywords when q is set. |
POST /api/memories | Save a memory: {"content", "tier": "profile|log|note", "tags": []}. Duplicates come back flagged. |
GET /api/memories/:id | One memory with its version history. |
PATCH /api/memories/:id | Edit content, tier, tags or group (history kept). |
POST /api/memories/:id/supersede | Replace an outdated fact with a newer one. |
DELETE /api/memories/:id | Forget a memory (restorable with POST /api/memories/:id/restore). |
GET /api/export | Download everything. |
6. Encryption
Every memory — text, tags and search data — is stored encrypted with a key that is yours alone. A stolen copy of our database or backups can't read it. The key is kept by a locked-down service on our server and used only while you or an assistant you approved is using your memories.
- The hosted endpoint, the REST API, API keys and OAuth connectors all read and write the same encrypted memories — one collection per account, no separate folders or modes.
- Keys and connectors carry their own access to your account. Revoke a key or disconnect a connector (Connect → Connected apps) and that access ends immediately.
- MemoraMobi's service can technically open your memories during your requests — that is what lets ChatGPT, Claude and the others use them without installing anything. We don't read them, and we log only ids and counts.
Looking for your assistant’s setup guide?
Choose from 34 named assistants. Follow its guide, use one-click install where supported, and check that the connection worked.