memory-manager-mcp
Integrates with GitHub Copilot (via VS Code) as a supported MCP client, enabling persistent project memory for Copilot agents.
Supports VSCodium as an MCP client by auto-registering the server configuration, allowing persistent memory features in the editor.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@memory-manager-mcpSave a memory: we decided to use PostgreSQL for the auth service."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
memory-manage-mcp
Your project remembers, no matter which AI agent you use.
memory-manage-mcp is a local-first, database-free persistent memory server for AI coding agents, exposed over the Model Context Protocol (MCP).
Start a task in VS Code with GitHub Copilot, continue it in Cursor, finish it with Claude Code or Gemini CLI ā the next agent automatically recognizes that it is working on the same project and continues from where the previous agent stopped.
šļø Local-first ā everything is stored as plain files under
~/.agent-memory/. No cloud, no API keys, no external database, no network calls.š¤ Agent & IDE independent ā any MCP client works: VS Code, Cursor, Claude Desktop, Claude Code, Gemini CLI, Windsurf, ā¦
š Project-aware ā projects are identified by git remote URL (or
.agent-memory.json, or path), so the same repo cloned to different machines/paths shares one memory.š§ Curated memory, not chat logs ā decisions, requirements, architecture, tasks, problems, solutions and progress are stored as distilled, ranked entries.
š¤š¤ Structured handoffs ā before an agent stops, it writes what was done, what remains, known problems and the recommended next action.
š”ļø Crash-safe & concurrency-safe ā atomic writes (temp ā fsync ā rename), append-only logs, file locks.
𩺠CLI + doctor ā inspect projects, search memory, and diagnose your setup.
Requirements
Node.js >= 18
(Optional)
giton your PATH ā used read-only for project detection and unfinished-work signals.
Related MCP server: Jarvis Markdown MCP
Install
# from the repository
git clone <this-repo> memory-manager-mcp
cd memory-manager-mcp
pnpm install
pnpm run build
# or install globally
pnpm add -g memory-manage-mcp # once publishedVerify the installation:
node dist/cli/index.js doctor
# Memory MCP is ready.Auto-configure your IDEs (recommended)
One command detects every supported AI client installed on your machine and registers the memory server in each client's MCP config:
memory-manage-mcp setup # or: node dist/cli/index.js setupSupported clients (one dedicated registry per client):
Client | Config file(s) written |
VS Code (Copilot) |
|
Cursor |
|
Claude Desktop |
|
Claude Code |
|
Antigravity |
|
Gemini CLI |
|
Windsurf |
|
Codex CLI |
|
Only clients that are actually installed are touched; others are skipped.
Existing config files are preserved (a
.bakbackup is created first) and written atomically ā other MCP servers you configured stay intact.The server is registered under the name
manager-mcpā that is the prefix you will see on its tools in your IDE (e.g.manager-mcp_save_memory). Entries left under the oldmemorykey by earlier versions are migrated automatically on the nextsetup.Self-registering: the MCP server also registers itself silently the first time it starts, so even a bare
node dist/index.jslaunch ends up configured everywhere. Disable withAGENT_MEMORY_NO_AUTO_SETUP=1.
Useful flags:
memory-manage-mcp setup --dry-run # show what would change, write nothing
memory-manage-mcp setup --client cursor # configure a single client
memory-manage-mcp setup --force # configure even if not detected as installed
memory-manage-mcp setup --json # machine-readable report
memory-manage-mcp uninstall # remove the memory entry from all client configs
memory-manage-mcp uninstall --client vscodeAfter setup, restart your IDE/client and the 15 memory tools are available. Prefer manual configuration? See the next section.
How do I know it is working?
memory-manage-mcp doctorā theClient registrationcheck lists every client where the server is registered asmanager-mcp:ā Client registration registered as "manager-mcp" in: vscode, cursorIn your IDE ā after restarting, the MCP tool list should show the 15 tools prefixed with
manager-mcp_(e.g.manager-mcp_initialize_project_context,manager-mcp_save_memory).Ask your agent ā tell it to call
initialize_project_context; a successful briefing response means the server is live and the project is registered.
Connect your AI client manually
The server speaks MCP over stdio. Point any MCP client at node <path-to>/dist/index.js (or memory-manage-mcp if installed globally).
VS Code (GitHub Copilot)
Add to .vscode/mcp.json (workspace) or your user MCP settings:
{
"servers": {
"manager-mcp": {
"type": "stdio",
"command": "node",
"args": ["C:/path/to/memory-manager-mcp/dist/index.js"]
}
}
}Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"manager-mcp": {
"command": "node",
"args": ["C:/path/to/memory-manager-mcp/dist/index.js"]
}
}
}Claude Desktop / Claude Code
claude_desktop_config.json (or claude mcp add):
{
"mcpServers": {
"manager-mcp": {
"command": "node",
"args": ["C:/path/to/memory-manager-mcp/dist/index.js"]
}
}
}claude mcp add manager-mcp -- node C:/path/to/memory-manager-mcp/dist/index.jsGemini CLI
gemini mcp add manager-mcp -- node C:/path/to/memory-manager-mcp/dist/index.jsAny other MCP client
{
"manager-mcp": {
"command": "node",
"args": ["/absolute/path/to/memory-manager-mcp/dist/index.js"]
}
}Tip: run
pnpm run devduring development ā it starts the server from TypeScript sources viatsx.
How project detection works
When a tool receives a workspacePath (or falls back to the current directory), the project identity is derived with this priority:
Git remote URL ā
https://github.com/company/pms.git,git@github.com:company/pms.gitandssh://ā¦all normalize togithub.com/company/pms, then hash to a stableproj_ā¦id. Same repo, any machine, any clone path ā same memory..agent-memory.jsonā drop this file in a project root to force an identity (for non-git projects or monorepos):{ "projectId": "my-project", "name": "My Project" }Absolute path ā last resort; memory is tied to that exact path.
Projects are auto-registered on first use ā no setup step required.
Storage layout
Everything lives under ~/.agent-memory/ (override with the AGENT_MEMORY_HOME environment variable):
~/.agent-memory/
āāā config.json # server configuration
āāā projects.json # project registry
āāā projects/
āāā proj_<hash>/
āāā project.json # project metadata
āāā context.json # compact project context
āāā memories.jsonl # append-only memory log (versioned + tombstones)
āāā tasks.json # task list
āāā decisions.json # decision log
āāā sessions.jsonl # agent working sessions
āāā handoffs/
āāā latest.json # most recent handoff
āāā history/ # all previous handoffsAll writes are atomic (temp file ā fsync ā rename) or append-only with fsync; list mutations happen under a per-project lock file. Corrupt or partially-written lines are skipped gracefully on read.
Configuration
~/.agent-memory/config.json is created with defaults on first run:
{
"maxContextItems": 20,
"enableRawSessions": true,
"search": { "maxResults": 20 }
}Key | Meaning |
| Max items per section in the generated briefing |
| Keep raw session records (summaries are always kept) |
| Default result limit for |
The MCP tools (16)
Tool | Purpose |
| Call first. Detects/registers the project and returns a compact briefing: current task, latest handoff, previous conversation digest, completed/remaining work, problems, decisions, recommended next action. |
| Lightweight fetch of the stored project context. |
| Save a curated memory ( |
| Retrieve one memory by id. |
| Ranked keyword search across memories, tasks, decisions, handoffs, session summaries, conversation digests and context. |
| Most relevant open task + other open tasks. |
| Create or update a task ( |
| Record an important decision (long-lived in ranking). |
| List decisions, newest first. |
| Call before stopping. Structured handoff: completed, remaining, problems, changed files, next action. |
| Fetch the most recent handoff (optionally with history). |
| Begin tracking an agent working session. |
| Call before stopping. Compress the ENTIRE conversation into one detailed digest (max 4000 chars); injected into the next chat's briefing. |
| End a session with status + summary. |
| Permanently delete one project's memory ( |
| Permanently delete all memory ( |
Recommended agent workflow (zero-touch for the user)
The user never types memory commands ā everything happens automatically behind the scenes:
On start ā the agent calls
initialize_project_contextby itself. The briefing includes the previous conversation's digest, so the agent understands the last chat from first message to last. If unfinished work is detected, it asks the user once: "Would you like to continue where you left off? (yes/no)" ā yes resumes from the recommended next action, no starts fresh.While working ā the agent silently saves decisions, requirements, problems and progress with
save_memory, and tracks work withupdate_task.Before stopping ā the agent silently calls
save_session_digest(compresses the whole conversation into a compact digest), thencreate_handoff+finish_session, so the next chat (even in another IDE) can pick up seamlessly.
A machine-readable version of this guidance lives in docs/AGENT_GUIDE.md ā you can reference it from your client's rules/instructions file.
CLI
memory-manage-mcp <command> [--workspace <path>] [--json]
projects List known projects
project current Detect the project for the current directory
project inspect [id] Inspect a project's stored memory
memory search <query> Search memory across a project
handoff latest Show the most recent handoff
sessions List agent sessions
doctor Diagnose the installation
setup [--client <id>] [--force] [--dry-run]
Auto-configure installed AI clients
uninstall [--client <id>] Remove the memory entry from client configs
clear --all --yes Permanently delete ALL memoryEvery command has built-in help ā use -h / --help after the command, or help <command>:
memory-manage-mcp --help # overview of all commands
memory-manage-mcp help setup # detailed help for one command
memory-manage-mcp setup --help # same thing
memory-manage-mcp doctor -h # short flag works tooExamples:
memory-manage-mcp doctor
memory-manage-mcp project current --workspace ./my-app
memory-manage-mcp memory search "employee permission"
memory-manage-mcp handoff latest --jsonWhen developing from source, prefix commands with
node dist/cli/index.jsinstead ofmemory-manage-mcp.
Privacy
All data stays on your machine in
~/.agent-memory/. Nothing is ever sent anywhere.Raw conversation transcripts are never stored by default; only distilled memories you explicitly save.
Delete a single project with
delete_project_memory, or everything withmemory-manage-mcp clear --all --yes.
Troubleshooting
Symptom | Fix |
Client can't see the tools | Make sure |
Wrong project detected | Check |
Same repo, different memory per machine | Ensure the git remote URL is set ( |
Anything else | Run |
Development
pnpm install
pnpm run build # compile TypeScript ā dist/
pnpm run dev # run the MCP server from sources (tsx)
pnpm run typecheck # strict type check
pnpm test # vitest suite (61 tests: unit + CLI + MCP stdio integration)
pnpm run test:watchArchitecture
types āāŗ storage (MemoryStore interface āāŗ FileSystemMemoryStore)
ā
git service āāŗā
ā¼
project (identity / detector / registry)
ā¼
memory manager + ranker āāŗ search āāŗ context (compressor / unfinished / builder)
ā¼
service facade āāŗ MCP tools āāŗ stdio server
āāāāāāāāāāāāāāāāŗ CLI + doctorThe MemoryStore interface (src/storage/interface.ts) is the only place that touches persistence ā swap in SQLite, Postgres or a cloud backend later without changing any business logic.
License
MIT ā see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenancePersistent memory for AI coding agents. Enables agents to save and recall decisions, patterns, bugs, and context across sessions via an MCP server with local SQLite storage.452MIT
- AlicenseBqualityBmaintenanceLocal-first memory server for AI coding agents that stores work sessions, tasks, and durable memories in Markdown files, exposed through MCP tools for session management and memory retrieval.10151MIT
- AlicenseAqualityBmaintenanceMCP server for persistent, cross-session, local-first memory for AI agents, storing memories as Markdown files with SQLite indexing for hybrid search.24Apache 2.0
- Flicense-qualityCmaintenanceA local-first MCP server that manages developer memory for coding agents, enabling shared project context, permissions, and audit trails across different agents.1
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AbdulqaderAhmed/memory-manager-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server