MCP Pinecone Vector Database Server について
RAG 処理済み PDF や Confluence データを使うワークフロー向けに、Pinecone のベクトル情報を読み書きする MCP サーバーです。文書検索、ベクトル更新、Confluence エクスポートの一括処理に対応します。
主な機能
- 01テキストによる類似文書検索
- 02カスタムメタデータ付きベクトルの追加
- 03Confluence エクスポートの一括処理
- 04ID によるベクトル削除
- 05データベース統計ツールは一時停止中
活用シーン
- 01RAG 処理済み PDF 文書の検索
- 02Confluence エクスポートのベクトル登録
- 03指定した名前空間のベクトル削除
MCP 対応
MCP クライアントに、Pinecone のベクトル検索、追加、削除、処理用ツールを提供します。データベース統計ツールは一時停止中です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Pinecone Vector Database Server
このプロジェクトは、Pinecone ベクトルデータベースへのベクトル化された情報の読み書きを可能にする Model Context Protocol(MCP)サーバーを実装しています。RAG 処理済みの PDF データと Confluence データの両方に対応するよう設計されています。
特長
- テキストクエリで類似ドキュメントを検索
- カスタムメタデータを付けて新しいベクトルをデータベースに追加
- Confluence データをバッチ処理してアップロード
- ID でベクトルを削除
- 基本的なデータベース統計(現在一時的に無効)
前提条件
- Bun ランタイム
- Pinecone API キー
- OpenAI API キー(埋め込みの生成用)
インストール
-
このリポジトリをクローンします
-
依存関係をインストールします:
bun install -
次の内容を記述した
.envファイルを作成します:PINECONE_API_KEY=your-pinecone-api-key OPENAI_API_KEY=your-openai-api-key PINECONE_HOST=your-pinecone-host PINECONE_INDEX_NAME=your-index-name DEFAULT_NAMESPACE=your-namespace
使用方法
MCP サーバーの実行
サーバーを起動します:
bun src/index.ts
サーバーが起動し、stdio 経由で MCP コマンドを受け付けます。
サンプルクライアントの実行
サンプルクライアントでサーバーをテストします:
bun examples/client.ts
Confluence データの処理
Confluence 処理スクリプトでは、詳細なログ記録と検証を行います:
bun src/scripts/process-confluence.ts <file-path> [collection] [scope]
パラメーター:
file-path:Confluence JSON ファイルのパス(必須)collection:ドキュメントコレクション名(デフォルトは "documentation")scope:ドキュメントのスコープ(デフォルトは "documentation")
例:
bun src/scripts/process-confluence.ts ./data/confluence-export.json "tech-docs" "engineering"
スクリプトは次の処理を行います:
- 入力パラメーターを検証します
- コンテンツを処理してベクトル化します
- ベクトルをバッチでアップロードします
- アップロードが正常に完了したことを検証します
- 処理の詳細なログを出力します
利用可能なツール
サーバーは次のツールを提供します:
-
search-vectors- 次のパラメーターを指定して類似ドキュメントを検索します:- query:string(検索クエリのテキスト)
- topK:number(1~100、デフォルト:5)
- filter:object(任意のフィルター条件)
-
add-vector- 次のパラメーターを指定して単一のドキュメントを追加します:- text:string(ベクトル化するコンテンツ)
- metadata:object(ベクトルのメタデータ)
- id:string(任意のカスタム ID)
-
process-confluence- 次のパラメーターを指定して Confluence JSON データを処理します:- filePath:string(JSON ファイルのパス)
- namespace:string(任意。デフォルトは "capella-document-search")
-
delete-vectors- 次のパラメーターを指定してベクトルを削除します:- ids:string[](ベクトル ID の一覧)
- namespace:string(任意。デフォルトは "capella-document-search")
-
get-stats- データベース統計を取得します(一時的に無効)
データベースの設定
このサーバーには Pinecone ベクトルデータベースが必要です。.env ファイルで接続情報を設定してください:
PINECONE_API_KEY=your-api-key
PINECONE_HOST=your-host
PINECONE_INDEX_NAME=your-index
DEFAULT_NAMESPACE=your-namespace
メタデータスキーマ
Confluence ドキュメント
ID: confluence-[page-id]-[item-id]
title: [title]
pageId: [page-id]
spaceKey: [space-key]
type: [type]
content: [text-content]
author: [author-name]
source: "confluence"
collection: "documentation"
scope: "documentation"
...
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します:
git checkout -b feature/my-new-feature - 変更をコミットします:
git commit -am 'Add some feature' - ブランチにプッシュします:
git push origin feature/my-new-feature - プルリクエストを送信します
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。