
Memory Service MCP Server by Doobidoo: Setup for Claude, Cursor and More
Gives Claude, Cursor and other assistants long-term memory that is saved on your machine and searchable across sessions.
Memory Service is a community project by Doobidoo. It stores what your assistant should remember, such as decisions, notes and documents, and lets it search them later by meaning, words or tags. It also keeps a link graph between memories and can tidy up duplicates.
It runs on your computer and keeps memories in a local database by default. There is no account. Other storage backends exist, including Cloudflare, and an HTTP mode with a REST API and dashboard for agent pipelines.
The assistant can delete and rewrite memories. Back up the database if the memories matter to you.
Good for
- People who are tired of re-explaining their project to their assistant every session
- Developers who want decisions, bugs and conventions captured automatically
- Teams building agent pipelines that need shared memory over an API
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install mcp-memory-service
Claude Code
- 1
Copy this prompt.
Add the mcp-memory-service server to Claude Code. Run this command: claude mcp add memory -- memory server Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Python 3.10+, pip install mcp-memory-service.
Read-only mode: There is no read-only mode. Tools can delete memories.
Run pip install mcp-memory-service first. That installs a command called memory, which the configs above start. If your app cannot find it, use the full path that which memory prints. uvx mcp-memory-service does not work, because the package has no command with that name. Memories are stored locally in a SQLite database by default. The first run downloads a small embedding model. Restart your app after adding the server.
Built from the package data we hold. Not yet tested by us. Source.
Tools
Saves a memory with tags
Saves a piece of information as a memory. You can add tags and metadata so you can find it again.
Try: “Remember that we chose Postgres for the billing service.”
Write ·
memory_storeSaves a whole conversation as one memory
Stores a full multi-turn conversation as a single unit, so later searches find the context together.
Try: “Save this conversation as a session memory.”
Write ·
memory_store_sessionFinds memories
Searches stored memories by meaning, exact words or tags, with filters. It is the main way to recall something.
Try: “What did we decide about the billing database?”
Read ·
memory_searchBrowses memories
Lists memories page by page, with optional filters.
Try: “List my 20 most recent memories.”
Read ·
memory_listDeletes memories by filter
Deletes memories that match filters you combine, such as tags, dates or content hash.
Try: “Delete every memory tagged scratch.”
Delete ·
memory_deleteRemoves duplicates
Finds duplicate memories and removes them.
Try: “Clean up duplicate memories.”
Delete ·
memory_cleanupChecks the database
Reports whether the memory database is healthy and gives its statistics.
Try: “Is my memory store healthy?”
Read ·
memory_healthShows cache and speed stats
Returns caching and start-up timing numbers for the server, for monitoring.
Try: “Show memory server performance stats.”
Read ·
memory_statsEdits a memory's tags and metadata
Changes the tags or metadata of a memory without recreating it. The content and its embedding stay as they were.
Try: “Add the tag billing to that memory.”
Write ·
memory_updateRuns memory tidy-up
Runs, checks or schedules consolidation, which merges and prunes old memories to keep the store lean.
Try: “Run a consolidation pass on my memories.”
Delete ·
memory_consolidateImports documents or folders
Reads a PDF, text, Markdown or JSON file, or a whole folder, from your computer and stores it as memories.
Try: “Ingest the docs in ~/notes into memory.”
Write ·
memory_ingestExtracts learnings from Claude Code sessions
Reads Claude Code session transcripts from your computer and stores the decisions, bugs and conventions it finds.
Try: “Harvest learnings from this session.”
Write ·
memory_harvestRates and analyzes memory quality
Rates a memory, shows its quality numbers, analyzes quality across the store, or runs maintenance.
Try: “Rate that memory as good.”
Write ·
memory_qualityExplores links between memories
Follows connections between memories: finds connected ones, shortest paths, subgraphs and entity profiles.
Try: “Show memories connected to the billing decision.”
Write ·
memory_graphLists contradicting memories
Lists memories that contradict each other and have not been resolved.
Try: “Do any of my memories conflict?”
Read ·
memory_conflictsSettles a memory conflict
Resolves a conflict by choosing which memory wins.
Try: “Keep the newer memory in that conflict.”
Delete ·
memory_resolveRecords a mistake and its fix
Stores what went wrong and the correct action. A repeated mistake raises its failure count.
Try: “Note that deploying without migrations broke staging.”
Write ·
mistake_note_addFinds past mistakes
Searches mistake notes by meaning, to check for known pitfalls before a task.
Try: “Any known pitfalls for database migrations?”
Read ·
mistake_note_searchEdits a mistake note
Changes the fields of an existing mistake note. Changing the content replaces the note.
Try: “Update the fix on that mistake note.”
Delete ·
mistake_note_updateDeletes a mistake note
Deletes a mistake note by its hash. It only deletes memories of the mistake type.
Try: “Delete that mistake note.”
Delete ·
mistake_note_deleteLists flagged memories
Lists memories held back because they contradict active beliefs, so you can review them.
Try: “Show quarantined memories.”
Read ·
get_quarantined_memoriesReleases a flagged memory
Takes a memory out of quarantine when it turns out to be valid.
Try: “Release the quarantined memory about staging.”
Write ·
unquarantine_memorySaves end-of-session learnings
Stores the decisions, errors and corrections from a short-lived agent session as structured notes.
Try: “Commit what we learned this session.”
Write ·
commit_session_legacyBuilds a start-up profile for an agent
Builds a profile of past behavior for a fresh agent. It can reset session counters, so it counts as a write.
Try: “Get my bootstrap profile.”
Write ·
get_bootstrap_profileReturns a setup guide for your app
Returns the integration guide for a given type of client.
Try: “How do I set up memory for Cursor?”
Read ·
get_onboarding_guideDistills insights from memories
Uses a language model to pull insights out of existing memories in a batch.
Try: “Distill insights from my project memories.”
Write ·
memory_distillMaps entities in your memories
Returns a knowledge map of entities with matching snippets for each. It needs an entity graph that already has data.
Try: “Explore what I know about the billing service.”
Read ·
memory_exploreShows one entity in depth
Returns the full ranked detail for a single entity from the knowledge map.
Try: “Show everything about the billing service entity.”
Read ·
memory_detail
Read from the source code
Permissions
high risk · 4 things to watch · 15 advisories
High risk
The assistant can store, rewrite and delete the memories it keeps, and read files you point it to. Back up the database, and keep the web server mode on your own computer only.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can delete memories
memory_delete, memory_cleanup and mistake_note_delete remove stored memories, and memory_consolidate can merge or prune them. Back up the database before long sessions. github.com
It reads files from your computer
memory_ingest reads documents from any folder you name, and memory_harvest reads Claude Code transcripts. Check the paths before approving. github.com
The HTTP mode can run without a login
The README starts the web server with MCP_ALLOW_ANONYMOUS_ACCESS=true. Keep it on 127.0.0.1 and never expose it to a network that way. github.com
It downloads a model on first run
The embedding model comes from an Amazon S3 address the first time it runs. Allow this on a restricted network or install the model in advance. github.com
Security advisories
15 known advisories, all fixed in a newer version.
- SSE MCP transport has no authentication on /sse and /messages/critical · Fixed in 11.11.0 · GHSA-2hh8-qjxc-43x3
- Open DCR lets confidential clients mint read write tokens via client_credentials without owner API keycritical · Fixed in 11.11.0 · GHSA-6mvm-q4j3-27qg
- OAuth client_credentials grant ignores the client's registered grant types and authentication method, allowing an unauthenticated authorization bypasscritical · Fixed in 11.8.2 · GHSA-5p27-64mv-pr73
- mcp-memory-service: Missing Authentication on Document API Endpoints Allows Unauthenticated Memory Read/Write/Deletecritical · Fixed in 10.67.1 · GHSA-84hp-mqvj-3p8h
- Stored XSS in web dashboard via unescaped memory tags in Analytics and Tag-Management views (incomplete fix for GHSA-j664-v823-6p9f)high · Fixed in 12.1.1 · GHSA-6q59-m6vq-x65x
Show all 15Show fewer
- Stored memory tags execute JavaScript in the authenticated dashboardhigh · Fixed in 12.1.0 · GHSA-j664-v823-6p9f
- mcp-memory-server HTTP transport starts without authenticationhigh · Fixed in 11.15.0 · GHSA-26rx-6fvr-qjqg
- mcp-memory-service: OAuth read-only clients can write and delete memories through MCP tools/callhigh · Fixed in 10.65.3 · GHSA-2r68-g678-7qr3
- mcp-memory-service's Wildcard CORS with Credentials Enables Cross-Origin Memory Thefthigh · Fixed in 10.25.1 · GHSA-g9rg-8vq5-mpwm
- Read-only credentials (scope="read" / MCP_READONLY_API_KEY) can mutate persistent agent session state via get_bootstrap_profile and memory://agent/{agent_id}/bootstrapmedium · Fixed in 12.3.0 · GHSA-xhjp-vf97-77wf
- Read-scoped OAuth clients can persist graph entities through a hidden memory_graph actionmedium · Fixed in 12.1.1 · GHSA-2mw6-h564-86wv
- OAuth read-only clients can still write memories through SSE, Streamable HTTP and prompts/get learning_sessionmedium · Fixed in 12.0.1 · GHSA-9x7v-2vjj-xghg
- Unauthenticated GET /mcp/health discloses storage statistics in mcp-memory-servicemedium · Fixed in 11.14.0 · GHSA-7w86-2vmv-fqwm
- Streamable HTTP exposes memory_harvest and memory_ingest filesystem toolsmedium · Fixed in 11.11.0 · GHSA-7crr-2r7w-cpfm
- mcp-memory-service Vulnerable to System Information Disclosure via Health Endpointmedium · Fixed in 10.21.0 · GHSA-73hc-m4hx-79pj
Technical details
| Turning on read-only | No read-only switch exists for the stdio server. Tools that change or delete memories are always listed. |
|---|---|
| Talks to | The first run downloads an embedding model from chroma-onnx-models.s3.amazonaws.com. Cloudflare, only if you choose that storage backend |
| Sign-in and keys | No account or key for the default local setup. Remote HTTP use supports OAuth and API keys, set up separately. |
Questions
Is the Memory Service MCP server official?
No. It is a community project by Doobidoo, not made by Anthropic or any assistant vendor. It is the project's own server and lives in its own repository.
Where are my memories stored?
In a local SQLite database on your computer by default. Other backends are Cloudflare, a hybrid of both, and Milvus, and each one needs its own setup.
How do I install it?
Install the package with pip, then point your app at the memory server command, as the install box shows. The uvx route does not work for this package.
Does it need an API key?
No, not for the default local setup. Remote use through claude.ai or ChatGPT needs an HTTPS address with OAuth, set up as described in the project docs.
Can it run read-only?
No. The server always lists tools that write and delete. Back up your database if the memories are valuable.
Does it work with LangGraph or CrewAI?
Yes, through its REST API. Start it with memory server --http and call it from your pipeline. The README shows the endpoints and links per-framework guides.
Which AI apps does it work with?
The README shows Claude Desktop and Claude Code, and the install box adds configs for other apps that start local servers. ChatGPT and claude.ai need the remote setup.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
mcp-memory-service- Registry
- PyPI
- Transport
- stdio
- Auth
- None
- Version
- 12.4.0
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 23
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- pypi.org · pypi.org