Skip to main content
Glama
wrediam

Better Qdrant MCP Server

by wrediam

Better Qdrant MCP Server

A Model Context Protocol (MCP) server for enhanced Qdrant vector database functionality. This server provides tools for managing Qdrant collections, adding documents, and performing semantic searches.

Features

  • List Collections: View all available Qdrant collections

  • Add Documents: Process and add documents to a Qdrant collection with various embedding services

  • Search: Perform semantic searches across your vector database

  • Delete Collection: Remove collections from your Qdrant database

Related MCP server: doc-lib-mcp

Installation

npm install -g better-qdrant-mcp-server

Or use it directly with npx:

npx better-qdrant-mcp-server

Configuration

The server uses environment variables for configuration. You can set these in a .env file in your project root:

# 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

Supported Embedding Services

  • OpenAI: Requires an API key

  • OpenRouter: Requires an API key

  • Ollama: Local embedding models (default endpoint: http://localhost:11434)

  • FastEmbed: Local embedding models

Usage with Claude

To use this MCP server with Claude, add it to your MCP settings configuration file:

{
  "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"
      }
    }
  }
}

Example Commands

List Collections

use_mcp_tool
server_name: better-qdrant
tool_name: list_collections
arguments: {}

Add Documents

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
}

Delete Collection

use_mcp_tool
server_name: better-qdrant
tool_name: delete_collection
arguments: {
  "collection": "my-collection"
}

Requirements

  • Node.js >= 18.0.0

  • A running Qdrant server (local or remote)

  • API keys for the embedding services you want to use

License

MIT

Available Tools

4 tools
add_documentsC

Add documents to a Qdrant collection with specified embedding service

ParametersJSON Schema
NameRequiredDescriptionDefault
chunkOverlapNoOverlap between chunks (optional)
chunkSizeNoSize of text chunks (optional)
collectionYesName of the collection to add documents to
embeddingServiceYesEmbedding service to use
filePathYesPath to the file to process

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYesName of the collection to delete

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

TDQS

B3.1/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A 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.
    18
    136
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    3
    MIT

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/wrediam/better-qdrant-mcp-server'

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