Copilot Memory MCP について
Copilot Memory MCP は、VS Code の GitHub Copilot 向けのローカルなセマンティックメモリーサーバーです。セッションをまたいでプロジェクトの情報を保持したい開発者向けで、Docker 内の組み込み ChromaDB に保存し、クラウドサービスを必要としません。
主な機能
- 01セッションをまたぐプロジェクト記憶の保存
- 02ChromaDB によるセマンティック検索
- 03プロジェクトやタグによる絞り込み
- 04記憶の作成、更新、削除、ページ表示
活用シーン
- 01Copilot セッション間で規約を引き継ぐ
- 02記録済みの決定や背景情報を検索する
- 03プロジェクトやタグから関連記憶を探す
MCP 対応
HTTP/SSE 経由で、記憶の作成、検索、更新、削除、一覧表示を行う MCP ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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 向け永続的なセマンティックメモリです。
セッションをまたいで永続し、プロジェクトごとにスコープを設定できるメモリを Copilot に提供する、ローカル MCP サーバーです。メモリは all-MiniLM-L6-v2 の埋め込みを使った組み込み ChromaDB ベクトルデータベースに保存され、セマンティック検索(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 の指示とエージェント(例)
すぐに使える例は examples/ にあります。該当するファイルを、自分のプロジェクトのルートまたは .github/ にコピーしてください。
| ファイル | 読み込み先 |
|---|---|
AGENTS.md | OpenAI Codex、Claude Code、およびほとんどのエージェント実行環境 |
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 カスタムエージェントモード |
アーキテクチャ
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。