local-agent-context
v0.6.0
Published
A local MCP server for persistent agent memory and context across coding sessions
Maintainers
Readme
local-agent-context
A local MCP server that gives AI coding agents persistent memory and context across sessions. Works with VS Code (Copilot), Cursor, Claude, and any MCP-compatible client.
Why?
Every time you start a new conversation with an AI coding agent, it forgets everything. This server gives agents a local, fast, searchable memory backed by SQLite — so they remember your project conventions, past decisions, active tasks, and lessons learned.
Quick Start
Global Setup (Recommended)
Configure once — works across all projects. Agents pass the workspace path dynamically.
VS Code (GitHub Copilot) — add to User Settings (MCP: Open User Configuration):
{
"servers": {
"agent-context": {
"type": "stdio",
"command": "npx",
"args": ["-y", "local-agent-context@latest"]
}
}
}Cursor — add to ~/.cursor/mcp.json:
{
"mcpServers": {
"agent-context": {
"command": "npx",
"args": ["-y", "local-agent-context@latest"]
}
}
}Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"agent-context": {
"command": "npx",
"args": ["-y", "local-agent-context@latest"]
}
}
}Per-Project Setup (Alternative)
If you prefer a fixed workspace, pass --workspace at startup:
VS Code — add to .vscode/mcp.json:
{
"servers": {
"agent-context": {
"type": "stdio",
"command": "npx",
"args": ["-y", "local-agent-context@latest", "--workspace", "${workspaceFolder}"]
}
}
}How It Works
Name-based workspaces: Every tool accepts an optional workspace parameter — the workspace or project name from your IDE (e.g., "my-app"). If a full path is passed instead, the basename is extracted automatically. The server lazily opens and caches workspace databases on demand.
Fallback chain: Tool workspace arg → --workspace CLI flag → WORKSPACE_PATH env var → global-only mode.
Centralized storage (nothing pollutes your project directories):
- Workspace memories:
~/.local-agent-context/workspaces/<name>/memory.db - Global memory:
~/.local-agent-context/global.db
Both are SQLite databases with FTS5 full-text search.
Tools (10)
All tools accept an optional workspace parameter — the project name (e.g., "my-app") or path. Agents should pass the IDE's workspace/project name.
Core Memory
| Tool | Description |
|------|-------------|
| store_memory | Store a memory with type, title, content, tags, importance (1-10), and scope |
| recall | Full-text search across all memories. Filter by type, tags, scope, status |
| update_memory | Update any fields of an existing memory by ID |
| delete_memory | Soft-delete (archive) or hard-delete a memory by ID |
| list_memories | List memories with optional filters and pagination |
Context
| Tool | Description |
|------|-------------|
| get_context | Get a curated briefing: project info, active tasks, conventions, decisions, lessons, global prefs |
Session Lifecycle
| Tool | Description |
|------|-------------|
| start_session | Start a coding session. Returns full workspace context. Auto-closes any dangling sessions |
| end_session | End session with a summary. Summary is stored as a searchable memory |
Shortcuts
| Tool | Description |
|------|-------------|
| log_decision | Store an architectural decision with rationale (importance defaults to 7) |
| add_lesson | Record a lesson learned with optional context (importance defaults to 6) |
Memory Types
| Type | Use For |
|------|---------|
| project | Stack, structure, build commands, environment setup |
| convention | Coding style, patterns, naming conventions |
| decision | Architectural choices with rationale |
| task | Active work items, TODOs, features in progress |
| lesson | Gotchas, things that went wrong, best practices |
| note | General-purpose notes |
| session_summary | Auto-generated from end_session |
Resources (3)
| URI | Description |
|-----|-------------|
| context://workspace | Full workspace context (same as get_context) |
| context://recent-sessions | Last 5 session summaries |
| context://active-tasks | All active task memories |
Typical Agent Workflow
- Session start: Agent calls
start_sessionwithworkspace→ gets full project briefing - During work: Agent uses
store_memory,log_decision,add_lessonwithworkspaceto persist context - Searching: Agent uses
recallwithworkspaceto find relevant past memories - Session end: Agent calls
end_sessionwithworkspaceand a summary
Configuration
The server accepts these optional startup flags:
--workspace <path>— default workspace path (used when tools don't passworkspace)WORKSPACE_PATHenv var — alternative to--workspace
If neither is set, the server runs in global-only mode until agents pass workspace in tool calls.
Agent Instructions
Copy INSTRUCTIONS.md into your IDE's instruction system so agents automatically use this server:
| IDE | Where to Add |
|-----|-------------|
| VS Code (Copilot) | Copy contents into .github/copilot-instructions.md, or save as .github/instructions/agent-memory.instructions.md |
| Cursor | Copy contents into .cursorrules or .cursor/rules/agent-memory.mdc |
| Claude Desktop | Paste into your Project Instructions |
This teaches the agent to call start_session at the start of every conversation, store decisions/conventions/lessons as they arise, and call end_session with a summary at the end.
Development
git clone https://github.com/yourname/local-agent-context
cd local-agent-context
npm install
npm run build
node dist/index.js --workspace /path/to/projectLicense
MIT
