关于 Copilot Memory MCP
Copilot Memory MCP 是面向 VS Code 中 GitHub Copilot 的本地语义记忆服务,适用于需要跨会话保留项目背景的开发者。它使用 Docker 和嵌入式 ChromaDB 存储记忆,无需云服务。
主要功能
- 01跨会话保存项目记忆
- 02使用 ChromaDB 进行语义检索
- 03按项目或标签筛选记忆
- 04创建、更新、删除和分页浏览记忆
适用场景
- 01在 Copilot 会话间保留项目约定
- 02检索先前记录的决策和上下文
- 03按项目或标签查找相关记忆
MCP 相关
通过 MCP HTTP/SSE 向客户端提供创建、搜索、更新、删除和列出记忆的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/labforgedev/copilot-memory-mcp:1.0.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/labforgedev/copilot-memory-mcp:1.0.0SSE工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
copilot-memory-mcp
为 VS Code 中的 GitHub Copilot 提供持久语义记忆。
本地 MCP 服务,为 Copilot 提供跨会话持久且限定项目范围的记忆。记忆存储在嵌入式 ChromaDB 向量数据库中,并使用 all-MiniLM-L6-v2 嵌入模型,实现语义检索(RAG)。所有功能都在单个 Docker 容器中运行,无需云服务。
为什么要开发它
Copilot 每次会话开始时都会一片空白。此 MCP 服务为它提供持久、可搜索的知识库,让决策、约定和上下文能够延续到后续会话中,所有功能都在本地 Docker 中运行。
快速开始
docker compose up -d
服务将在 http://localhost:8000/sse 启动。
.vscode/mcp.json 已配置 Copilot 连接此服务,无需进一步配置 VS Code。
示例配置位于 examples/vscode/mcp.json。将其复制到项目的 .vscode/mcp.json。
MCP 工具
| 工具 | 描述 |
|---|---|
create_memory | 存储新记忆,包含标题、内容、可选的项目范围和标签 |
search_memories | 语义向量搜索;可按项目和/或标签筛选 |
update_memory | 按 ID 更新现有记忆;更改后重新生成嵌入 |
delete_memory | 按 ID 永久删除记忆 |
list_memories | 分页浏览记忆(轻量级,不含内容) |
Copilot 指令和 Agent(示例)
可直接使用的示例位于 examples/。将相关文件复制到你自己项目的根目录或 .github/ 目录中。
| 文件 | 使用方 |
|---|---|
AGENTS.md | OpenAI Codex、Claude Code 和大多数 Agent 运行时 |
CLAUDE.md | Claude Code(claude CLI) |
.cursorrules | Cursor(旧版格式,项目根目录) |
.cursor/rules/memory-tools.mdc | Cursor(新版逐规则格式) |
.github/copilot-instructions.md | VS Code 中的 GitHub Copilot |
.github/prompts/save-memory.prompt.md | VS Code /save-memory 提示词 |
.github/prompts/recall-memory.prompt.md | VS Code /recall-memory 提示词 |
.github/agents/memory.md | VS Code @memory 自定义 Agent 模式 |
架构
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)
项目结构
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
开发
安装依赖
pip install -e ".[dev]"
运行测试
pytest
测试使用临时的内存 ChromaDB 和模拟的嵌入函数,无需 Docker,也无需下载模型。
在本地运行服务(无需 Docker)
pip install -e .
PYTHONPATH=. python app/main.py
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
SENTENCE_TRANSFORMERS_HOME | /app/models | 模型缓存目录 |
CHROMA_PATH | /data/chroma | ChromaDB 持久化路径 |
PORT | 8000 | HTTP 服务端口 |
将 .env.example 复制为 .env,并根据需要进行调整。
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。