Skip to main content
Glama
avaazquezz

Qdrant RAG Build

by avaazquezz

Qdrant RAG Build

会話を通して完全なRAGパイプラインを構築するQdrant MCPサーバー。

非公式、コミュニティ製 — Qdrantとは提携しておらず、Qdrantによる承認も受けていません。

公式のQdrant MCPサーバーは2つのツール(qdrant-storeqdrant-find)しか公開していません。一方、Qdrant RAG Buildは6つの名前空間にわたる33個のツールを公開します — つまり、MCPの会話だけで完全に管理できる本番グレードのRAGシステムです — さらに会話形式のセットアップウィザードを備えており、ユーザーはドキュメントを一切参照しなくても、チャット1回でゼロから「動作し、適切に設定されたRAGコレクション」まで到達できます。

エレベーターピッチ:「AIをQdrantに接続し、一度の会話で本番グレードのRAGを稼働させる」。また一つのQdrantラッパーではありません — **MCP経由のRAGをそのまま一式(RAG-in-a-box)**です。

パッケージ:qdrant-rag-build-mcp · ライセンス:Apache-2.0 · ステータス:計画完了、実装は未開始


目次

  1. ビジョンと市場のギャップ

  2. 確定した決定事項

  3. アーキテクチャ

  4. ツールカタログ

  5. 会話型ウィザード

  6. 取り込みパイプライン

  7. エリート検索

  8. 品質と評価

  9. GitHubでの権威

  10. 開発フェーズ

  11. 引き継いだ教訓とリスク

  12. 名称、ライセンス、最初の一歩


Related MCP server: RAG Knowledge Base MCP Server

1. ビジョンと市場のギャップ

主張する。 今日、MCPを経由してLLMをQdrantに接続しても、得られるのはおもちゃレベルのベクトル記憶だけです。コレクション管理も、ファイル取り込みも、ハイブリッド検索も、リランクも、引用も、設定のナビゲーションもありません。これらはすべてオーダーメイドのエンタープライズRAGシステムには存在しますが、それを「3つのコマンドでインストールできるMCPサーバー」としてパッケージ化した人はいません。

機能

公式Qdrant MCP

Qdrant RAG Build

ツール

2(qdrant-storeqdrant-find

33、6つの名前空間に整理

コレクション管理

暗黙の自動作成のみ

プリセット、エイリアス、スナップショット、ペイロードインデックスを備えた作成

ファイル取り込み

なし — 生テキストのみ

PDF、DOCX、XLSX、PPTX、MD、HTML、CSV、TXT、URL、ディレクトリ

チャンキング

なし

形式ごとの構造的チャンキング、設定可能なプリセット付き

検索

単純なdense検索

Dense + sparse、RRF融合、フィルター、リランク、MMR、マルチクエリ

引用

なし

安定した引用契約(文書、ページ/セクション、スコア)

ガイド付きセットアップ

環境変数

すべてを準備する会話ウィザード

クライアント

stdio(ローカルのClaude)

stdio + リモートHTTP — Claude Code、Claude Desktop、claude.ai(v1)。ChatGPTはv2では

2. 確定したの決定事項

スコープ。 完全な検索 + Qdrant管理 + 一般的な形式(PDF、DOCX、Excel、PPTX、MD、HTML、CSV、URL)の非常に高品質な取り込み。クリーンでRAGに最適なコンテンツがこのプロジェクトの顔です。

ターゲットクライアント。 あなたv1はClaudeファミリー全体を対象 Claude Code、Claude Desktop、claude.ai(Web) です。CodeとDesktopはstdio・ローカル・ワンクリックインストールに近い(§3)。claude.aiはプロトコルの必然性としてリモートHTTPが必要です(ブラウザはローカルプロセスを起動できない)— しかしこれは控えめな拡張であって、新しい作業区分ではありません。公式SDKがすでにストリーミングHTTPに対応しており、v1で必要なのは完全なOAuth 2.1ではなく、ベアラートークン(§3)と、公開HTTPS URLに到達するためのデプロイガイド1つだけです。ChatGPTはv1では扱わない。 claude.aiと違い、ChatGPTは開発者モード(明示的なリスク警告を受けること)と有料プランが必須で、無料枠はありません — これは「Claudeを優先する」という方針にそぐわない抵抗なので、v2に延期します。

プロジェクトゴール。 優れたオープンソースツール:ポートフォリオの目玉であり、GitHubでの権威を生むエンジン。ドキュメント、CI、DXの品質はオプションではありません — それ自体が製品です。

範囲外(v1)。 PST/Cメール取り込み、高負荷OCR、あらゆる、NER/固有表現抽出、サーバーサイドLLM生成(クライアント自身がLLMだから)、特注UI。それぞれの除外理由は§11で説明します。

3. アーキテクチャ

単一のPythonバイナリ、3層のクリーンな構成。MCPサーバーは薄いファサードで、すべてのロジックはMCP非依存のテスト可能なコアに置かれています(これにより、将来のCLIやSDKも既存の何も触らずに実現できます)。

flowchart LR
    subgraph Clients
      CC[Claude Code / Desktop<br/>stdio]
      WEB[claude.ai<br/>HTTPS + bearer token]
    end
    subgraph QRB["Qdrant RAG Build"]
      T[Transport<br/>stdio · streamable HTTP]
      F[MCP facade<br/>33 tools · validation]
      CORE[RAG core<br/>ingestion · retrieval · wizard]
      EMB[Embeddings<br/>local fastembed · external APIs]
    end
    Q[(Qdrant<br/>local · cloud)]
    CC --> T
    WEB --> T
    T --> F --> CORE
    CORE --> EMB
    CORE --> Q

技術決定事項

分野

決定

理由

言語

Python 3.12 + uv

成熟したRAGエコシステムを持つ、深いドメイン専門知識。uvx qdrant-rag-build-mcp でワンコマンドインストール

MCPフレームワーク

公式MCP SDK(FastMCPMCPServerに改名)

同じコードでstdio(Code、Desktop)とストリーミングHTTP(claude.ai)を両方提供。MCP本体がメンテナンス

Dense埋め込み

fastembedによる2つのローカル層 — paraphrase-multilingual-MiniLM (小型、0.22 GB) と multilingual-e5-large (高品質、2.24 GB) — 加えて設定で OpenAI / Cohere / Ollama

fastembedが現在ネイティブ対応しており、追加依存なし、多言語対応可能。bge-m3は当初の候補でしたが不可:追加するfastembed PR #602はopen 2026年2月から未だマージされておらず、2026年8月の時点でアーキテクチャ議論のブロックが残る。

スパース埋め込み

fastembedによるBM25 / miniCOIL

追加インフラなしでハイブリッド検索。Qdrant Query APIでネイティブ融合

リランク

fastembedのローカルクロスエンコーダー。Cohere Rerankと /v1/rerank(llama.cpp)はオプション

ランタイムに「すでにリランクがある」と前提にしない — 本番で身に染みた教訓(§1)

パース

PyMuPDF, python-docx, openpyxl, python-pptx, trafilatura

軽快で、システムバイナリ不要、あらゆるOSにpipインストール可能

設定

バージョン管理可能なYAML `~/ Netflix,

パッケージ

PyPI(uvx/uv)+ Claude Desktop .mcpbバンドル + Dockerイメージ(claude.aiのデプロイ用)+ ローカルQdrant向けdocker-compose

ウィザードがMCPの「elicitation」ではなくステートマシンである理由。 elicitationのサポートはMCPクライアント/SDKバージョンさまざまで、Claudeファミリーの中でも異なります。シンプルなステートマシンは普通のツールで動き、がどこでも同じ動作を保証し、特殊な機能を要求しません。また、vi復新しいV2時に別のelicitation対応クライアントが追加されても、そのまま維持できます。トランスポートの範囲に関係なく確定済みです。

v1の認証決定。 MCP向けの完全なOAuth 2.1(認可サーバー、PKCE、管理外クライアント登録/Client ID Metadata Documents、実行者検証、リフレッシュトークン含む)は実用的なマルチウィークのエンジニアリングであり、v1の予算には入りません。しかもclaude.ai自身のコネクタ設定ではOAuthは任意の高度フィールドとされ、必須ではない。v1はHTTPパスで静的でプロファイルごとのBearerトークンを使います。ウィザードが生成し、プロファイルYAMLに保存し、Authorization: Bearer <token> で送信します。stdio(Code、Desktop)は認証不要 — ローカルでネットワーク公開がないプロセスなので。完全なOAuth 2.1はドキュメント化されたv2アップグレードとし、ChatGPT(そのエコシステムは他よりOAuthに重きを置く)が対象になったときに再検討します。lities.

デプロイメントモデル: ごユーザー、 1サーバー

MCPは、抽象的な意味でサーバーを「AI」に接続するわけではありません。モデルをホストするクライアントアプリケーション(Claude Desktop、Claude Code、claude.ai)に接続します。接続を維持し、モデルに利用可能なツールの一覧を渡し、モデルのツール呼び出しの決定を受け取り、それをサーバーに対して実行するのは、そのクライアントです。エンドユーザーには「自分はClaudeと話していて、Claudeが自分のQdrantを管理している」と読めます。これは妥当な単純化ですが、実際にサーバーと接続されているのはモデルではなくクライアントです。

v1のスコープには、共有/マルチテナントのサーバーはありません。各ユーザーが自分専用のサーバーを実行します。同じローカルプロセスが、v1の3つすべてのクライアントにサービスを提供します。

  • Claude Code / Claude Desktop: サーバーはユーザーのマシン上でローカルのstdio子プロセスとして実行され、クライアントがその設定から起動します。許可リストに登録されたディレクトリに限定された実ファイルシステムアクセスができます。これは標準的なMCP stdioの動作であり、このプロジェクトが新たに構築するものは何もありません。

  • claude.ai: 同じローカルプロセスを、トンネル(cloudflared)または同じDockerイメージを実行する小さな常時稼働ホスト(5ドルのVPS、Fly.io、Railway)を介してHTTPS公開します。これは別クラウドデプロイや共有サーバーではありません。ユーザー自身のトンネル経由マシンであれば、ファイルシステムへのアクセスはローカルの場合と同一です。到達するためのトランスポートだけが異なります。claude.aiの全プラン(無料プランを含む、コネクタは1つ)で利用できます。

  • 結果: ingest_directory / ingest_file は、ユーザー自身のサーバー(claude.aiの場合はトンネルも)が稼働していれば、3クライアントすべてで同じ動作をします。どこにもファイルアップロードの仕組みは必要ありません。サーバーは構造上、常にディスクへ直接アクセスできるからです。

  • 蒸気は一度だけ:

    • Claude Desktop: .mcpbファイルを1つ、Settings → Extensionsにドラッグするだけ。ターミナルは不要です。

    • Claude Code: claude mcp add qdrant-rag-build -- uvx qdrant-rag-build-mcp の1行。

    • claude.ai: Settings → Connectors → Addで、サーバーのHTTPS URLとベアラートークンを貼り付けます。先にサーバー(ラップトップ方式ならトンネル)が起動している必要があります。これはあらゆるリモートMCPコネクタと同じ、プロトコルの必然であり、このプロジェクトが選んだ話ではありません。

    • その先は、ウィザードがRAGの設定を完全に会話型にします。コレクションの作成、エンベディングの選定、ドキュメントの取り込み、検索を、3つのクライアントのどれでも、それ以上技術的な手順なしで行えます。

v2: ChatGPT(意図的に対象外のまま)

ChatGPTも、claude.aiと同じリモートHTTPの形が必要です。技術的に新しいことは何もありません。v1で対象外にするのは、ChatGPT固有の摩擦です。Developer Modeを明示的に有効にする必要があり(第三者のコードの実行についての警告付き)、カスタムコネクタは**有料プラン(Plus/Pro/Business/Enterprise/Edu)**が必須です。claude.aiの無料プラン込みのコネクタとは異なり、ChatGPTには無料で使えるルートがまったくありません。そのどれも「Claudeを優先する」には必要ないのです。v2ではChatGPT専用のコネクタガイドを追加し、もし重要になれば完全なOAuth 2.1を再検討します(ChatGPTのエコシステムそのものがclaude.aiよりもそれを強く求めています)。

4. ツールカタログ

このプロジェクトの中核です。6つの名前空間、予測しやすい名前、LLM向けに書かれた説明があります(ツールが何をするかではなく、いつ使うのか)。破壊的なツールはすべて明示的な確認を必要とし、グローバルな read-only モードも存在します。

Collections

ツール

機能

collection_create

プリセット(dense、hybrid、multi-tenant)付きでコレクションを作成。名前付きベクトル+スパースの正しいデフォルト設定が行われます

collection_list

全コレクションのインベントリ

collection_info

詳細: スキーマ、サイズ、インデックス設定、最適化ステータス

collection_delete

2段階確認で削除(引数に完全一致の名前が必要)

alias_set

ゼロダウンタイムで再インデックスするためのエイリアシング(blue/greenパターン)

payload_index_create

ウィザードまたはユーザーが宣言したフィルタ用のペイロードインデックス

snapshot_create

コレクションのバックアップ

snapshot_restore

コレクションの復元

Ingestion

ツール

機能

ingest_text

メタデータ付きの直接テキスト — 公式MCPでいう「セマンティックメモリ」のユースケースを正しく行う

ingest_file

単一ファイル(PDF、DOCX、XLSX、PPTX、MD、HTML、CSV、TXT); 取り込み品質レポートを返す

ingest_directory

グロブ/除外を考慮した再帰バッチ; クエリ可能な進捗を持つジョブを作成

ingest_url

Webページ → 装飾のないクリーンな本文(trafilatura)に

job_status

ジョブの進捗: 完了/失敗/スキップしたファイル、整合したカウンタ

document_list

ソースドキュメントごとのインベントリ

document_delete

他に触れず、単一ドキュメントを削除/再取り込み

ツール

機能

search

オプションのペイロードフィルタを持つ高密度意味的検索

search_hybrid

ネイティブRRF融合(Query APIのprefetch)によるdense + sparse — 推奨されるデフォルト

search_rerank

Top-Nに対するハイブリッド+クロスエンコーダー; 最高の精度

search_multi_query

クライアントLLMが生成した複数の言い換えを融合して1つのランキングに

find_similar

指定された点に類似した点を探す

recommend

正例/負例を使ったレコメンド(ネイティブQdrant API)

RAG context

ツール

機能

get_context

中心機能: 検索+重複排除+MMR+トークン予算 → 番号付き引用を含む整形済みコンテキストブロックを返し、クライアントLLMがそのまま答えるための

expand_context

結果の隣接チャンク(同じドキュメント内の前/次を取得して連続性を持たせる)

get_document

引用元のソースドキュメント全体(またはページ/セクション範囲)を取得

Wizard

ツール

機能

setup_start

セットアップセッションを開始; 選択肢と推奨理由付きの最初の質問を返します

setup_answer

回答を記録し検証します(Qdrantは応答するか?APIキーは有効か?); 次の質問を返します

setup_apply

合意したプランを実行します: コレクション+インデックス+プロファイル+スモークテスト; 最終レポートを返す

profile_list

保存済みプロファイルの一覧

profile_use

保存済みプロファイル(demo、work、project Xなど) を有効化

Admin

ツール

機能

health

Qdrantの接続性、エンベディングモデルのロード状態、バージョン、アクティブなトランスポート

stats

ポイント、ドキュメント、ディスクサイズ、ソース/タイプごとの分布

estimate

取り込み前の見積り: チャンク数、ストレージ、該当する場合はAI APIコスト

config_get

アクティブプロファイルの有効な設定(秘密情報は除外)

5. 会話型ウィザード

起動要因はこれです。サーバ上の状態機械です。各ツール呼び出しは、次の質問を選択肢と根拠ある推奨付きでで返します。クライアントのLLMは、それを自然な言葉でユーザーに伝え、答えを返します。話で確認するようなことは何もなく、特別なクライントに依存するわけでもありません。会話それ自体がインターフェースです。

stateDiagram-v2
    direction LR
    [*] --> Discover
    Discover --> Validate : setup_answer
    Validate --> Discover : next question
    Validate --> Summary : all answered
    Summary --> Apply : user confirms
    Apply --> SmokeTest
    SmokeTest --> [*] : report + saved profile

質問スクリプト(固定順、すべてのステップに推奨付き)

#

質問

どれを決めるか

1

RAGに何を入れますか?(個人用ドキュメ / チームKB / / 技術ドキュメント / / ノート)

チャンク化プリセットとペイロードスキーマ

2

Qdrantはどこにありますか?(ローカルDocker / Qdrant Cloud / まだない)

接続先;「まだない」なら1コマンドのDocker手順と再検証

3

ローカルエンベディングそれともAPIですか?(ローカル高速 / ローカル品質 / OpenAI / Cohere / Ollama)

Denseの提供元と速度/品質Tier; 該当ならAPIキーをその場で検証

4

コーパスの言語は何ですか?

多言語モデルの選択とスパースアナライザの確認

5

ハイブリッド検索?(推奨: はい)

コレクションスキーマのスパースベクトル分

6

リランクする?(ローカル / API / なし)

クロスエンコーダーとラトレイテンシコストを正直に説明

7

どんなフィルタを使いますか?(日付、著者、種別、フォルダ…)

デフォルトで作成されるペイロードインデックス

8

コレクション名とプロファイル名

名前とプロファイルファイルの決定

ウィザードの成功定義。 Qdrantを見たことがないユーザーが、10分以内の会話で、うまくスキーマ定義されたコレクション、誰かのエンベディング、保存済みプロファイル、サンプルドキュメント1件の取り込み、引用付き結果を返すテスト検索を手に入れることです。スモークテストの最終レポートがその証拠です。その会話の録画が、READMEの表紙になります。

6. 取り込みパイプライン

品質のシグニチャは、クリーンでRAGに最適化されたコンテンツえ、フォーマットごとに生成し、すべての取り込みで品質レポートを出力することです。「パーサが出したものをそのまま放り込む」ことはありません。

形式

パーサー

品質処理

PDF

PyMuPDF

正しい読み順、繰り返しヘッダー/フッターの検出と削除、Markdown への表変換、受け入れ前のテキスト品質プレフライト(有効文字比率)

DOCX

python-docx

見出し階層をメタデータのパンくずとして保持。構造化リストと表

XLSX

openpyxl

シートごとに処理。データ領域を検出し、行をヘッダー付きでシリアライズ(「Product: X · Price: Y」)— 生の CSV にはしない

PPTX

python-pptx

スライドごとに:タイトル+本文+スピーカーノート

MD / HTML

native / trafilatura

見出しでチャンクに分割。Web ページはメインコンテンツのみを取得(ナビ、Cookie、フッターは除外)

CSV / TXT

stdlib

CSV はヘッダーラベル付き行として、TXT はトークンウインドウ付きの段落ごとに処理

横断的なルール

  • 構造優先、トークンは後回し。 まずドキュメントの構造(セクション、シート、スライド)に沿って分割し、ユニットがその上限を超えた場合のみ、トークン予算(オーバーラップ付き)に従って細分化する。すべてのチャンクにはパンくずリストが付く(「マニュアル › 第3章 › インストール」)。

  • 正規化された内容ハッシュによる重複排除 をチャンクレベルで行い、ドキュメントごとの冪等性も維持する。ファイルを再取り込みしたら更新ににり、重複はしません。

  • 最小限でバージョン管理された引用契約。 引用ペイロード(document、page/section、date、source)はクローズドなフィールドセットである。内部パイプラインメタデータが LLM の問題に届くことはありません。このプロジェクトは、メタデータの膨張が実際のソースを切り詰める事例を過去に2回修正している(§11)。

  • 取り込み結果を常に報告する。 作成されたチャンク、品質上の理由で破棄されたページとその理由、検出された重複を報告する。透明性は品質の一部である。

  • 事前のテキストサニタイズ(サロゲート、制御文字、壊れたエンコーディング)を埋め込み前に行う。実在する PST ファイルで痛い経験を経て得た教訓。

7. エリート検索

  • デフォルトでハイブリッド:高密度(多言語埋め込み)+スパース(BM25/miniCOIL)を、Qdrant Query API ネイティブの RRF 融合(prefetch + fusion)で統合。追加インフラは不要。

  • オプションのリランク:top-50 → top-N をクロスエンコーダーでリランクする。ローカルは fastembed、API は Cohere または llama.cpp の /v1/rerank を利用。

  • 多様性のための MMR:Qdrant がすでに返しているベクターを再利用する(with_vectors=true)。検索時に再埋め込みをしては絶対にいけない。この失敗は、このプロジェクトの前身で実際に本番 OOM を引き起こした。

  • 第一級のペイロードフィルター:日付(適切な範囲を指定し、lte では終日を含む)、source、type、author — ウィザードが作成したインデックスで使用。

  • フラグシップツールの get_context:ハイブリッド → リランク → MMR → トークン予算 → 番号付き引用 [1>は[2]という形式を調整する。厳格な保証:コンテキストに実際に含まれたものだけが引用されなければならない — 幻のソースは存在しない。

  • 生成はクライアント側に残す。 サーバーが LLM を直接呼ぶことはなく、ベストなコンテキストを提供するだけである。回答の生成はユーザー自身のモデル(Claude、GPT 等)の役割です。これにより、サーバーは低コスト・高速かつ免許不要(サードパーティの API キー不要)に保たれる。

8. 品質と評価

  • リポジトリ内のゴールデンコーパス。 多様な15〜20 のドキュメント(表付き PDF、実在のスプレッドシート、ノイズの多い Web ページ)+関連チャンクがアノテーションされた約50 問の質問。

  • CI の検索メトリクス。 ゴールデンコーパスを対象とした recall@k、MRR、nDCG を測定し、しきい値を下回るとビルドが失敗するようにします。Dense 対 hybrid 対 hybrid+rerank の結果をドキュメントに公開します。数字がプロジェクトを販売する。

  • テスト層の階層構造。 Qdrant を依存しないコア単体テスト、コンテナ内の Qdrant を対象とした統合テスト(testcontainers)、SDK のテストクライアントを使用した MCP プロトコルの e2e テスト。フォーマットごとに拷問ファイルを用意(スキャン PDF、結合セルを含む Excel、ガベージ HTML など)。

  • リリース時の互換性マトリクス検証。 Claude Code、Claude Desktop、claude.ai での動作をスクリーンショット入りで記録。ChatGPT は v2 でこのマトリックンクに加わる。

9. GitHub 上での権威

ポートフォリオという目標のためには、リポジトリ自体がコードと同じくらい重要なプロダクトです。発動のためのチェックリスト:

  • A README のお勧め。 実際の会話でウィザードが 1 秒で RAG を構築する映像(vhs/asciinema)、3 行の uvx クイックスタート、バッジ(CI、coverage、PyPI、license)、公式 MCP との比較表、公開済みのベンチマーク。

  • ランディングページ。 README やドキュメントサイトとは別の、専用の洗練された静的ページ。ヒーロー、古式 Qdrant MCP との比較表、ウィザードデモの録画、3つの v1 クライアント向けのインストール CTA、F5 のベンチマーク計測値を含む。発効用の投稿やソーシャルリンクはここを指す。

  • ドキュメント。 mkdocs-material のサイト:クライアントごとのガイド(Claude Code、Claude Desktop、claude.ai それぞれを含む — bearer-token コネクタの手順を含む)、クックブック(「自分のドキュメントを対象にした RAG」「チームの記憶」)、全33 ツールの完全なリファレンス、公開 ADR。

  • 可視性の高いエンジニアリング。 ruff + mypy strict + pytest + カバレッジの CI、自動の semver リリース(release 版)、CHANGELOG、issue/PR テンプレート、CONTRIBUTING、行動規約、GitHub Discussions の有効化。

  • 配布と発動。 PyPI + Claude Desktop の .mcpb バンドル + Docker イメージ + compose スタック(Qdrant を含む)。公式 MCP レジストリ、Smithery、Glama、PulseMCP、awesome-mcp-servers に登録。発動:技術解説記事 + Show HN + r/LocalLLaMA + X。フックとなるのはウィザードの録画です。

10. 開発フェーズ

サイドプロジェクトのペース(平日夜・週末)。すべてのフェーズが、実演可能な形で終了します — 複数のフェーズを同時に進行させることはありません。

フェーズ

焦点

期間

完了条件

F0

仕様とスケルト

〜1.5 週目

リポジトリ+CI+パッケージ構造。全 33 ツールの JSON Schema を確定してレビュー済み(先に全 33 を設計し、実装は後半のフェーズでもよい)。§3 の決定に関する ADR。uvx qdrant-rag-build-mcp が起動し、health が Claude Code(stdio)と claude.ai(HTTP トンネル)の両方から応答する。

F1

Qdrant コア

〜2 週目

完全なコレクション名前空間、ingest_text、密 apt sophisticated 検索 search、構成プロファイル、読み取り専用モード。Claude Code からの E2E デモ:コレクションの作成、ノートの保存、検索。これにより公式 MCP のスーパーセットになる。

F2

プロ仕様の取り込み

〜3 週目

8 形式すべてに品質処理、構造チャンキング、重複排除、進捗付きジョブ、取り込みレポート。100 ドキュメントの混在フォルダに入り、改めて整合したレポート(カウンターの一致)と冪等な再取り込みができたとき完了。

F3

エリート検索

〜2 週目

ハイブリッド RRF、リランク、MMR、フィルタ、引用規則に沿った get_context。ゴールデンコルパスの評価で、hybrid+rerank が dense よりも有意に改善していることを示すこと。引用に fake source がゼロであること。

F4

ウィザード

〜2 週目

状態機械、すべての回答をリアルタイムに検証、setup_apply にスモークテスト、複数プロファイル。外部のテストユーザーがドキュメントを開かず 10 分以内に会話のみで自分の RAG を構築できること。ここでデモを録画します。

F5

品質と監視性

1.5 週間

しきい値付きの評価スイートを CI に配置、stats/estimate、スナップショット、クライアント互換性マトリクスの検証。ブロッキング eval で CI がグリーン、ベンチマークをドキュメントに公開。

F6

ローンチ

約2.5 週目

完全ドキュメント、洗練されたランディングページ、デモ録画付きの README、PyPI + .mcpb バンドル + Docker イメージ、MCP レジストリ、発効用のブログ記事。v1 の 3 つすべての環境でワンコマード(またはドラッグ&ドロップ)でインストールでき、4 つ以上のレジストリに掲載され、Show HN にも提出済みである。

合計:実際のサイドプロジェクトのペースで約14.5 週間(約3.5 か月)。2 週間ごとに実証可能なマイルストクションを設けてモチベーションを維持します。

11. 受け継がれた教訓とリスク

静かな競争上の優位性があります。この計画は、テラガバイト規模のデータを扱う実績のあるエンタープライズ RAG システムですでに発生したエラーの代償を継承しています。すべての教訓は、後から修正するのではなく、初日から設計に組み込まれます。

教訓(代償を払った内容)

Qdrant RAG Build にどう組み込むか

検索中に再埋め込みをする MMR は、実の本番で OOM を引き起こした

MMR は常に Qdrant が返すベクターを再利用する。検索演算中の埋め込みは禁止

内部メタデータがペイロードを肥大化させ、実際のソースが省略された(原因の違う原因で2度)

クローズドでバージョン付きの引用 Information API のみ使用。パイプラインのメタデータは LLM のコンテキストに届かない。

ローカルランタイムに 「リランクが存在する」と想定したが、実際は動かず、フォールバックがそれを隠していた

リランクは検証可能なプロバイダーごとに明示化されます。health が、設定されたリランカーが実際に応答するか確認します。

スレッドと fork を同じプロセスで使用して、実際の取り込みのデッドロック

取り込みの並列化は 単一モデル(async + ワーカープロセス)で行い、ThreadPoolExecutor と fork を併用しない

子プロセスが静に死んでいたため、40% で「完了」とマークされたジョブ

カウンターが変換する場合にのみ completed に設定(期待=処理済み+正当な失敗)

OCR が 45 秒間止まったあと、結局そのドキュメントを破棄した

高コストな作業の前に、手ごろで html を記入して質量を確認し、ドキュメントごとの時間予算を設ける

NER の品質がドメイン固有の際限ない動くものねらずしになった

NER は v1 からは範囲外。これは理抜けではなく、意図的な決定です

未解決のリスク

リスク

対策

スコープクリープ — エンタープライズRAG全体を作り直してしまうという誘惑

§2 の「out of scope(スコープ外)」リストは規約として拘束力を持つ。何かを追加する場合は、別の項目を削除するか、v2 としての妥当性を説明する必要がある

claude.ai をリモートデプロイする際の摩擦(トンネルや常時起動ホストは、ローカル stdio と比べて可動部品が一つ増える)

ローカル stdio(Code、Desktop)は従来どおりのハッピーパスであり、こうした仕組みは一切不要。claude.ai のセットアップはガイド付きドキュメントページ1つにまとめ、v1 が対応する唯一のリモートクライアントとする。ChatGPT のように Developer-Mode や有料プランの複雑さはない

ChatGPT を除外することで v1 のユーザー層が Claude エコシステムだけに狭まる

意図的なトレードオフであり、見落としではない。claude.ai は Free を含む全プランで「リモート・インストール不要」のユーザー層をすでにカバーしている。ChatGPT の Developer-Mode+有料プランという壁は、v1 のリーチを実質広げるものではなく摩擦を増やすだけであり、コアが実証された後の v2 で再検討する

fastembed のPR #602(bge-m3 サポート)が無期限にブロックされたままになる

v1 はこれに依存しない。代わりに multilingual-e5-large をネイティブで使用済み。PR がマージ可能になれば v2 のアップグレードとして再検討する。その場合、直接コントリビュートする選択肢もある

MCP プロトコルあるいは Qdrant Query API の変更

公式 SDK を常に最新へ、リリースごとの互換性マトリクスを用意する。薄いファサードでまとめることで、変更の影響範囲を小さくする

33個のツールでクライアントのコンテキストが飽和する

ツール選択の簡潔さを優先した説明文に最適化。プロフィールごとにツールセットを分けて(例: 日々の利用では管理者ツールを非表示にする)対応する

時間不足による開発離れ(サイドプロジェクトのリスク第1位)

各フェーズは3週間以内とし、終了時にデモを行う。他がすべて遅れても、F1 だけは「公式 MCP だが、より良いもの」として公開できる形にする

12. 名前、ライセンス、最初の一歩

名前: Qdrant RAG Build(パッケージ: qdrant-rag-build-mcp)— 新しいブランドを作らず、このリポジトリの従来のワーキングネームに近い名前として選んだ。名前の選定は2回の試行を経ている。Quiver は無関係な「Qdrant Quantitative」の MCP 名前空間(bolshchikov/qliver-mcppipeworx-io/mcp-qliverjsconiers/qlver-quant-mcp)と衝突するため却下した。Vectorsmith は衝突がないことを確認したが、リポジトリとの関連性が人名前にするという明確な方針に意があるので採用しなかった。これは当初計画で挙げたトレードオフを承知であるという意味、つまり「qdrant」という接頭語の名前が Qdrant 公式プロジェクトとして受け取られてもおかしくない。それを、README のタグラインとドキュメントサイトで「非公式、コミュニティ製」と明記することで緩和している。qdrant-rag-mcp というスラグ自体はすでに活発な別プロジェクト(ancoleman/mcp-pr...)が使用しているため意図的に避けた。qdrant-rag-buildqdrant-mcp-rag-build は PyPI と GitHub(2026年8月)で未使用であることを確認済み。

ライセンス: Apache-2.0 — Qdrant と同じライセンスであり、特許権の許諾が付属する。プロフィールをご覧になるエンタープライズ企業からも期待される選択である。

最初の具体的なステップ: サーバーコードを1行も書く前に、F0 で全33ツールの JSON スキーマの定義から着手する。§4 のカタログがこの仕様であり、まずスキーマを凍結することで実装途中での再設計を避け、初週から公開可能な設計書を手に入れる。それによって第1週の設計案への反映もできる。


参考文献: qdrant/mcp-server-qdrant(公式サーバー、2ツール) · fastembed PR #602(bge-m サポート、オープン) · MCP Bundle(.mcpb)ツールキット · リモート MCP を使用したカスタムコネクタ(claude.ai) · v2 の参考: 開発者モード(ChatGPT Developer Mode)OpenAI の MCP とコネクタ

プラン v1.3 · 決定: 2026-08-24 · v1 は Claude の全ファミリー(Code、Desktop、claude.ai — stdio + bearer-token HTTP)を対象とする。ChatGPT は claude.ai と同じ技術的制約ではなく、独自の Developer-Mode/有料プランという摩擦のため、意図的に v2 に先送りする。原案は IA_EmailsContext エンタープライズRAGプロジェクトから得た教訓を参照して作成した。

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables RAG (Retrieval-Augmented Generation) capabilities with document processing, vector storage, and intelligent Q\&A using OpenAI embeddings and semantic search.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Automated RAG pipeline optimization and serving. It interviews users, builds and evaluates candidate configurations on their data, and registers the best ones as a fleet queryable via MCP.
    MIT

View all related MCP servers

Related MCP Connectors

  • Search your knowledge bases from any AI assistant using hybrid RAG.

  • A personal RAG database you build from chat, so AI creates work that sounds like you.

  • Long-term memory for AI assistants. Hybrid retrieval, query expansion, auto-topics.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/avaazquezz/RAG-Build'

If you have feedback or need assistance with the MCP directory API, please join our Discord server