mcpField
M
MCP Memory Server

MCP Memory Server

ローカル
github.com/jvreaganメモリ・ナレッジ073 週間前に更新

MCP Memory Server について

MCP Memory Serverは、会話をまたいで情報を保持するLLM向けのMCPサーバーです。ローカル保存に対応し、分類検索や利用統計を提供します。

主な機能

  1. 01セッションをまたぐメモリ保持
  2. 02メモリの分類とタグ付け
  3. 03自然言語によるメモリ検索
  4. 04メモリ利用統計
  5. 05ローカルファイル保存

活用シーン

  1. 01会話をまたいだプロジェクトメモの保持
  2. 02会話形式で保存情報を検索
  3. 03メモリの利用状況の確認

MCP 対応

メモリの保存、検索、削除、一覧表示と利用統計の取得を行うツールをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Memory Server

大規模言語モデルに永続的なメモリ機能を提供する、Model Context Protocol(MCP)サーバーです。概念、コードスニペット、メモ、その他会話をまたいでLLMに記憶させたい情報を保存できます。

Go Version License MCP

機能

  • 🧠 永続メモリ - 情報はLLMのセッションをまたいで保持されます
  • 🏷️ スマートな整理 - メモリを分類してタグ付けし、簡単に検索できます
  • 🔍 自然言語検索 - 会話形式のクエリを使ってメモリを見つけられます
  • 📊 使用状況の分析 - 最も頻繁にアクセスされるメモリを追跡します
  • 🔒 ローカルストレージ - すべてのデータはお使いのマシン上に保存されます
  • ⚡ 高速アクセス - メモリ内インデックスにより、すばやく取得できます
  • 🔧 簡単な設定 - 環境変数に基づいて設定できます
  • 🛡️ スレッドセーフ - 適切なロックにより、並行アクセスに対応します

クイックスタート

前提条件
  • Go 1.19以降
  • Claude Desktopアプリケーション
インストール
  1. サーバーをクローンしてビルドします:
git clone https://github.com/yourusername/mcp-memory-server.git
cd mcp-memory-server
go build -o mcp-memory-server cmd/server/main.go
  1. Claude Desktopを設定します:

以下をClaude DesktopのMCP設定ファイルに追加します:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "memory": {
      "command": "/absolute/path/to/your/mcp-memory-server",
      "args": [],
      "env": {
        "MCP_DATA_DIR": "/Users/yourusername/.mcp-memory"
      }
    }
  }
}

利用可能なすべての設定オプションを含む完全な例については、config.example.jsonを参照してください。

  1. Claude Desktopを再起動します

これで、Claudeとの会話でメモリサーバーを利用できるようになります!

使い方

設定後、Claude Desktopで以下のコマンドを使用できます:

情報を保存する
Remember this: The scraping project uses Go with Playwright for browser automation. 
The architecture follows domain-driven design with repositories and services.

Category: project
Tags: go, scraping, web-automation
メモリを検索する
What do you remember about Go web scraping?
カテゴリ別に一覧表示する
Show me all my project memories
統計情報を取得する
What are my memory usage statistics?

利用可能なツール

MCP サーバーは、Claudeに以下のツールを提供します:

ツール説明パラメーター
remember新しい情報を保存しますcontent(必須)、summary、category、tags
recall保存済みのメモリを検索しますquery(必須)、category、tags、limit
forgetIDを指定してメモリを削除しますid(必須)
list_memories絞り込み条件を指定してすべてのメモリを一覧表示しますcategory、tags、limit
memory_stats使用状況の統計情報を取得しますなし

設定

環境変数を使ってサーバーを設定します:

ストレージの設定
変数説明デフォルト
MCP_DATA_DIRメモリファイルを保存するディレクトリ~/.mcp-memory
MCP_MAX_FILE_SIZEメモリファイルの最大サイズ(バイト)104857600(100MB)
MCP_MAX_STORAGE_SIZEストレージ全体の上限(バイト)107374182400(100GB)
非同期動作の設定
変数説明デフォルト
MCP_ENABLE_ASYNC非同期の保存処理を有効にしますtrue
MCP_QUEUE_SIZE非同期保存キューのサイズ1000
MCP_WORKER_THREADS非同期保存に使用するワーカースレッド数2
圧縮の設定
変数説明デフォルト
MCP_ENABLE_COMPRESSIONメモリファイルのgzip圧縮を有効にしますtrue
MCP_COMPRESSION_LEVELgzipの圧縮レベル(1~9、9が最大)6
暗号化の設定
変数説明デフォルト
MCP_ENABLE_ENCRYPTIONメモリファイルのAES-256-GCM暗号化を有効にしますfalse
MCP_ENCRYPTION_KEY_PATH暗号化キーのファイルパス~/.mcp-memory/encryption.key
その他の設定
変数説明デフォルト
MCP_LOG_LEVELログレベル(debug、info、warn、error)info
MCP_LOG_FORMATログ形式(json、text)json
MCP_MAX_RESULTS返される検索結果の最大数20
MCP_ENABLE_EMBEDDINGSセマンティック検索を有効にします(将来対応)false
MCP_EMBEDDING_MODELOpenAI の埋め込みモデルtext-embedding-ada-002

データストレージ

メモリーは、設定したデータディレクトリに保存されます。

~/.mcp-memory/
├── memories/           # Individual memory JSON files
├── index/             # Search indexes (future enhancement)
├── logs/              # Application logs
└── encryption.key     # Encryption key (if encryption is enabled)

各メモリーには、次の情報が含まれます。

  • コンテンツに基づく一意の ID(SHA256 ハッシュ)
  • コンテンツと任意の要約
  • 整理用のカテゴリとタグ
  • 作成日時と更新日時
  • アクセス統計と最終アクセス日時
  • カスタムメタデータ

メモリーファイルは次のとおりです。

  • gzip で圧縮されます(設定可能)
  • AES-256-GCM で暗号化されます(任意)
  • 信頼性を高めるため、個別の JSON ファイルとして保存されます
パフォーマンスの調整

サーバーは、さまざまな用途に合わせて調整できます。

高スループットのシナリオ向け:

{
  "env": {
    "MCP_ENABLE_ASYNC": "true",
    "MCP_QUEUE_SIZE": "5000",
    "MCP_WORKER_THREADS": "4",
    "MCP_COMPRESSION_LEVEL": "1"
  }
}

低レイテンシのシナリオ向け:

{
  "env": {
    "MCP_ENABLE_ASYNC": "false",
    "MCP_ENABLE_COMPRESSION": "false"
  }
}

ストレージに制約のある環境向け:

{
  "env": {
    "MCP_ENABLE_COMPRESSION": "true",
    "MCP_COMPRESSION_LEVEL": "9",
    "MCP_MAX_STORAGE_SIZE": "1073741824"
  }
}

アーキテクチャ

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   Claude LLM    │◄──►│  MCP Protocol    │◄──►│  Memory Store   │
│                 │    │  (JSON-RPC)      │    │  (File-based)   │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                │
                                ▼
                       ┌──────────────────┐
                       │  Local Storage   │
                       │  ~/.mcp-memory/  │
                       └──────────────────┘

開発

プロジェクト構成
mcp-memory-server/
├── cmd/server/         # Main application entry point
├── internal/
│   ├── config/         # Configuration management
│   ├── mcp/           # MCP protocol implementation
│   └── memory/        # Memory storage and retrieval
├── pkg/logger/        # Logging utilities
├── go.mod
└── README.md
ソースからのビルド
# Clone the repository
git clone https://github.com/yourusername/mcp-memory-server.git
cd mcp-memory-server

# Install dependencies
go mod tidy

# Build
go build -o mcp-memory-server cmd/server/main.go

# Run tests
go test ./...
サーバーのテスト

JSON-RPC を使用して、MCP サーバーを手動でテストできます。

# List available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | ./mcp-memory-server

# Store a memory
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"remember","arguments":{"content":"Test memory","category":"test"}}}' | ./mcp-memory-server

トラブルシューティング

サーバーが起動しない場合:

  • バイナリに実行権限があることを確認してください
  • データディレクトリに書き込み権限があることを確認してください
  • データディレクトリ内のログを確認してください

Claude がサーバーに接続しない場合:

  • claude_desktop_config.json 内のパスが絶対パスであることを確認してください
  • サーバーバイナリが存在し、実行可能であることを確認してください
  • Claude Desktop のログで接続エラーを確認してください
  • 設定を変更した後、Claude Desktop を再起動してください

メモリーが保持されない場合:

  • データディレクトリのファイル権限を確認してください
  • MCP_DATA_DIR 環境変数が正しく設定されていることを確認してください
  • サーバーログにエラーメッセージがないか確認してください

今後の機能強化

  • セマンティック検索 - 検索の関連性を高めるベクトル埋め込み
  • Web インターフェイス - ブラウザベースのメモリー管理
  • インポート/エクスポート - バックアップと復元機能
  • メモリーの有効期限 - 古いメモリーの自動クリーンアップ
  • 暗号化 - 機密情報を安全に保存
  • マルチユーザー対応 - ユーザーごとに個別のメモリー領域を提供
  • 高度な検索 - ブール検索とフィルター

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。大きな変更の場合は、まず issue を作成し、変更内容について相談してください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルを参照してください。

謝辞

  • Model Context Protocol 向けに構築されています
  • Claude Desktop とシームレスに連携するよう設計されています
  • LLM の会話に永続的なメモリーが必要であることに着想を得ています

サポート

問題が発生した場合や質問がある場合は、次の手順をお試しください。

  1. トラブルシューティングのセクションを確認します
  2. 既存の GitHub issues を検索します
  3. 問題の詳細を記載して、新しい issue を作成します

MCP コミュニティのために ❤️ を込めて作成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。