Claude Desktop Model Context Protocol (MCP) でMemory機能を実装する完全ガイド

## はじめに

本記事では、Claude DesktopにModel Context Protocol (MCP)を使用してMemory機能を実装する方法を詳しく解説します。この機能により、AIアシスタントに長期記憶機能を追加し、よりパーソナライズされた対話を実現することが可能になります。

<blockquote class="twitter-tweet" data-media-max-width="800"><p lang="ja" dir="ltr">公式に記載されていたClaude Desktop MCPのプラグイン memory 使ってみる③<br>取り敢えず動かせた！<br>自動で記憶する機能が上手く働いてないのでそこまで恩恵は受けれないけど、、、自動で記憶してくれるならめっちゃ情報圧縮＋高品質な情報になるのでめっちゃ使えそう！！ <a href="https://t.co/XL5LPliU3J">https://t.co/XL5LPliU3J</a> <a href="https://t.co/zMnqXyRDx6">pic.twitter.com/zMnqXyRDx6</a></p>&mdash; Maki@Sunwood AI Labs. (@hAru_mAki_ch) <a href="https://twitter.com/hAru_mAki_ch/status/1861962891794268375?ref_src=twsrc%5Etfw">November 28, 2024</a></blockquote> 


## Memory機能の概要

@modelcontextprotocol/server-memoryは、ローカルなknowledge graphを使用して永続的なメモリを実装するnpmパッケージです。現在のバージョンは0.5.1で、週間ダウンロード数は516を記録しており、安定した利用実績があります。

## インストールと設定手順

### 1. パッケージのインストール

まず、必要なパッケージをグローバルにインストールします：

```bash
npm install -g @modelcontextprotocol/server-memory
```

### 2. 設定ファイルの作成

Windows環境では、`%APPDATA%\Claude\claude_desktop_config.json`に以下の設定を追加します：

```json
{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": [
        "C:\\Users\\[ユーザー名]\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-memory\\dist\\index.js"
      ]
    }
  }
}
```

### 3. 他のMCPサーバーとの統合

ファイルシステムやGitなど、他のMCPサーバーと組み合わせる場合は、以下のように設定を拡張できます：

```json
{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": [
        "C:\\Users\\[ユーザー名]\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
        "C:\\YourProjectPath"
      ]
    },
    "memory": {
      "command": "node",
      "args": [
        "C:\\Users\\[ユーザー名]\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-memory\\dist\\index.js"
      ]
    },
    "git": {
      "command": "uvx",
      "args": [
        "mcp-server-git",
        "--repository",
        "C:\\YourProjectPath"
      ]
    }
  }
}
```

## メモリー機能の実装詳細

### データ構造の理解

Memory機能は以下の3つの主要な概念に基づいています：

1. Entities（実体）：
```javascript
const entity = {
  "name": "John_Smith",
  "entityType": "person",
  "observations": ["Speaks fluent Spanish"]
};
```

2. Relations（関係）：
```javascript
const relation = {
  "from": "John_Smith",
  "to": "Anthropic",
  "relationType": "works_at"
};
```

3. Observations（観察）：
```javascript
const observation = {
  "entityName": "John_Smith",
  "contents": [
    "Graduated in 2019",
    "Prefers morning meetings"
  ]
};
```

### カスタムインストラクションの設定

効果的なメモリー機能の実装には、以下のようなカスタムインストラクションを設定することをお勧めします：

```bash
Step 1: ユーザー識別
- default_userとして対話を開始
- 未識別の場合は識別を試みる

Step 2: メモリー取得
- 対話開始時に"Remembering..."と表示
- 関連情報をグラフから取得

Step 3: 新規情報の収集
- アイデンティティ（年齢、性別、場所など）
- 行動パターン
- 好み
- 目標
- 人間関係（3次までの繋がり）
```

## 重要な注意点

設定時には以下の点に特に注意が必要です：

1. パスの区切り文字は必ず`\\`（バックスラッシュ2つ）を使用
2. 絶対パスを指定すること
3. ユーザー名は実際のWindowsユーザー名に置き換え
4. 設定変更後はClaude Desktopの再起動が必要

## メリットと活用方法

Memory機能の実装により、以下が可能になります：

1. 会話履歴の永続的な保持
2. ユーザーの好みや特徴の記憶
3. より個人化された対話の実現
4. 一貫性のある長期的なコミュニケーション

## まとめ

Claude DesktopのMemory機能は、AIアシスタントの能力を大きく拡張する重要な機能です。正しく設定することで、より自然で個人化された対話体験を実現できます。この機能は現在もアクティブに開発が続けられており、今後さらなる改善が期待されます。

## 参考文献

- [Model Context Protocol 公式ドキュメント](https://modelcontextprotocol.io/)
- [GitHub - modelcontextprotocol/server-memory](https://github.com/modelcontextprotocol/servers)
- [npm - @modelcontextprotocol/server-memory](https://www.npmjs.com/package/@modelcontextprotocol/server-memory)

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>