mcpField
C
Copilot Memory MCP

Copilot Memory MCP

Local
github.com/LabForgeDevMemory & Knowledge4Updated 33w ago

About Copilot Memory MCP

Copilot Memory MCP is a local semantic memory server for GitHub Copilot in VS Code, aimed at developers who need project context across sessions. It stores memories in embedded ChromaDB in Docker and requires no cloud services.

Key features

  1. 01Persist project memories across sessions
  2. 02Search semantically with ChromaDB
  3. 03Filter memories by project or tags
  4. 04Create, update, delete, and page through memories

Use cases

  1. 01Carry project conventions between Copilot sessions
  2. 02Retrieve previously recorded decisions and context
  3. 03Find relevant memories by project or tag

MCP support

Provides MCP tools over HTTP/SSE to create, search, update, delete, and list memories.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"labforgedev-copilot-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/labforgedev/copilot-memory-mcp:1.0.0"
]
}
}
}
Run commanddocker run -i --rm ghcr.io/labforgedev/copilot-memory-mcp:1.0.0

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/labforgedev/copilot-memory-mcp:1.0.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

copilot-memory-mcp

License: MIT

Persistent semantic memory for GitHub Copilot in VS Code.

A local MCP server that gives Copilot durable, project-scoped memory across sessions. Memories are stored in an embedded ChromaDB vector database with all-MiniLM-L6-v2 embeddings, enabling semantic retrieval (RAG). Everything runs in a single Docker container — no cloud services required.


Why this exists

Copilot starts every session with a blank slate. This MCP server gives it a persistent, searchable knowledge base so decisions, conventions, and context carry over between sessions — all running locally in Docker.


Quick start

docker compose up -d

The server starts on http://localhost:8000/sse.

The .vscode/mcp.json already points Copilot at the server — no further VS Code configuration needed.

A sample config is provided in examples/vscode/mcp.json. Copy it to your project's .vscode/mcp.json.


MCP tools

ToolDescription
create_memoryStore a new memory with title, content, optional project scope and tags
search_memoriesSemantic vector search; filter by project and/or tags
update_memoryUpdate an existing memory by ID; re-embeds on change
delete_memoryPermanently delete a memory by ID
list_memoriesBrowse memories with pagination (lightweight, no content)

Copilot instructions & agents (examples)

Ready-to-use examples are in examples/. Copy the relevant file(s) into the root or .github/ of your own project.

FileConsumed by
AGENTS.mdOpenAI Codex, Claude Code, and most agent runtimes
CLAUDE.mdClaude Code (claude CLI)
.cursorrulesCursor (legacy format, project-root)
.cursor/rules/memory-tools.mdcCursor (modern per-rule format)
.github/copilot-instructions.mdGitHub Copilot in VS Code
.github/prompts/save-memory.prompt.mdVS Code /save-memory prompt
.github/prompts/recall-memory.prompt.mdVS Code /recall-memory prompt
.github/agents/memory.mdVS Code @memory custom agent mode

Architecture

VS Code / Copilot
      │  MCP HTTP/SSE (port 8000)
      ▼
┌─────────────────────────────────┐
│  Docker Container               │
│                                 │
│  FastMCP Server (port 8000)     │
│    └── 5 MCP tools              │
│                                 │
│  sentence-transformers          │
│    └── all-MiniLM-L6-v2        │
│        (384-dim embeddings)     │
│                                 │
│  ChromaDB (embedded)            │
│    └── collection "memories"   │
└──────────┬──────────────────────┘
           │ Docker named volume
           ▼
    /data/chroma  (persisted DB)

Project layout

copilot-memory-mcp/
├── app/
│   ├── main.py              # FastMCP server, tool registration
│   ├── memory_store.py      # ChromaDB wrapper (CRUD + search)
│   ├── embeddings.py        # sentence-transformers loader + encode()
│   └── tools/
│       ├── create_memory.py
│       ├── search_memories.py
│       ├── update_memory.py
│       ├── delete_memory.py
│       └── list_memories.py
├── tests/
│   ├── test_memory_store.py
│   └── test_tools.py
├── Dockerfile
├── docker-compose.yml
└── pyproject.toml

Development

Install dependencies
pip install -e ".[dev]"
Run tests
pytest

Tests use an ephemeral in-memory ChromaDB and a mocked embedding function — no Docker, no model download required.

Run the server locally (no Docker)
pip install -e .
PYTHONPATH=. python app/main.py

Environment variables

VariableDefaultDescription
SENTENCE_TRANSFORMERS_HOME/app/modelsModel cache directory
CHROMA_PATH/data/chromaChromaDB persistence path
PORT8000HTTP server port

Copy .env.example to .env and adjust if needed.


License

MIT — see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.