{"id":36797193,"url":"https://github.com/baryhuang/mcp-openmemory","last_synced_at":"2026-01-12T13:30:59.180Z","repository":{"id":297120596,"uuid":"994556733","full_name":"baryhuang/mcp-openmemory","owner":"baryhuang","description":"Simple standalone MCP server giving Claude the ability to remember your conversations and learn from them over time.","archived":false,"fork":false,"pushed_at":"2025-06-06T17:23:52.000Z","size":74,"stargazers_count":52,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-27T11:27:05.405Z","etag":null,"topics":["agent-memory","mcp","mcp-server","openmemory"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baryhuang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-02T05:57:26.000Z","updated_at":"2025-08-21T16:41:48.000Z","dependencies_parsed_at":"2025-06-04T07:15:38.867Z","dependency_job_id":"56cd8924-5805-4ade-b791-ac8b57c971f5","html_url":"https://github.com/baryhuang/mcp-openmemory","commit_stats":null,"previous_names":["baryhuang/mcp-openmemory"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/baryhuang/mcp-openmemory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baryhuang%2Fmcp-openmemory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baryhuang%2Fmcp-openmemory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baryhuang%2Fmcp-openmemory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baryhuang%2Fmcp-openmemory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baryhuang","download_url":"https://codeload.github.com/baryhuang/mcp-openmemory/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baryhuang%2Fmcp-openmemory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28339140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-memory","mcp","mcp-server","openmemory"],"created_at":"2026-01-12T13:30:59.029Z","updated_at":"2026-01-12T13:30:59.130Z","avatar_url":"https://github.com/baryhuang.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MCP OpenMemory Server\n\n[![npm version](https://img.shields.io/npm/v/@peakmojo/mcp-openmemory.svg)](https://www.npmjs.com/package/@peakmojo/mcp-openmemory) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![MCP](https://img.shields.io/badge/MCP-Model%20Context%20Protocol-blue)](https://modelcontextprotocol.io/)\n\nGives Claude the ability to remember your conversations and learn from them over time.\n\n\nhttps://github.com/user-attachments/assets/aef82b8e-3793-4ebd-b993-ddaef14d52d1\n\n\n## Features\n\n- **Memory Storage**: Save and recall conversation messages\n- **Memory Abstracts**: Maintain summarized memory context across conversations\n- **Recent History**: Access recent conversations within configurable time windows\n- **Local Database**: Uses SQLite for persistent storage without external dependencies\n\n## ⚠️ Important\n\n**You must configure `MEMORY_DB_PATH` to a persistent location to avoid losing your conversation history when Claude Desktop closes.** If not configured, the database defaults to `./memory.sqlite` in a temporary location that may be cleared when the application restarts.\n\n## Configuration\n\n### Prerequisites\n\n- **Node.js**: Required to run the MCP server. Verify installation with:\n  ```bash\n  node --version\n  ```\n  If not installed, download from [nodejs.org](https://nodejs.org)\n\n- **Claude Desktop**: Download the latest version for [macOS or Windows](https://modelcontextprotocol.io/quickstart/user)\n\n### Claude Desktop Integration\n\n#### Configuration File Location\n\nThe Claude Desktop configuration file is located at:\n- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`  \n- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\nTo access: Open Claude Desktop → Claude menu → Settings → Developer → Edit Config\n\n#### macOS/Linux\nRun directly using npm\n```json\n{\n  \"mcpServers\": {\n    \"mcp-openmemory\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@peakmojo/mcp-openmemory@latest\"\n      ],\n      \"env\": {\n        \"MEMORY_DB_PATH\": \"/Users/username/mcp-memory.sqlite\"\n      }\n    }\n  }\n}\n```\n\n#### Windows\nRun directly using npm\n```json\n{\n  \"mcpServers\": {\n    \"mcp-openmemory\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@peakmojo/mcp-openmemory@latest\"\n      ],\n      \"env\": {\n        \"MEMORY_DB_PATH\": \"C:\\\\Users\\\\username\\\\mcp-memory.sqlite\"\n      }\n    }\n  }\n}\n```\n\n#### Run from source (all platforms)\n```json\n{\n  \"mcpServers\": {\n    \"memory\": {\n      \"command\": \"npx\",\n      \"args\": [\"/path/to/your/repo/server.js\"],\n      \"env\": {\n        \"MEMORY_DB_PATH\": \"/path/to/your/memory.sqlite\"\n      }\n    }\n  }\n}\n```\n\n### Environment Variables\n\n- `MEMORY_DB_PATH`: Path to SQLite database file (default: `./memory.sqlite`)\n\n### Verification\n\nAfter configuring and restarting Claude Desktop, you should see:\n\n1. **Slider Icon** (🔧) in the bottom left of the input box\n2. **Available Tools** when clicking the slider:\n   - `save_memory`\n   - `recall_memory_abstract` \n   - `update_memory_abstract`\n   - `get_recent_memories`\n\n### Troubleshooting  \n\n#### Server Not Showing Up\n\n1. **Restart Claude Desktop** completely\n2. **Check JSON syntax** in your configuration file\n3. **Verify paths are absolute** (not relative) and exist\n4. **Test manual server start**:\n   ```bash\n   # Test if the server runs correctly\n   npx @peakmojo/mcp-openmemory@latest\n   ```\n\n#### Check Logs\n\n**Log Locations:**\n- **macOS**: `~/Library/Logs/Claude/`\n- **Windows**: `%APPDATA%\\Claude\\logs\\`\n\n**View recent logs:**\n```bash\n# macOS/Linux\ntail -n 20 -f ~/Library/Logs/Claude/mcp*.log\n\n# Windows  \ntype \"%APPDATA%\\Claude\\logs\\mcp*.log\"\n```\n\n#### Common Issues\n\n- **ENOENT errors on Windows**: Add `APPDATA` to your env configuration\n- **Tool calls failing**: Check server logs for errors\n- **NPM not found**: Install NPM globally with `npm install -g npm`\n\nFor detailed troubleshooting, see the [official MCP documentation](https://modelcontextprotocol.io/quickstart/user).\n\n### Security Note\n\n⚠️ **Claude Desktop runs MCP servers with your user account permissions.** Only install servers from trusted sources.\n\n## Available Tools\n\n- **save_memory**: Store individual conversation messages\n- **recall_memory_abstract**: Get current memory summary\n- **update_memory_abstract**: Update the memory summary  \n- **get_recent_memories**: Retrieve recent conversation history\n\n## Usage\n\nThe server starts automatically when configured with Claude Desktop. The database will be created automatically on first use.\n\n## Example System Prompt\n```\n# Memory Usage Guidelines\n\nYou should use memory tools thoughtfully to enhance conversation continuity and context retention:\n\n## When to Save Memory\n- **save_memory**: Store significant conversation exchanges, important decisions, user preferences, or key context that would be valuable to remember in future conversations\n- Focus on information that has lasting relevance rather than temporary details\n- Save when users share important personal information, project details, or ongoing work context\n\n## When to Update Memory Abstract  \n- **update_memory_abstract**: After processing recent conversations, combine new important information with existing context to create an improved summary\n- Update when there are meaningful developments in ongoing projects or relationships\n- Consolidate related information to maintain coherent context over time\n\n## When to Recall Memory\n- **recall_memory_abstract**: Use at the beginning of conversations to understand previous context, or when you need background information to better assist the user\n- **get_recent_memories**: Access when you need specific details from recent exchanges that aren't captured in the abstract\n- Recall when the user references previous conversations or when context would significantly improve your assistance\n\n## What Constitutes Critical Information\n- User preferences and working styles\n- Ongoing projects and their current status  \n- Important personal or professional context\n- Decisions made and their rationale\n- Key relationships or collaborations mentioned\n- Technical specifications or requirements for recurring tasks\n\nUse these tools to build continuity and provide more personalized assistance, not as error-prevention mechanisms or intent-guessing systems.\n```\n\n## 🔀 Namespacing Memory by Project\n\nYou can separate memory per project in two ways:\n\n### 1. Hard Separation (Claude vs Cursor)\n\nUse different `MEMORY_DB_PATH` in each app's config:\n\n- **Claude** (`claude_desktop_config.json`):\n\n```json\n\"mcpServers\": {\n  \"claude-memory\": {\n    \"command\": \"npx\",\n    \"args\": [\"@peakmojo/mcp-openmemory@latest\"],\n    \"env\": {\n      \"MEMORY_DB_PATH\": \"/Users/you/claude-memory.sqlite\"\n    }\n  }\n}\n```\n- **Cursor** (.cursor/config.json or tool config):\n```\n\"mcpServers\": {\n  \"cursor-memory\": {\n    \"command\": \"npx\",\n    \"args\": [\"@peakmojo/mcp-openmemory@latest\"],\n    \"env\": {\n      \"MEMORY_DB_PATH\": \"/Users/you/cursor-memory.sqlite\"\n    }\n  }\n}\n```\nEach app runs its own instance, storing to its own DB.\n\n### 2. Soft Namespacing via context\n\nWhen calling memory tools, pass a custom \"context\":\n```\n{ \"context\": \"project-x\", \"message\": \"Notes from project X.\" }\n```\nUse this to segment memory logically within the same database.\n\n🔍 Semantic search is not supported yet. Open a GitHub issue if needed.\n\n## References\n\n- **[Model Context Protocol (MCP) Official Documentation](https://modelcontextprotocol.io/)** - Complete MCP specification and guides\n- **[MCP Quickstart for Claude Desktop Users](https://modelcontextprotocol.io/quickstart/user)** - Step-by-step setup guide\n- **[MCP Server Development Guide](https://modelcontextprotocol.io/quickstart/server)** - For building custom MCP servers\n- **[MCP GitHub Repository](https://github.com/modelcontextprotocol)** - Official MCP implementation and examples\n- **[Claude Desktop](https://claude.ai/desktop)** - Download Claude Desktop application\n- **[Node.js](https://nodejs.org/)** - Required runtime for MCP servers\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaryhuang%2Fmcp-openmemory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaryhuang%2Fmcp-openmemory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaryhuang%2Fmcp-openmemory/lists"}