Skip to main content
Glama
msstnk

qdrant-mcp

by msstnk

qdrant-mcp

Qdrantでのドキュメント取り込みおよびセマンティック検索のためのMCPサーバー。

概要

qdrant-mcp は以下のツールを提供します:

  • ローカルドキュメントをQdrantコレクションに取り込む

  • OpenAIで埋め込みを生成する

  • オプションのメタデータフィルターを使用してベクトル検索を実行する

Related MCP server: mcp-server-qdrant

機能

  • ingest_documents

    • MarkItDownを使用して docx、pptx、pdf などのファイルをMarkdownに変換

    • chunk_size と overlap_ratio を使用してコンテンツをチャンクに分割

    • OpenAI Embeddings(デフォルトは text-embedding-3-small)でチャンクを埋め込み

    • チャンクのテキストとメタデータをQdrantにアップサート

  • search_documents

    • 同じ埋め込みAPIを使用してクエリテキストを埋め込み

    • Qdrantから上位 k 件の検索結果を取得

    • category および path によるフィルタリングをサポート

要件

  • Python 3.11+

  • uv

  • Qdrant (例: http://localhost:6333)

  • OPENAI_API_KEY

セットアップ

uv sync

Codex CLI内での実行

[mcp_servers.qdrant-mcp]
command = "uv"
args = ["run", "qdrant-mcp"]
cwd = "/sandbox/qdrant-mcp"

env = {
  OPENAI_API_KEY = "sk-...",
  QDRANT_URL = "http://127.0.0.1:6333",
  QDRANT_API_KEY = "QDRANT_API_KEY",
  QDRANT_COLLECTION = "codex_collection",
  CHUNK_HEADER_MODEL = "gpt-5.4-mini"
}

テスト

.env に OPENAI_API_KEY、QDRANT_URL、QDRANT_API_KEY を設定し、以下を実行します:

uv run python -m unittest tests/integration/test_qdrant_integration.py

MCPツール

ingest_documents

パラメータ:

  • paths: list[str]

  • category: str

  • chunk_size: int = 1200

  • overlap_ratio: float = 0.15

  • embedding_model: str = "text-embedding-3-small"

  • chunk_header_mode: Literal["enabled", "disabled"] = "enabled"

戻り値:

  • collection

  • embedding_model

  • ingested_files

  • ingested_points

  • failed_files

search_documents

パラメータ:

  • query: str

  • top_k: int = 5

  • category: str | None = None

  • path: str | None = None

  • embedding_model: str = "text-embedding-3-small"

戻り値:

  • collection

  • embedding_model

  • query

  • count

  • results (score, path, category, chunk_index, text)

delete_documents_by_path

パラメータ:

  • path: str

  • category: str | None = None

戻り値:

  • collection

  • path

  • category

  • status

  • operation_id

list_category

パラメータ:

  • limit: int = 100

戻り値:

  • collection

  • count

  • categories

list_path

パラメータ:

  • category: str

  • limit: int = 1000

戻り値:

  • collection

  • category

  • count

  • paths

注意事項

  • ターゲットのコレクションが存在しない場合、最初の取り込み時に自動的に作成されます。

  • category および path のペイロードインデックスが存在しない場合、取り込み時に作成されます。

  • デフォルトでは、取り込み時に最初の4096バイトから派生した生成済みの Chunk-Header(最大64文字)がすべてのチャンクの先頭に追加されます。

  • chunk_header_mode が enabled(デフォルト: gpt-5.4-mini)の場合、Chunk-Headerモデルは CHUNK_HEADER_MODEL から読み込まれます。

  • コレクション名は QDRANT_COLLECTION を通じてのみ設定されます(MCPツールパラメータ経由ではありません)。

  • text-embedding-3-small を使用する場合、ベクトルサイズは 1536 です。

ライセンス

LICENSE を参照してください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Local-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.
    3
    10 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Qdrant vector database with local BERT embeddings. Enables semantic search and vector storage operations through natural language.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that searches documents in Qdrant using embeddings from LMStudio. Takes a text query, converts it to a vector via LMStudio's OpenAI-compatible API, and performs semantic search in Qdrant.
    9 npm
    ISC