mcpField
G
Gemdex

Gemdex

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

Gemdex について

Gemdexは、AIコーディングエージェント向けに、セッションやリポジトリをまたいで使える永続メモリを提供します。テキストやメディアを保存・検索・更新でき、セマンティック検索とBM25を組み合わせます。ローカルのmacOS環境とセルフホストに対応します。

主な機能

  1. 01セッションをまたぐメモリの保存と検索
  2. 02セマンティック検索とBM25の併用
  3. 03メモリの更新と利用結果の記録
  4. 04画像、音声、動画の添付
  5. 05ローカルmacOSとセルフホストの運用

活用シーン

  1. 01リポジトリ間でプロジェクトの規約を再利用
  2. 02ワークフローの知識を保存・検索
  3. 03スクリーンショットや録音から関連メモリを検索
  4. 04チャット履歴の取り込みと整理候補の確認

MCP 対応

ローカルstdioのMCPサーバーとセルフホスト用Streamable HTTP MCPサーバーを提供し、メモリの保存、検索、読み取り、更新ツールをエージェントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nikships-gemdex": {
"command": "npx",
"args": [
"-y",
"gemdex-mcp"
],
"env": {
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"GEMDEX_MODE": "<GEMDEX_MODE>",
"LANCEDB_PATH": "<LANCEDB_PATH>",
"EMBEDDING_MODEL": "<EMBEDDING_MODEL>",
"GEMDEX_REMOTE_URL": "<GEMDEX_REMOTE_URL>",
"GEMDEX_REMOTE_TOKEN": "<GEMDEX_REMOTE_TOKEN>",
"GEMDEX_REMOTE_NAME": "<GEMDEX_REMOTE_NAME>",
"GEMDEX_TRUST_RANKING": "<GEMDEX_TRUST_RANKING>"
}
}
}
}
起動コマンドnpx -y gemdex-mcp
設定が必要な環境変数
GEMINI_API_KEYシークレットGoogle AI Studio key for local mode, or the exact value 'local' for on-device MLX text embeddings. Not needed in remote mode.
GEMDEX_MODEMemory backend: embedded local LanceDB or a self-hosted Gemdex Server
LANCEDB_PATHDirectory for the embedded LanceDB store
EMBEDDING_MODELGemini text embedding model
GEMDEX_REMOTE_URLGemdex Server root URL (required in remote mode)
GEMDEX_REMOTE_TOKENシークレットGemdex Server bearer token (required in remote mode)
GEMDEX_REMOTE_NAMEHuman-readable name for the remote server
GEMDEX_TRUST_RANKINGRe-rank recall results by recorded worked/failed/stale outcomes

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgemdex-mcp1.0.47

ツール

7

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
titlestringいいえ任意の人間が読みやすい名前。省略した場合は内容から自動生成されます。
contentstringいいえメモリの内容。1行の事実から詳細な手順書まで指定できます。推奨項目です。添付ファイルを指定する場合のみ省略できます。
attachmentsarrayいいえ埋め込むメディアを指定します(任意)。各項目にはローカルファイルの `path`(推奨。サーバーがディスクからバイト列を読み取り、拡張子から mimeType を推測)またはインライン Base64 の `data` と `mimeType` を指定します。gemini-embedding-2 モデルが必要です。制限:メモリーごとに画像は最大 6 枚、PDF は 1 件、音声は 1 件、動画は 1 件です。

詳細

Gemdex、AI コーディングエージェント向けのメモリレイヤー
AI コーディングエージェント向けの永続メモリ

npm version License: MIT Node.js

役立つメモリを一度保存すれば、リポジトリやセッションをまたいで呼び出せます。Gemdex は小さなチャンクをインデックス化して、セマンティック検索と BM25 を組み合わせた正確なマッチングを行い、マッチした項目を親メモリ全体に解決します。MCP エージェントは低コストのタイトルインデックスをスキャンし、必要なメモリだけを開きます。

2 つの実行方法

ローカルセルフホスト
エージェント接続npx gemdex-mcp、stdioStreamable HTTP /mcp
エンベディングMLX 経由のデバイス上の EmbeddingGemma 2マルチモーダル対応を含む、サーバー管理の Gemini
ストレージ~/.gemdex 内の LanceDB と blobPostgres/pgvector とファイル/S3 blob
プラットフォームApple Silicon、macOS 14 以降、ネイティブ arm64 Node ≥24Docker ホスト
人間による管理localhost サイドカー経由のネイティブ macOS アプリWeb マネージャー
プールマシンごとに 1 つ複数マシンで共有
MCP ツール削除を含む 7 つ削除なしの 6 つ

これらは別々のプールです。npx パッケージとデスクトップサイドカーはローカル専用です。セルフホストのプールには HTTP MCP に直接接続してください。

ローカルクイックスタート

npx gemdex-mcp install
claude mcp add gemdex -- npx -y gemdex-mcp@latest

明示的なインストールでは、管理対象の Python/MLX と固定バージョンの mlx-community/embeddinggemma-2-8bit ウェイトがダウンロードされます。ダウンロードサイズは約 1.45 GB、ディスク上では 1.9 GB です。Python、uv、Homebrew、HF CLI、コンパイラーのセットアップは不要です。インストール後、エンベディングはオフラインで実行されます。API キー、センチネル値、プロバイダー切り替えはありません。Rosetta Node はサポートされていません。 MLX モデルとランタイムの要件を参照してください。

インストール前でも 7 つすべてのツールが検出可能で、セットアップ方法を案内します。インストール後にツールを再試行するか、MCP クライアントを再接続してください。

別の MCP クライアントの場合:

{
  "mcpServers": {
    "gemdex": {
      "command": "npx",
      "args": ["-y", "gemdex-mcp@latest"]
    }
  }
}
保存と呼び出し

エージェントに、後で役立つ情報を保存するよう依頼します:

Save how we set up the review workflow to memory.

次に、そのプールを使って別のセッションまたはリポジトリで:

Check memory for our review workflow and use it here.

指示の中で、どのような場合にメモリを使うかをエージェントに伝えます:

## Memory

Use Gemdex recall to find relevant memories before starting work.
Save reusable findings and update existing memories when correcting them.
Report worked/failed/stale outcomes after acting on a fetched memory.
Use read_attachment for transcript bytes.
Delete only when a memory should be permanently removed and the connected
surface provides delete_memory.

MCP ツール

ツール動作
save_memory内容や添付ファイル(画像、音声、動画、テキストファイル)を保存し、ID とタイトルを返します
recallテキストクエリやサンプルメディアファイルを使って検索し、上位 10 件のタイトルと ID を返します。本文全体は返しません
get_memory親メモリの本文全体、経過期間、添付ファイル、実績を取得します
update_memorycontent 全体の置き換え、またはリテラルな edits を行います。タイトルや添付ファイルは任意です
report_outcome任意のメモとともに、worked、failed、stale を記録します
read_attachment添付ファイルを UTF-8 テキスト、表示可能な画像、または base64 として読み取ります
delete_memoryStdio 専用。完全に削除し、クライアント統計をクリーンアップします

タイトルインデックスでの呼び出しではなく、get_memory によって呼び出し回数が増加します。 統計情報は別の台帳に保存されます(デフォルトは ~/.gemdex/stats.json)。 GEMDEX_TRUST_RANKING=true を設定すると、結果を重み付けしたタイトルランキングが有効になります。 それ以外の場合、ランキングは関連性のみで決まります。

ローカルで保存するとき、既存メモリとの類似性が高い場合は通知されます。通知には、すでに計算済みのベクトルとセントロイド類似度を使用します(デフォルトのしきい値は 0.93 です)。 この通知によって保存がブロックされることはありません。GEMDEX_SIMILAR_ON_SAVE と GEMDEX_SIMILAR_THRESHOLD で設定できます。

添付ファイル

ローカルメモリには、画像(PNG、JPEG、WebP、GIF)、音声(WAV、MP3、M4A、 FLAC、AAC、AIFF。最長5分)、動画(MP4、MOV、M4V、WebM)を含めることができます。EmbeddingGemma 2 は各ファイルを端末上でテキストと同じ空間に埋め込むため、画像に何が写っているか、録音で何が話されているかをもとにメモリを見つけられます。想起時にはサンプルファイルも利用できます。 「このスクリーンショットに関する情報がメモリにありますか?」という問いは、テキストクエリの有無にかかわらず機能します。キャプションは任意ですが、キーワードマッチングを追加でき、特に音声で効果があります。テキストファイル(.txt、.json、.jsonl/.ndjson)は、埋め込みを行わない blob として保存されます。メモリごとに、画像8個、音声ファイル4個、動画2個、テキストファイル4個を保存でき、各ファイルの上限は100 MiBです。PDFはローカルではサポートされていません。ローカルの path またはインラインの base64 data と mimeType を使用してください。すべての添付ファイルは read_attachment で読み取れます。

セルフホストサーバーは、Gemini によるマルチモーダル埋め込みと /v1 経由のメディア想起をサポートしています。HTTP MCP の添付ファイル入力はインラインの base64 のみで、クライアントのファイルシステムパスは使用できません。/v1 の仕様を参照してください。

チャット履歴とメモリの整理

ローカルでの消化処理と整理には、既存の Claude Code ログインを使用します。 Claude Code をインストールして claude auth login を実行し、次のコマンドを入力してください。

npx gemdex-mcp status
npx gemdex-mcp ingest-history --source claude --dry-run
npx gemdex-mcp ingest-history --source claude

対象ソースには、Claude Code、Factory CLI、Codex、Antigravity、またはフォルダパスを指定できます。これまでに取り込まれたことのないセッションのみが処理されます。各セッションからダイジェストメモリと、整理済みのトランスクリプト添付ファイルが生成されます。backfill-transcripts は、以前のダイジェストのフッターで参照されているファイルを添付します。--dry-run と --force オプションを使用できます。見つからないファイルはメッセージを表示してスキップされます。

推論は、分離された claude -p --model haiku による構造化 JSON 呼び出しとして実行されます。ツール、設定、スキル、MCP サーバー、フック、CLAUDE.md、セッションの永続化は使用せず、一時的な作業ディレクトリで実行します。同時実行数は4で、呼び出しごとに合計3回まで試行し、タイムアウトは5分です。

コストの見積もりは、Haiku の API 定価相当額(トークン100万個あたり入力$1/出力$5)です。Claude サブスクリプションを利用している場合、使用量はトークンごとの請求ではなく、プランの利用上限に計上されます。ローカル埋め込みは端末上で処理されますが、取り込み対象のトランスクリプトと整理候補は Claude Code の推論に送られます。

整理では、まずローカルベクトルをクラスタリングし、次に Claude Code で候補を判定します。検出結果の削除には人間の承認が必要です。セルフホストでのアップロードには、代わりにサーバーの Gemini による消化処理が使われます。チャット履歴のパスを参照してください。

デスクトップアプリ

ネイティブ macOS アプリでは、ローカルプールを管理できます。メモリの閲覧、検索(テキストまたはファイルによる)、編集、画像・音声・動画の添付とプレビュー、チャット履歴の取り込み、整理結果の確認が可能です。このアプリは gemdex serve と通信します。これは 127.0.0.1 のみで待ち受け、起動ごとにトークンを使用します。その仕様では、明示的な MLX のインストール/移行ジョブと Claude Code の準備状況が公開されます。インストールが完了するまでは、メモリ関連のルートは 503 {needsInstall:true} を返します。取り込み/整理を開始するには、Claude Code の準備が整っている必要があります。サイドカーの仕様を参照してください。

セルフホスト環境では、ウェブマネージャーが人間向けの主要な操作画面です。デスクトップアプリは、そのプールのクライアントではありません。

スタック全体をセルフホストする(1つのコマンド)

curl -fsSL https://raw.githubusercontent.com/nikships/gemdex/main/scripts/install.sh | bash

インストーラーは Postgres、gemdex-server、HTTP MCP、ウェブマネージャーを起動し、シークレットを生成して、マイグレーションの完了を待ち、実際に保存と想起ができることを確認してから、Streamable HTTP クライアントの設定を表示します。Google AI Studio のキーを求めるか、GEMINI_API_KEYを読み込みます。このキーはサーバー用であり、エージェントクライアント用ではありません。

デフォルトではループバック接続のみが許可されます。--lanを指定すると、静的な MCP 認証とログイン不要のウェブアクセスを使って、信頼できる LAN に MCP とウェブを公開します。パブリックアクセスには、HTTPS、Google OAuth、デプロイガイドを使用してください。Postgres や /v1は決して公開しないでください。

{
  "mcpServers": {
    "gemdex": {
      "type": "http",
      "url": "https://gemdex.example.com/mcp"
    }
  }
}

この例は Google OAuth のデプロイを対象としており、クライアントがログインを処理します。

ガイド目的
セルフホストのデプロイCompose、Google OAuth、HTTPS エッジ、公開設定の確認
運用ストレージ、バックアップと復元、アップグレード、トラブルシューティング
さらに詳しくDNS、マネージドプラットフォーム、サイジング、コスト
セキュリティ適用される境界とローンチ前チェックリスト
チャット履歴ローカル取り込み、ウェブアップロード、OAuth レコードのインポート

パッケージとライブラリの利用

パッケージ役割
coreMemoryStore、埋め込みプロバイダー、共有 HTTP ルーター、推論
mcpローカル stdio ツール、CLI、デスクトップサイドカー
serverBYOI /v1、Postgres/pgvector、Gemini、ファイル/S3 blob
mcp-http6つのツールを提供する Streamable HTTP エージェント用インターフェース
webブラウザマネージャーとセッションアップロード BFF
appネイティブのローカルマネージャー

エンジンを直接使用する方法については、core ライブラリの例を参照してください。 ローカル環境の設定はMCP READMEに、 セルフホスト環境の設定はserver READMEに記載されています。

プライバシーと安全性

メモリのテキストと添付ファイルのバイトデータは、独自のストレージ制御を追加しない限り、平文で保存されます。Gemdex には、シークレットのマスキング機能やホスト型のデータ保管サービスはありません。ローカル埋め込みはデバイス上で実行されます。ローカルの取り込みと衛生処理では、アカウントを使って Claude Code 経由で選択したコンテンツを送信します。セルフホストサーバーは、埋め込みのペイロードとアップロードされたセッションの処理データを、そのキーを使って Gemini に送信します。データ保管とセルフホストのセキュリティを参照してください。

ソースからビルドする

Node ≥24 と pnpm ≥10 を使い、リポジトリをクローンしてから実行します。

pnpm install
pnpm build

ローカル MCP のエントリーポイントは packages/mcp/dist/index.jsです。 チェック項目と開発のガイダンスについては、CONTRIBUTING.mdを参照してください。

ライセンス

MIT。LICENSEを参照してください。

MCP レジストリ

mcp-name: io.github.nikships/gemdex

コメント

MCP は初めてですか?

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

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