Local Memory MCP 서버 | PlugMCP본문으로 건너뛰기Local Memory MCP Server for Coding/AI Agents
This project is a local MCP (Model Context Protocol) server that exposes a small set of tools:
memory.search – semantic search over stored memories
memory.save – store a new memory
memory.supersede – mark an old memory as superseded
memory.delete – permanently remove a memory by id
Local Memory MCP Server for Coding Agents
memory.ping – sanity check / version outputWhat you can do with this project
- Keep durable coding context across chat sessions (decisions, preferences, gotchas, API contracts).
- Retrieve relevant past context semantically (not only keyword matching).
- Scope memory per project using
WORKSPACE_KEY while keeping one shared local database.
- Correct memory over time by superseding outdated entries or deleting irrelevant ones.
- Run everything locally (no external vector DB required).
Typical workflow
- User asks a question in chat.
- Agent calls
memory.search to fetch relevant context.
- Agent answers using retrieved memory + current codebase context.
- New durable insight is stored via
memory.save.
- Old memory is updated via
memory.supersede or removed via memory.delete.
Prerequisites
- Bun installed
- Ollama installed and running locally
Pull the embedding model:
ollama pull embeddinggemma
Install
Run
This runs an MCP server over stdio.
Test
tests/embed.test.ts – validates Ollama embedding response parsing and error handling
tests/memory-db.test.ts – validates save, search, supersede, and delete on the Zvec-backed store
Environment variables
MEMORY_DB_PATH (default ./data/memory.zvec)
OLLAMA_BASE_URL (default http://localhost:11434)
OLLAMA_EMBED_MODEL (default embeddinggemma)
EMBEDDING_DIM (default 768, must match your embedding model)
WORKSPACE_KEY (default default)
VS Code
Workspace setup
This repo includes .vscode/mcp.json that registers this server:
- command:
bun
- args:
run start
You can adjust environment variables in that file.
Always-on across all projects
If you want this MCP server available in all workspaces, add it to your User MCP configuration instead of only .vscode/mcp.json:
- Open Command Palette:
MCP: Open User Configuration
- Add a server entry that starts this repo from a fixed directory.
{
"servers": {
"local-memory-mcp": {
"type": "stdio",
"command": "bun",
"args": ["--cwd", "/path/to/local-memory-mcp", "run", "start"],
"env": {
"MEMORY_DB_PATH": "/path/to/local-memory-mcp/data/memory.zvec",
"OLLAMA_BASE_URL": "http://localhost:11434",
"OLLAMA_EMBED_MODEL": "embeddinggemma",
"EMBEDDING_DIM": "768",
"WORKSPACE_KEY": "${workspaceFolderBasename}"
}
}
}
}
- Use an absolute
MEMORY_DB_PATH so all projects use the same database.
WORKSPACE_KEY=${workspaceFolderBasename} keeps memories separated per project automatically.
- Enable VS Code setting
chat.mcp.autoStart (Experimental) to auto-start/restart MCP servers when needed.
Claude Code
Add this server to Claude Code as a local stdio MCP server.
This repository already includes:
.mcp.json for project-scoped Claude MCP configuration
CLAUDE.md for memory-first agent behavior guidelines
User scope (all projects)
claude mcp add --transport stdio --scope user \
--env MEMORY_DB_PATH=/absolute/path/to/local-memory-mcp/data/memory.zvec \
--env OLLAMA_BASE_URL=http://localhost:11434 \
--env OLLAMA_EMBED_MODEL=embeddinggemma \
--env EMBEDDING_DIM=768 \
--env WORKSPACE_KEY=default \
local-memory-mcp -- bun --cwd /absolute/path/to/local-memory-mcp run start
Project scope (shared in repository)
claude mcp add --transport stdio --scope project \
--env MEMORY_DB_PATH=./data/memory.zvec \
--env OLLAMA_BASE_URL=http://localhost:11434 \
--env OLLAMA_EMBED_MODEL=embeddinggemma \
--env EMBEDDING_DIM=768 \
--env WORKSPACE_KEY=${PWD##*/} \
local-memory-mcp -- bun run start
Project .mcp.json example:
{
"mcpServers": {
"local-memory-mcp": {
"type": "stdio",
"command": "bun",
"args": ["run", "start"],
"env": {
"MEMORY_DB_PATH": "./data/memory.zvec",
"OLLAMA_BASE_URL": "http://localhost:11434",
"OLLAMA_EMBED_MODEL": "embeddinggemma",
"EMBEDDING_DIM": "768",
"WORKSPACE_KEY": "${PWD##*/}"
}
}
}
}
--scope project writes to .mcp.json in the project root.
--scope user stores the server in your user Claude configuration.
- Keep all Claude flags before the server name, and put
-- before the server command.
claude mcp list
claude mcp get local-memory-mcp
claude mcp remove local-memory-mcp
Tool usage (examples)
Search
{
"tool": "memory.search",
"arguments": {
"query": "What is our policy for multi-session memory?",
"topK": 8,
"workspaceKey": "my-repo"
}
}
Save
{
"tool": "memory.save",
"arguments": {
"workspaceKey": "my-repo",
"type": "decision",
"summary": "We use zvec with Ollama embeddinggemma for long-term memory.",
"text": "Decision: The Copilot/agent memory sidecar stores vectors in zvec and generates embeddings via Ollama /api/embed using embeddinggemma.",
"tags": ["memory", "zvec", "ollama", "embeddinggemma"],
"importance": 0.8
}
}
Delete
{
"tool": "memory.delete",
"arguments": {
"workspaceKey": "my-repo",
"id": 42
}
}
Implementation notes
- The DB uses one Zvec collection with:
- dense vector field
embedding
- scalar fields for metadata (
workspaceKey, type, summary, etc.)
- KNN queries are executed through Zvec
querySync with metadata filters.
Tests
tests/embed.test.ts
- parses successful Ollama
/api/embed responses into Float32Array
- verifies error handling when Ollama returns non-2xx responses
tests/memory-db.test.ts
- validates
save + search behavior with workspace/type filtering
- validates
supersede behavior (superseded items are excluded from search)
- validates
delete behavior and returned payload semantics
아직 도구 목록이 없습니다. 원격 서버는 첫 상태 확인 후에 도구 목록이 생깁니다.
Local Memory은(는) 어떻게 설치하나요?
이 페이지에서 Cursor, Claude Desktop, Claude Code 또는 VS Code용 stdio 설정을 복사합니다. PlugMCP 프록시가 아니라 게시자의 설치 방식을 사용합니다.
Local Memory에 API 키가 필요한가요?
이 레코드에는 필수 환경 변수가 등록되어 있지 않습니다.
Local Memory은(는) 어떤 전송 방식을 사용하나요?
Local Memory은(는) stdio를 통해 로컬에서 실행됩니다.
Local Memory은(는) 마지막으로 언제 확인되었나요?
마지막 확인: 2026-10-28. Local Memory MCP Server for Coding Agents
도구
10점 중 0점