Cross-platform memory layer that works across Claude Desktop, Cursor, Windsurf, Zed, and browser-based LLMs via Chrome extension. Exposes MCP tools for saving conversations, recalling memories through semantic search, and loading persistent identity context into new sessions. Includes living document primitives with append and replace modes, workflow automation, and a cognitive fingerprint system that frontloads who you are and what you're working on. Ships with a 30-second installer that handles Node setup and OAuth, or run it hosted via streamable-http if you don't want local processes. Free tier gives you 50 recalls per month with unlimited saves. Reach for this if you want conversational continuity across tools without manually copying context between sessions.
Public tool metadata for what this MCP can expose to an agent.
save_conversationSave complete conversations as living documents. REQUIRED: Send COMPLETE conversation in 'conversationContent' parameter (minimum 100 chars, should be thousands). Include EVERY message verbatim - NO summaries or partial content. Intelligently tracks context, extracts project d...5 paramsSave complete conversations as living documents. REQUIRED: Send COMPLETE conversation in 'conversationContent' parameter (minimum 100 chars, should be thousands). Include EVERY message verbatim - NO summaries or partial content. Intelligently tracks context, extracts project d...
tagsarraytitlestringprioritystringlow · medium · highdefault: mediumconversationIdstringconversationContentstringrecall_memoriesSearch and retrieve saved memories with intelligent semantic ranking. 🎯 BASIC SEARCH: recall_memories(query="authentication") → Returns all memories about authentication, ranked by semantic relevance 🔍 FILTERED SEARCH (Phase 2 Knowledge Graph Intelligence): Use filters when...10 paramsSearch and retrieve saved memories with intelligent semantic ranking. 🎯 BASIC SEARCH: recall_memories(query="authentication") → Returns all memories about authentication, ranked by semantic relevance 🔍 FILTERED SEARCH (Phase 2 Knowledge Graph Intelligence): Use filters when...
limitintegerquerystringentitystringintentstringdeadlinestringinitiativestringstakeholderstringcontentPreviewbooleanincludeChunkedbooleanhas_observationsbooleanget_memory_detailsGet complete details of a specific memory, including all linked parts if chunked2 paramsGet complete details of a specific memory, including all linked parts if chunked
memoryIdstringincludeLinkedPartsbooleandiscover_related_conversationsCROSS-PLATFORM DISCOVERY: Find related conversations across ALL AI platforms. Uses Purmemo's semantic clustering to automatically discover conversations about similar topics, regardless of which AI platform was used (ChatGPT, Claude Desktop, Gemini, etc). WHAT THIS DOES: - Sea...3 paramsCROSS-PLATFORM DISCOVERY: Find related conversations across ALL AI platforms. Uses Purmemo's semantic clustering to automatically discover conversations about similar topics, regardless of which AI platform was used (ChatGPT, Claude Desktop, Gemini, etc). WHAT THIS DOES: - Sea...
limitintegerquerystringrelatedPerMemoryintegerget_user_contextGet the current user's cognitive identity and active session context. Call this at the START of a conversation to understand who you're talking to — their role, expertise, current project, and recent memory themes. This is the core of Purmemo's identity layer: once set in the...Get the current user's cognitive identity and active session context. Call this at the START of a conversation to understand who you're talking to — their role, expertise, current project, and recent memory themes. This is the core of Purmemo's identity layer: once set in the...
No parameter schema in public metadata yet.
run_workflowRun a Purmemo workflow — structured, memory-powered processes for product, engineering, business, and operations tasks. Your relevant memories and identity are automatically loaded to personalize every workflow. WHEN TO USE THIS TOOL: - User wants to write a PRD, debug an issu...2 paramsRun a Purmemo workflow — structured, memory-powered processes for product, engineering, business, and operations tasks. Your relevant memories and identity are automatically loaded to personalize every workflow. WHEN TO USE THIS TOOL: - User wants to write a PRD, debug an issu...
inputstringworkflowstringlist_workflowsList all available Purmemo workflows — structured, memory-powered processes you can run. WHEN TO USE THIS TOOL: - User asks "what can you help me with?" or "what workflows do you have?" - User wants to see available capabilities before choosing one - User says "show me what's...1 paramsList all available Purmemo workflows — structured, memory-powered processes you can run. WHEN TO USE THIS TOOL: - User asks "what can you help me with?" or "what workflows do you have?" - User wants to see available capabilities before choosing one - User says "show me what's...
categorystringproduct · strategy · engineering · business · operations · contentshare_memorySet the visibility of a memory you own. VISIBILITY LEVELS: - private: Only you can see it (default) - unlisted: Anyone with the direct link can view it - public: Discoverable in the community tab by all users WHEN TO USE: - User says "share this memory" or "make this public" -...2 paramsSet the visibility of a memory you own. VISIBILITY LEVELS: - private: Only you can see it (default) - unlisted: Anyone with the direct link can view it - public: Discoverable in the community tab by all users WHEN TO USE: - User says "share this memory" or "make this public" -...
memory_idstringvisibilitystringprivate · unlisted · publicrecall_publicSearch public memories shared by all Purmemo users. This is the community knowledge base. WHEN TO USE: - User asks "what have other people saved about X?" - User wants to explore community knowledge - User asks to search public/shared memories - Looking for solutions others ha...5 paramsSearch public memories shared by all Purmemo users. This is the community knowledge base. WHEN TO USE: - User asks "what have other people saved about X?" - User wants to explore community knowledge - User asks to search public/shared memories - Looking for solutions others ha...
tagstringpagenumbersortstringrecent · popularquerystringplatformstringget_public_memoryRetrieve the FULL content of a public or unlisted memory by ID. WHEN TO USE: - After recall_public returns a preview and you need the complete content - When a user wants to read or implement from a shared community memory - When you have a public memory ID and need the full t...1 paramsRetrieve the FULL content of a public or unlisted memory by ID. WHEN TO USE: - After recall_public returns a preview and you need the complete content - When a user wants to read or implement from a shared community memory - When you have a public memory ID and need the full t...
memory_idstringreport_memoryReport a public memory for inappropriate content. WHEN TO USE: - User encounters spam, misleading, or inappropriate public content - User wants to flag content that contains personal information REASONS: spam, inappropriate, misleading, personal_info, other After 3 reports, a...3 paramsReport a public memory for inappropriate content. WHEN TO USE: - User encounters spam, misleading, or inappropriate public content - User wants to flag content that contains personal information REASONS: spam, inappropriate, misleading, personal_info, other After 3 reports, a...
reasonstringspam · inappropriate · misleading · personal_info · othermemory_idstringdescriptionstringMemory for your AI tools. Claude remembers who you are, what you're working on, and what you said last time — across every session, on every platform.
Just want it in ChatGPT or Claude.ai in your browser? Get the Chrome Extension instead.
Mac or Linux:
curl -fsSL https://app.purmemo.ai/install | sh
Windows (PowerShell):
irm https://app.purmemo.ai/install.ps1 | iex
That's it for installing. The script handles everything — it'll install Node if you don't have it, set up the purmemo command, and tell you when it's done.
purmemopurmemo
Your browser opens. Sign in (or create a free account). Close the tab when it says you're done.
Quit and reopen Claude Desktop (or Claude Code). pūrmemo is now connected.
You'll know it worked when your next Claude session opens with a header like:
pūrmemo v15.7.20 · you@example.com · Free · 0 memories
Try saying "save this" at the end of a conversation, or "what was I working on?" at the start of a new one.
purmemo command not found? Close and reopen your terminal, then try again. New commands sometimes need a fresh shell.
You see "Failed to read token" or "bad decrypt"? Run:
purmemo --update && purmemo init
This clears any stale credentials and signs you back in. (Fixed in v15.7.20+ — if you're on an older version, this is a one-time thing.)
Anything else? Open an issue at github.com/purmemo-ai/purmemo-mcp/issues — we read every one.
Three slash commands you'll use most:
| You type | What happens |
|---|---|
/save | Saves this conversation. Use the same title later → updates the same memory. |
/recall <topic> | Search your memories in plain English. |
/context | At the start of a session — loads who you are and what you were last working on. |
npm install -g purmemo-mcp && purmemo
Or, run it once without installing globally:
npx purmemo-mcp@latest init
Open Claude Desktop → Settings → Developer → Edit Config and add:
{
"mcpServers": {
"purmemo": {
"url": "https://mcp.purmemo.ai/mcp/messages",
"transport": "streamable-http"
}
}
}
Restart Claude Desktop. You'll be prompted to sign in via OAuth on first use.
Get your API key from app.purmemo.ai → Settings → API Keys, then edit:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"purmemo": {
"command": "npx",
"args": ["-y", "purmemo-mcp"],
"env": { "PURMEMO_API_KEY": "your-api-key-here" }
}
}
}
Restart Claude Desktop after saving.
Cursor — edit ~/.cursor/mcp.json:
{ "mcpServers": { "purmemo": { "command": "npx", "args": ["-y", "purmemo-mcp"], "env": { "PURMEMO_API_KEY": "your-api-key" } } } }
Windsurf — edit ~/.codeium/windsurf/mcp_config.json (same shape as above).
Zed — edit ~/.config/zed/settings.json, add under context_servers:
{ "context_servers": { "purmemo": { "command": { "path": "npx", "args": ["-y", "purmemo-mcp"], "env": { "PURMEMO_API_KEY": "your-api-key" } } } } }
| Plan | Price | Recalls | Saves |
|---|---|---|---|
| Free | $0 | 50/month | Unlimited |
| Pro | $19/month | Unlimited | Unlimited |
Looking for the technical stuff? It's all here:
save_conversation, recall_memories, commit, snapshot, run_workflow, etc.)mode='append' vs mode='replace', chunking behavior, ADR-036/038 details.The MCP connector code in this repo is MIT licensed. The pūrmemo platform, API, and backend are proprietary.
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent