Better Qdrant MCP Server
より優れたQdrant MCPサーバー
Qdrantベクターデータベースの機能を強化するモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、Qdrantコレクションの管理、ドキュメントの追加、セマンティック検索の実行のためのツールを提供します。
特徴
コレクションの一覧: 利用可能なすべてのQdrantコレクションを表示
ドキュメントの追加: さまざまな埋め込みサービスを使用して、ドキュメントを処理して Qdrant コレクションに追加します。
検索:ベクターデータベース全体でセマンティック検索を実行します
コレクションの削除: Qdrantデータベースからコレクションを削除します
Related MCP server: doc-lib-mcp
インストール
npm install -g better-qdrant-mcp-serverまたは、npx で直接使用します。
npx better-qdrant-mcp-server構成
サーバーは設定に環境変数を使用します。これらはプロジェクトルートの.envファイルで設定できます。
# Qdrant Configuration
QDRANT_URL=http://localhost:6333
QDRANT_API_KEY=your_api_key_if_needed
# Embedding Service API Keys
OPENAI_API_KEY=your_openai_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
OLLAMA_ENDPOINT=http://localhost:11434サポートされている埋め込みサービス
OpenAI : APIキーが必要です
OpenRouter : APIキーが必要です
Ollama : ローカル埋め込みモデル (デフォルトのエンドポイント: http://localhost:11434 )
FastEmbed : ローカル埋め込みモデル
クロードとの使用
この MCP サーバーを Claude で使用するには、MCP 設定構成ファイルに追加します。
{
"mcpServers": {
"better-qdrant": {
"command": "npx",
"args": ["better-qdrant-mcp-server"],
"env": {
"QDRANT_URL": "http://localhost:6333",
"QDRANT_API_KEY": "your_api_key_if_needed",
"DEFAULT_EMBEDDING_SERVICE": "ollama",
"OPENAI_API_KEY": "your_openai_api_key",
"OPENAI_ENDPOINT": "https://api.openai.com/v1",
"OPENROUTER_API_KEY": "your_openrouter_api_key",
"OPENROUTER_ENDPOINT": "https://api.openrouter.com/v1",
"OLLAMA_ENDPOINT": "http://localhost:11434",
"OLLAMA_MODEL": "nomic-embed-text"
}
}
}
}コマンド例
リストコレクション
use_mcp_tool
server_name: better-qdrant
tool_name: list_collections
arguments: {}ドキュメントを追加
use_mcp_tool
server_name: better-qdrant
tool_name: add_documents
arguments: {
"filePath": "/path/to/your/document.pdf",
"collection": "my-collection",
"embeddingService": "openai",
"chunkSize": 1000,
"chunkOverlap": 200
}検索
use_mcp_tool
server_name: better-qdrant
tool_name: search
arguments: {
"query": "your search query",
"collection": "my-collection",
"embeddingService": "openai",
"limit": 5
}コレクションを削除
use_mcp_tool
server_name: better-qdrant
tool_name: delete_collection
arguments: {
"collection": "my-collection"
}要件
Node.js >= 18.0.0
実行中のQdrantサーバー(ローカルまたはリモート)
使用したい埋め込みサービスのAPIキー
ライセンス
マサチューセッツ工科大学
Available Tools
4 toolsadd_documentsC
Add documents to a Qdrant collection with specified embedding service
| Name | Required | Description | Default |
|---|---|---|---|
| chunkOverlap | No | Overlap between chunks (optional) | |
| chunkSize | No | Size of text chunks (optional) | |
| collection | Yes | Name of the collection to add documents to | |
| embeddingService | Yes | Embedding service to use | |
| filePath | Yes | Path to the file to process |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the embedding service but doesn't cover critical aspects like whether this is a write operation (implied by 'Add'), potential side effects, error conditions, or performance characteristics. For a tool that likely modifies data, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of adding documents with embeddings (a write operation with processing steps), no annotations, and no output schema, the description is incomplete. It lacks details on behavior, output format, error handling, or integration context, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond implying that documents are processed with embeddings, which is already suggested by the 'embeddingService' parameter. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add documents') and target resource ('to a Qdrant collection'), specifying the embedding service requirement. However, it doesn't differentiate from sibling tools like 'search' or 'delete_collection' beyond the basic verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'search' or 'list_collections', nor are prerequisites or typical use cases mentioned. The description only states what it does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_collectionC
Delete a Qdrant collection
| Name | Required | Description | Default |
|---|---|---|---|
| collection | Yes | Name of the collection to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool deletes a collection, implying a destructive mutation, but does not elaborate on critical aspects such as irreversibility, permissions required, error handling, or side effects (e.g., data loss). This leaves significant gaps for a tool with clear destructive intent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero wasted words, making it highly concise and front-loaded. It immediately communicates the core action without unnecessary elaboration, which is efficient for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's destructive nature, lack of annotations, and no output schema, the description is insufficiently complete. It fails to address key contextual elements like irreversibility, error cases, or what happens post-deletion, which are critical for safe and informed usage by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'collection' clearly documented in the schema. The description does not add any additional meaning or context beyond what the schema provides (e.g., format examples or constraints), so it meets the baseline for adequate but not enhanced parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and resource ('a Qdrant collection'), making the purpose immediately understandable. However, it does not differentiate this tool from its siblings (like 'list_collections' or 'add_documents'), which would require mentioning it's a destructive operation versus read-only alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., that the collection must exist), exclusions, or refer to sibling tools like 'list_collections' for checking before deletion, leaving the agent with minimal context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsB
List all available Qdrant collections
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'List all available Qdrant collections' implies a read-only operation, it doesn't specify important behavioral details like whether this requires authentication, what format the results come in, if there are rate limits, or how large collections are handled. The description is minimal and lacks operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states exactly what the tool does with no wasted words. It's front-loaded with the core functionality and appropriately sized for a simple listing operation. Every word earns its place in conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and zero parameters, the description is insufficiently complete. While it states what the tool does, it doesn't provide enough context about the operation's behavior, result format, or integration considerations. The agent would need to guess about important operational details that aren't covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100% (empty schema is fully described). The description appropriately doesn't discuss parameters since none exist. This meets the baseline expectation for a parameterless tool, though it doesn't add any parameter-related value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('Qdrant collections'), making the purpose immediately understandable. It specifies 'all available' collections, which adds useful scope information. However, it doesn't explicitly differentiate from sibling tools like 'search' or 'delete_collection', which would require more specific comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'search' or 'delete_collection'. There's no mention of prerequisites, typical use cases, or scenarios where this tool would be preferred over others. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchC
Search for similar documents in a collection
| Name | Required | Description | Default |
|---|---|---|---|
| collection | Yes | Name of the collection to search in | |
| embeddingService | Yes | Embedding service to use | |
| limit | No | Maximum number of results to return (optional) | |
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'similar documents' but doesn't explain how similarity is determined (e.g., via embeddings), what the output looks like (e.g., relevance scores), or any constraints like rate limits or authentication needs. This leaves significant gaps for a search tool with multiple parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to grasp quickly, which is ideal for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It fails to explain key aspects like the search mechanism (embedding-based), expected output format, or error conditions. This leaves the agent with insufficient context to use the tool effectively beyond basic parameter input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters well. The description adds no additional meaning beyond what's in the schema, such as explaining the relationship between query and embeddingService or how limit affects results. This meets the baseline for high schema coverage but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose as 'Search for similar documents in a collection', which clearly indicates a search operation. However, it's vague about what 'similar' means (e.g., semantic similarity via embeddings) and doesn't distinguish from siblings like list_collections, which might also involve collections but for listing rather than searching. It's adequate but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't clarify if this is for semantic search (implied by embeddingService) versus other search methods, or how it relates to siblings like add_documents or list_collections. There's no mention of prerequisites, such as needing an existing collection, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: add_documents handles document insertion, delete_collection removes collections, list_collections enumerates them, and search performs similarity queries. There is no overlap in functionality, making tool selection straightforward.
All tools follow a consistent verb_noun pattern (add_documents, delete_collection, list_collections, search). The naming is uniform and predictable, with no deviations in style or convention.
With only 4 tools, the set feels thin for a vector database server, lacking operations like collection creation, document updates, or deletion. While the tools cover basic CRUD aspects, the scope is limited and may require workarounds for full functionality.
There are significant gaps in the tool surface for a Qdrant server: no create_collection tool, no update or delete document operations, and no management of embeddings or configurations. This incomplete coverage will likely cause agent failures in common workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.18136Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for ingesting, chunking and semantically searching documentation files, with support for markdown, Python, OpenAPI, HTML files and URLs.
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables intelligent document search and retrieval from PDF collections, providing semantic search capabilities powered by OpenAI embeddings and ChromaDB vector storage.13MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for Retrieval-Augmented Generation (RAG) operations. It provides tools for building and querying vector-based knowledge bases from document collections, enabling semantic search and document retrieval capabilities.3MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/wrediam/better-qdrant-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server