mcpField
C
Copilot Memory MCP

Copilot Memory MCP

本地服务
github.com/LabForgeDev记忆与知识433 周前更新

关于 Copilot Memory MCP

Copilot Memory MCP 是面向 VS Code 中 GitHub Copilot 的本地语义记忆服务,适用于需要跨会话保留项目背景的开发者。它使用 Docker 和嵌入式 ChromaDB 存储记忆,无需云服务。

主要功能

  1. 01跨会话保存项目记忆
  2. 02使用 ChromaDB 进行语义检索
  3. 03按项目或标签筛选记忆
  4. 04创建、更新、删除和分页浏览记忆

适用场景

  1. 01在 Copilot 会话间保留项目约定
  2. 02检索先前记录的决策和上下文
  3. 03按项目或标签查找相关记忆

MCP 相关

通过 MCP HTTP/SSE 向客户端提供创建、搜索、更新、删除和列出记忆的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"labforgedev-copilot-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/labforgedev/copilot-memory-mcp:1.0.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/labforgedev/copilot-memory-mcp:1.0.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/labforgedev/copilot-memory-mcp:1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

copilot-memory-mcp

许可证:MIT

为 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.mdOpenAI Codex、Claude Code 和大多数 Agent 运行时
CLAUDE.mdClaude Code(claude CLI)
.cursorrulesCursor(旧版格式,项目根目录)
.cursor/rules/memory-tools.mdcCursor(新版逐规则格式)
.github/copilot-instructions.mdVS Code 中的 GitHub Copilot
.github/prompts/save-memory.prompt.mdVS Code /save-memory 提示词
.github/prompts/recall-memory.prompt.mdVS Code /recall-memory 提示词
.github/agents/memory.mdVS 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/chromaChromaDB 持久化路径
PORT8000HTTP 服务端口

将 .env.example 复制为 .env,并根据需要进行调整。


许可证

MIT — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。