{"_id":"@aakarsh-sasi/memory-bank-mcp","_rev":"7-cbf361afdac7310fb89c989a1fbce30d","name":"@aakarsh-sasi/memory-bank-mcp","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"@aakarsh-sasi/memory-bank-mcp","version":"1.0.0","keywords":["mcp","memory-bank","ai","assistant","context","remote-storage","ssh"],"author":{"name":"Aakarsh Sasi"},"license":"MIT","_id":"@aakarsh-sasi/memory-bank-mcp@1.0.0","maintainers":[{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"}],"homepage":"https://github.com/aakarsh-sasi/memory-bank-mcp#readme","bugs":{"url":"https://github.com/aakarsh-sasi/memory-bank-mcp/issues"},"bin":{"memory-bank-mcp":"build/index.js"},"dist":{"shasum":"3459dedbaf3f5da1c91d8380c2360eb19904661f","tarball":"https://registry.npmjs.org/@aakarsh-sasi/memory-bank-mcp/-/memory-bank-mcp-1.0.0.tgz","fileCount":10,"integrity":"sha512-8TNeAgKOEiGAOw+AIsw7UnWLgtWQw8Tawwzn/kcCYUpbMmTBlA6Btg3cpAVOw0cvgl4Yo+lwu/+fWLiYaMy7hQ==","signatures":[{"sig":"MEUCIQCiehE4dlZmME8CTrtACl3GZtb5Qms0pYatz6brCLiOcAIgeKdVikNJbhK4n8kGYKclUgOgPO9nlEGroqhROztO8ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1262819},"main":"build/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"71b31ef72bde4e80ee3d414afd292f0c70e18c45","scripts":{"dev":"bun --watch src/index.ts","test":"bun test","build":"bun run clean && bun build src/index.ts --outdir build --target node","clean":"rm -rf build","start":"bun build/index.js","release":"standard-version","build:start":"bun run build && bun run start","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","test:coverage":"bun test --coverage","prepublishOnly":"bun run build"},"_npmUser":{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"},"repository":{"url":"git+https://github.com/aakarsh-sasi/memory-bank-mcp.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP Server for managing Memory Bank with remote storage support","directories":{"doc":"docs"},"_nodeVersion":"23.3.0","dependencies":{"path":"^0.12.7","ssh2":"^1.15.0","js-yaml":"4.1.0","fs-extra":"^11.1.1","@types/ssh2":"^1.15.4","@types/js-yaml":"4.0.9","@modelcontextprotocol/sdk":"1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"10.9.2","@types/bun":"^1.2.4","typescript":"^5.1.6","@types/node":"^20.11.28","@types/ssh2":"^1.11.18","@types/fs-extra":"^11.0.1","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/memory-bank-mcp_1.0.0_1742390224889_0.2897956209405157","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@aakarsh-sasi/memory-bank-mcp","version":"1.1.1","keywords":["mcp","memory-bank","ai","assistant","context"],"author":{"url":"forked from Movibe","name":"Aakarsh Sasi"},"license":"MIT","_id":"@aakarsh-sasi/memory-bank-mcp@1.1.1","maintainers":[{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"}],"homepage":"https://github.com/aakarsh-sasi/memory-bank-mcp#readme","bugs":{"url":"https://github.com/aakarsh-sasi/memory-bank-mcp/issues"},"bin":{"memory-bank-mcp":"build/index.js"},"dist":{"shasum":"052300984b1fb7861de67fab32bca9178fd0c344","tarball":"https://registry.npmjs.org/@aakarsh-sasi/memory-bank-mcp/-/memory-bank-mcp-1.1.1.tgz","fileCount":12,"integrity":"sha512-HgSzQUqaqAlrph87xetGo3w2QZH0ToXcWdS6lqLJ5PUHlI0ZhOijutQsZIc0d6RJQfwZ7S7KoRLMwo/Hq6Gjww==","signatures":[{"sig":"MEUCIFGnENKc3CAhS18TgduxI0NEc5QPNEDgzP25T2GWPG6hAiEAxMLGZd6ekNcxgLR+9HCj7/YreU23iwmGX1FIXl1d9yE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":459094},"main":"build/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"7851e066a8cdfa216c7411ea5f70cce378bb1271","scripts":{"dev":"bun --watch src/index.ts","test":"bun test","build":"bun run clean && bun build src/index.ts --outdir build --target node","clean":"rm -rf build","start":"bun build/index.js","release":"standard-version","build:start":"bun run build && bun run start","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","test:coverage":"bun test --coverage","prepublishOnly":"bun run build"},"_npmUser":{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"},"repository":{"url":"git+https://github.com/aakarsh-sasi/memory-bank-mcp.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP Server for managing Memory Bank with remote server support","directories":{"doc":"docs"},"_nodeVersion":"23.3.0","dependencies":{"path":"^0.12.7","js-yaml":"4.1.0","fs-extra":"^11.1.1","@types/node":"^20.4.5","@types/js-yaml":"4.0.9","@modelcontextprotocol/sdk":"1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"10.9.2","@types/bun":"^1.2.4","typescript":"^5.1.6","@types/fs-extra":"^11.0.1","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/memory-bank-mcp_1.1.1_1742891364966_0.3200502571861581","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@aakarsh-sasi/memory-bank-mcp","version":"1.1.2","keywords":["mcp","memory-bank","ai","assistant","context"],"author":{"url":"forked from Movibe","name":"Aakarsh Sasi"},"license":"MIT","_id":"@aakarsh-sasi/memory-bank-mcp@1.1.2","maintainers":[{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"}],"homepage":"https://github.com/aakarsh-sasi/memory-bank-mcp#readme","bugs":{"url":"https://github.com/aakarsh-sasi/memory-bank-mcp/issues"},"bin":{"memory-bank-mcp":"build/index.js"},"dist":{"shasum":"47cf901c8dfe139aa12ff6ae6a0628d7fee9471b","tarball":"https://registry.npmjs.org/@aakarsh-sasi/memory-bank-mcp/-/memory-bank-mcp-1.1.2.tgz","fileCount":15,"integrity":"sha512-8b5VrVAtY7rOrcgB0IWarTJsRz6Kx/h29NkcWCVTaHM5x37cyyJ8ev07phWVxRl/KxhuZJSE8IQVKWrBqYjJmQ==","signatures":[{"sig":"MEYCIQCoi6cp3QebUkVuHnUzKcW6eDUGffmWYLQc2M9I5rB3igIhAJsx9PPJfkjqid0wMmRDPePwqMwphVL10Xq4FvM8R61p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465763},"main":"build/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"7851e066a8cdfa216c7411ea5f70cce378bb1271","scripts":{"dev":"bun --watch src/index.ts","test":"bun test","build":"bun run clean && bun build src/index.ts --outdir build --target node","clean":"rm -rf build","start":"bun build/index.js","release":"standard-version","build:start":"bun run build && bun run start","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","test:coverage":"bun test --coverage","prepublishOnly":"bun run build"},"_npmUser":{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"},"repository":{"url":"git+https://github.com/aakarsh-sasi/memory-bank-mcp.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP Server for managing Memory Bank with remote server support","directories":{"doc":"docs"},"_nodeVersion":"23.3.0","dependencies":{"path":"^0.12.7","js-yaml":"4.1.0","fs-extra":"^11.1.1","@types/node":"^20.4.5","@types/js-yaml":"4.0.9","@modelcontextprotocol/sdk":"1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"10.9.2","@types/bun":"^1.2.4","typescript":"^5.1.6","@types/fs-extra":"^11.0.1","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/memory-bank-mcp_1.1.2_1742901532479_0.7933163533081715","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@aakarsh-sasi/memory-bank-mcp","version":"1.1.3","keywords":["mcp","memory-bank","ai","assistant","context"],"author":{"url":"forked from Movibe","name":"Aakarsh Sasi"},"license":"MIT","_id":"@aakarsh-sasi/memory-bank-mcp@1.1.3","maintainers":[{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"}],"homepage":"https://github.com/aakarsh-sasi/memory-bank-mcp#readme","bugs":{"url":"https://github.com/aakarsh-sasi/memory-bank-mcp/issues"},"bin":{"memory-bank-mcp":"build/index.js"},"dist":{"shasum":"b4d59b859bb320ea542f14c9cca2641aa8af66b4","tarball":"https://registry.npmjs.org/@aakarsh-sasi/memory-bank-mcp/-/memory-bank-mcp-1.1.3.tgz","fileCount":15,"integrity":"sha512-nYqoWuxwsYZZI7dNTQiERZLktpo2+opf4YNvIKI4nqHBi6F0o2VlJ1XCJAR6TULcnUd9JHeZZ0VMFpt6xj+c8g==","signatures":[{"sig":"MEYCIQC3SmQWNj2VMNmoy7RLtTn97FIF96WOhzdFuLMnerbaEgIhAOnCIDjfC6r+3PT1i9x5IJd79QA58O9SLiqZKBPxBxOX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466536},"main":"build/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"7851e066a8cdfa216c7411ea5f70cce378bb1271","scripts":{"dev":"bun --watch src/index.ts","test":"bun test","build":"bun run clean && bun build src/index.ts --outdir build --target node","clean":"rm -rf build","start":"bun build/index.js","release":"standard-version","build:start":"bun run build && bun run start","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","test:coverage":"bun test --coverage","prepublishOnly":"bun run build"},"_npmUser":{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"},"repository":{"url":"git+https://github.com/aakarsh-sasi/memory-bank-mcp.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP Server for managing Memory Bank with remote server support","directories":{"doc":"docs"},"_nodeVersion":"23.3.0","dependencies":{"path":"^0.12.7","js-yaml":"4.1.0","fs-extra":"^11.1.1","@types/node":"^20.4.5","@types/js-yaml":"4.0.9","@modelcontextprotocol/sdk":"1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"10.9.2","@types/bun":"^1.2.4","typescript":"^5.1.6","@types/fs-extra":"^11.0.1","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/memory-bank-mcp_1.1.3_1742902423509_0.27991208046041827","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@aakarsh-sasi/memory-bank-mcp","version":"1.1.4","description":"MCP Server for managing Memory Bank with remote server support","type":"module","main":"build/index.js","bin":{"memory-bank-mcp":"build/index.js"},"scripts":{"clean":"rm -rf build","build":"bun run clean && bun build src/index.ts --outdir build --target node","start":"bun build/index.js","dev":"bun --watch src/index.ts","build:start":"bun run build && bun run start","test":"bun test","test:coverage":"bun test --coverage","prepublishOnly":"bun run build","release":"standard-version","release:minor":"standard-version --release-as minor","release:major":"standard-version --release-as major","release:patch":"standard-version --release-as patch"},"keywords":["mcp","memory-bank","ai","assistant","context"],"author":{"name":"Aakarsh Sasi","url":"forked from Movibe"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aakarsh-sasi/memory-bank-mcp.git"},"bugs":{"url":"https://github.com/aakarsh-sasi/memory-bank-mcp/issues"},"homepage":"https://github.com/aakarsh-sasi/memory-bank-mcp#readme","publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"1.6.1","@types/js-yaml":"4.0.9","@types/node":"^20.4.5","fs-extra":"^11.1.1","js-yaml":"4.1.0","path":"^0.12.7"},"devDependencies":{"@types/bun":"^1.2.4","@types/fs-extra":"^11.0.1","standard-version":"^9.5.0","ts-node":"10.9.2","typescript":"^5.1.6"},"engines":{"node":">=18.0.0"},"directories":{"doc":"docs"},"_id":"@aakarsh-sasi/memory-bank-mcp@1.1.4","gitHead":"7851e066a8cdfa216c7411ea5f70cce378bb1271","_nodeVersion":"23.3.0","_npmVersion":"10.8.3","dist":{"integrity":"sha512-qyEN9i8j54q0Uf7aAscu5ByT6hq0si+CQBodVi6p8D9/b7Wbt9V14uq4LvElEL5ZZBrXmHuBjGA7rO6yLqRlXw==","shasum":"1791c4d6b05144aff93f62b40cb5a2d0a0bfe92b","tarball":"https://registry.npmjs.org/@aakarsh-sasi/memory-bank-mcp/-/memory-bank-mcp-1.1.4.tgz","fileCount":19,"unpackedSize":342064,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDZ0+/VyF/8i4w17qXYzePVk1TwChVXupT73ryz/dvFfgIhAO3s6u5ovcKPRNRGE0OF65cfJBlh+cqyyQ4NcTZoD9c2"}]},"_npmUser":{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"},"maintainers":[{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/memory-bank-mcp_1.1.4_1742903738531_0.10843636819423308"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-19T13:17:04.816Z","modified":"2025-03-25T11:55:38.891Z","1.0.0":"2025-03-19T13:17:05.186Z","1.1.0":"2025-03-25T08:24:37.771Z","1.1.1":"2025-03-25T08:29:25.140Z","1.1.2":"2025-03-25T11:18:52.649Z","1.1.3":"2025-03-25T11:33:43.707Z","1.1.4":"2025-03-25T11:55:38.723Z"},"bugs":{"url":"https://github.com/aakarsh-sasi/memory-bank-mcp/issues"},"author":{"name":"Aakarsh Sasi","url":"forked from Movibe"},"license":"MIT","homepage":"https://github.com/aakarsh-sasi/memory-bank-mcp#readme","keywords":["mcp","memory-bank","ai","assistant","context"],"repository":{"type":"git","url":"git+https://github.com/aakarsh-sasi/memory-bank-mcp.git"},"description":"MCP Server for managing Memory Bank with remote server support","maintainers":[{"name":"aakarsh-sasi","email":"aakarshsasi@gmail.com"}],"readme":"# Memory Bank MCP 🧠\n\n[![NPM Version](https://img.shields.io/npm/v/@aakarsh-sasi/memory-bank-mcp.svg)](https://www.npmjs.com/package/@aakarsh-sasi/memory-bank-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Tests](https://github.com/movibe/memory-bank-mcp/actions/workflows/test.yml/badge.svg)](https://github.com/movibe/memory-bank-mcp/actions/workflows/test.yml)\n\nA Model Context Protocol (MCP) server for managing Memory Banks, allowing AI assistants to store and retrieve information across sessions. Now with remote server support!\n\n<a href=\"https://glama.ai/mcp/servers/riei9a6dhx\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/riei9a6dhx/badge\" alt=\"Memory Bank MCP server\" />\n</a>\n\n## Overview 📋\n\nMemory Bank Server provides a set of tools and resources for AI assistants to interact with Memory Banks. Memory Banks are structured repositories of information that help maintain context and track progress across multiple sessions.\n\n## Features ✨\n\n- **Memory Bank Management**: Initialize, find, and manage Memory Banks\n- **File Operations**: Read and write files in Memory Banks\n- **Progress Tracking**: Track progress and update Memory Bank files\n- **Decision Logging**: Log important decisions with context and alternatives\n- **Active Context Management**: Maintain and update active context information\n- **Mode Support**: Detect and use .clinerules files for mode-specific behavior\n- **UMB Command**: Update Memory Bank files temporarily with the UMB command\n- **Robust Error Handling**: Gracefully handle errors and continue operation when possible\n- **Status Prefix System**: Immediate visibility into Memory Bank operational state\n- **Remote Server Support**: Store Memory Banks on a remote server using SSH\n\n## Directory Structure 📁\n\nBy default, Memory Bank uses a `memory-bank` directory in the root of your project. When you specify a project path using the `--path` option, the Memory Bank will be created or accessed at `<project_path>/memory-bank`.\n\nYou can customize the name of the Memory Bank folder using the `--folder` option. For example, if you set `--folder custom-memory`, the Memory Bank will be created or accessed at `<project_path>/custom-memory`.\n\nFor more details on customizing the folder name, see [Custom Memory Bank Folder Name](docs/custom-folder-name.md).\n\n## Recent Improvements 🛠️\n\n- **Remote Server Support**: Store your Memory Bank on a remote server via SSH\n- **Customizable Folder Name**: You can now specify a custom folder name for the Memory Bank\n- **Consistent Directory Structure**: Memory Bank now always uses the configured folder name in the project root\n- **Enhanced Initialization**: Memory Bank now works even when .clinerules files don't exist\n- **Better Path Handling**: Improved handling of absolute and relative paths\n- **Improved Directory Detection**: Better detection of existing memory-bank directories\n- **More Robust Error Handling**: Graceful handling of errors related to .clinerules files\n\nFor more details, see [Memory Bank Bug Fixes](docs/memory-bank-bug-fixes.md).\n\n## Installation 🚀\n\n```bash\n# Install from npm\nnpm install @aakarsh-sasi/memory-bank-mcp\n\n# Or install globally\nnpm install -g @aakarsh-sasi/memory-bank-mcp\n\n# Or run directly with npx (no installation required)\nnpx @aakarsh-sasi/memory-bank-mcp\n```\n\n## Usage with npx 💻\n\nYou can run Memory Bank MCP directly without installation using npx:\n\n```bash\n# Run with default settings\nnpx @aakarsh-sasi/memory-bank-mcp\n\n# Run with specific mode\nnpx @aakarsh-sasi/memory-bank-mcp --mode code\n\n# Run with custom project path\nnpx @aakarsh-sasi/memory-bank-mcp --path /path/to/project\n\n# Run with custom folder name\nnpx @aakarsh-sasi/memory-bank-mcp --folder custom-memory-bank\n\n# Run with remote server\nnpx @aakarsh-sasi/memory-bank-mcp --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank\n\n# Show help\nnpx @aakarsh-sasi/memory-bank-mcp --help\n```\n\nFor more detailed information about using npx, see [npx-usage.md](docs/npx-usage.md).\n\n## Using Remote Server Mode 🌐\n\nMemory Bank MCP now supports storing your Memory Bank on a remote server via SSH. This allows you to:\n\n1. **Centralize your Memory Bank**: Keep all your project memory in one place\n2. **Share Memory Banks**: Multiple users can access the same Memory Bank\n3. **Persistent Storage**: Your Memory Bank persists even if your local machine is wiped\n\n### Remote Server Requirements\n\n- SSH access to the remote server\n- SSH key authentication set up (password authentication is not supported)\n- Sufficient permissions to create/modify files in the specified directory\n\n### Remote Server Configuration\n\nTo use remote server mode, you need to provide the following parameters:\n\n```bash\nnpx @aakarsh-sasi/memory-bank-mcp --remote \\\n  --ssh-key ~/.ssh/your_ssh_key \\\n  --remote-user username \\\n  --remote-host example.host.com \\\n  --remote-path /home/username/memory-bank\n```\n\nBy default, the SSH key is assumed to be at `~/.ssh/your_ssh_key`. You can specify a different key using the `--ssh-key` option.\n\n### Remote Server Example\n\n```bash\n# Using with a server at example.host.com\nnpx @aakarsh-sasi/memory-bank-mcp --remote \\\n  --remote-user username \\\n  --remote-host example.host.com \\\n  --remote-path /home/username/memory-bank\n```\n\n## Configuring in Cursor 🖱️\n\nCursor is an AI-powered code editor that supports the Model Context Protocol (MCP). To configure Memory Bank MCP in Cursor:\n\n1. **Use Memory Bank MCP with npx**:\n\n   No need to install the package globally. You can use npx directly:\n\n   ```bash\n   # Verify npx is working correctly\n   npx @aakarsh-sasi/memory-bank-mcp --help\n   ```\n\n2. **Open Cursor Settings**:\n\n   - Go to Settings (⚙️) > Extensions > MCP\n   - Click on \"Add MCP Server\"\n\n3. **Configure the MCP Server**:\n\n   - **Name**: Memory Bank MCP\n   - **Command**: npx\n   - **Arguments**: `@aakarsh-sasi/memory-bank-mcp --mode code` (or other mode as needed)\n   \n   For remote server:\n   - **Arguments**: `@aakarsh-sasi/memory-bank-mcp --mode code --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank`\n\n4. **Save and Activate**:\n\n   - Click \"Save\"\n   - Enable the MCP server by toggling it on\n\n5. **Verify Connection**:\n   - Open a project in Cursor\n   - The Memory Bank MCP should now be active and available in your AI interactions\n\nFor detailed instructions and advanced usage with Cursor, see [cursor-integration.md](docs/cursor-integration.md).\n\n### Using with Cursor 🤖\n\nOnce configured, you can interact with Memory Bank MCP in Cursor through AI commands:\n\n- **Initialize a Memory Bank**: `/mcp memory-bank-mcp initialize_memory_bank path=./memory-bank`\n- **Track Progress**: `/mcp memory-bank-mcp track_progress action=\"Feature Implementation\" description=\"Implemented feature X\"`\n- **Log Decision**: `/mcp memory-bank-mcp log_decision title=\"API Design\" context=\"...\" decision=\"...\"`\n- **Switch Mode**: `/mcp memory-bank-mcp switch_mode mode=code`\n\n## MCP Modes and Their Usage 🔄\n\nMemory Bank MCP supports different operational modes to optimize AI interactions for specific tasks:\n\n### Available Modes\n\n1. **Code Mode** 👨‍💻\n\n   - Focus: Code implementation and development\n   - Usage: `npx @aakarsh-sasi/memory-bank-mcp --mode code`\n   - Best for: Writing, refactoring, and optimizing code\n\n2. **Architect Mode** 🏗️\n\n   - Focus: System design and architecture\n   - Usage: `npx @aakarsh-sasi/memory-bank-mcp --mode architect`\n   - Best for: Planning project structure, designing components, and making architectural decisions\n\n3. **Ask Mode** ❓\n\n   - Focus: Answering questions and providing information\n   - Usage: `npx @aakarsh-sasi/memory-bank-mcp --mode ask`\n   - Best for: Getting explanations, clarifications, and information\n\n4. **Debug Mode** 🐛\n\n   - Focus: Troubleshooting and problem-solving\n   - Usage: `npx @aakarsh-sasi/memory-bank-mcp --mode debug`\n   - Best for: Finding and fixing bugs, analyzing issues\n\n5. **Test Mode** ✅\n   - Focus: Testing and quality assurance\n   - Usage: `npx @aakarsh-sasi/memory-bank-mcp --mode test`\n   - Best for: Writing tests, test-driven development\n\n### Switching Modes\n\nYou can switch modes in several ways:\n\n1. **When starting the server**:\n\n   ```bash\n   npx @aakarsh-sasi/memory-bank-mcp --mode architect\n   ```\n\n2. **During a session**:\n\n   ```bash\n   memory-bank-mcp switch_mode mode=debug\n   ```\n\n3. **In Cursor**:\n\n   ```\n   /mcp memory-bank-mcp switch_mode mode=test\n   ```\n\n4. **Using .clinerules files**:\n   Create a `.clinerules-[mode]` file in your project to automatically switch to that mode when the file is detected.\n\n## How Memory Bank MCP Works 🧠\n\nMemory Bank MCP is built on the Model Context Protocol (MCP), which enables AI assistants to interact with external tools and resources. Here's how it works:\n\n### Core Components 🧩\n\n1. **Memory Bank**: A structured repository of information stored as markdown files:\n\n   - `product-context.md`: Overall project information and goals\n   - `active-context.md`: Current state, ongoing tasks, and next steps\n   - `progress.md`: History of project updates and milestones\n   - `decision-log.md`: Record of important decisions with context and rationale\n   - `system-patterns.md`: Architecture and code patterns used in the project\n\n2. **MCP Server**: Provides tools and resources for AI assistants to interact with Memory Banks:\n\n   - Runs as a standalone process\n   - Communicates with AI assistants through the MCP protocol\n   - Provides a set of tools for managing Memory Banks\n\n3. **Mode System**: Supports different operational modes:\n   - `code`: Focus on code implementation\n   - `ask`: Focus on answering questions\n   - `architect`: Focus on system design\n   - `debug`: Focus on debugging issues\n   - `test`: Focus on testing\n\n### Data Flow 🔄\n\n1. **Initialization**: The AI assistant connects to the MCP server and initializes a Memory Bank\n2. **Tool Calls**: The AI assistant calls tools provided by the MCP server to read/write Memory Bank files\n3. **Context Maintenance**: The Memory Bank maintains context across sessions, allowing the AI to recall previous decisions and progress\n\n### Memory Bank Structure 📂\n\nMemory Banks use a standardized structure to organize information:\n\n- **Product Context**: Project overview, objectives, technologies, and architecture\n- **Active Context**: Current state, ongoing tasks, known issues, and next steps\n- **Progress**: Chronological record of project updates and milestones\n- **Decision Log**: Record of important decisions with context, alternatives, and consequences\n- **System Patterns**: Architecture patterns, code patterns, and documentation patterns\n\n### Advanced Features 🚀\n\n- **UMB Command**: Temporarily update Memory Bank files during a session without committing changes\n- **Mode Detection**: Automatically detect and switch modes based on user input\n- **File Migration**: Tools for migrating between different file naming conventions\n- **Language Standardization**: All Memory Bank files are generated in English for consistency\n\n## Versioning 📌\n\nThis project follows [Semantic Versioning](https://semver.org/) and uses [Conventional Commits](https://www.conventionalcommits.org/) for commit messages. The version is automatically bumped and a changelog is generated based on commit messages when changes are merged into the main branch.\n\n- **Major version** is bumped when there are breaking changes (commit messages with `BREAKING CHANGE` or `!:`)\n- **Minor version** is bumped when new features are added (commit messages with `feat:` or `feat(scope):`)\n- **Patch version** is bumped for all other changes (bug fixes, documentation, etc.)\n\nFor the complete history of changes, see the [CHANGELOG.md](CHANGELOG.md) file.\n\n## Usage 📝\n\n### As a Command Line Tool 💻\n\n```bash\n# Initialize a Memory Bank\nmemory-bank-mcp initialize_memory_bank path=./memory-bank\n\n# Track progress\nmemory-bank-mcp track_progress action=\"Feature Implementation\" description=\"Implemented feature X\"\n\n# Log a decision\nmemory-bank-mcp log_decision title=\"API Design\" context=\"...\" decision=\"...\"\n\n# Switch mode\nmemory-bank-mcp switch_mode mode=code\n```\n\n### As a Library 📚\n\n```typescript\nimport { MemoryBankServer } from \"@movibe/memory-bank-mcp\";\n\n// Create a new server instance\nconst server = new MemoryBankServer();\n\n// Start the server\nserver.run().catch(console.error);\n```\n\n## Contributing 👥\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.\n\n## License 📄\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Memory Bank Status System 🚦\n\nMemory Bank MCP implements a status prefix system that provides immediate visibility into the operational state of the Memory Bank:\n\n### Status Indicators\n\nEvery response from an AI assistant using Memory Bank MCP begins with one of these status indicators:\n\n- **`[MEMORY BANK: ACTIVE]`**: The Memory Bank is available and being used to provide context-aware responses\n- **`[MEMORY BANK: INACTIVE]`**: The Memory Bank is not available or not properly configured\n- **`[MEMORY BANK: UPDATING]`**: The Memory Bank is currently being updated (during UMB command execution)\n\nThis system ensures users always know whether the AI assistant is operating with full context awareness or limited information.\n\n### Benefits\n\n- **Transparency**: Users always know whether the AI has access to the full project context\n- **Troubleshooting**: Makes it immediately obvious when Memory Bank is not properly configured\n- **Context Awareness**: Helps users understand why certain responses may lack historical context\n\nFor more details, see [Memory Bank Status Prefix System](docs/memory-bank-status-prefix.md).","readmeFilename":"README.md"}