io.github.avaazquezz/mcp-qdrant
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QDRANT_URL | No | The URL of the Qdrant server. Required if not using QDRANT_LOCAL_PATH or QDRANT_MCP_BYO. | |
| QDRANT_API_KEY | No | Optional API key for authenticating to Qdrant. | |
| QDRANT_MCP_BYO | No | Set to '1' to enable public bring-your-own-Qdrant mode. Mutually exclusive with QDRANT_URL and QDRANT_LOCAL_PATH. | |
| QDRANT_LOCAL_PATH | No | Path to a local Qdrant storage directory. Use exactly one of QDRANT_URL or QDRANT_LOCAL_PATH. | |
| QDRANT_MCP_TOOLSETS | No | Comma-separated list of toolsets to enable. Defaults to 'core'. Available toolsets: core, search, payload, snapshots, observability. | core |
| QDRANT_MCP_HTTP_HOST | No | Host interface for the streamable-http server. Example: '0.0.0.0'. | |
| QDRANT_MCP_READ_ONLY | No | Set to 'true' to enable read-only mode. Defaults to 'false'. | false |
| QDRANT_MCP_TRANSPORT | No | Transport mode. Defaults to 'stdio'. Use 'streamable-http' for remote deployment. | stdio |
| QDRANT_MCP_SHARED_SECRET | No | Required when QDRANT_MCP_TRANSPORT is 'streamable-http' and QDRANT_MCP_BYO is not set. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| qdrant_health_checkA | Confirm the configured Qdrant instance is reachable and responding. |
| qdrant_collection_createA | Create a collection: either a single unnamed vector ( |
| qdrant_collection_listA | List every collection name in the configured Qdrant instance. |
| qdrant_collection_infoA | Return full config and status of one collection. |
| qdrant_collection_updateA | Update optimizer/HNSW/collection/vector params on an existing collection. |
| qdrant_collection_deleteA | Delete a collection and all its points; a no-op if it doesn't exist. |
| qdrant_collection_existsA | Check whether a collection exists, without raising if it doesn't. |
| qdrant_points_upsertA | Insert or replace points (id + vector + payload) in a collection. |
| qdrant_points_getB | Retrieve points by id; unknown ids are simply omitted, not an error. |
| qdrant_points_deleteA | Delete points by id list or by payload filter — exactly one of the two. |
| qdrant_points_scrollA | Page through all points in a collection, optionally filtered. |
| qdrant_points_countB | Count points in a collection, optionally matching a filter. |
| qdrant_queryA | Vector similarity search, with optional hybrid search over multiple prefetch stages. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool targets a distinct operation on either collections, points, or the server itself. Collection existence vs. info are adjacent but clearly separated by their boolean-vs-detailed-output behavior.
Tools mostly follow a consistent qdrant_<resource>_<action> snake_case pattern. qdrant_query and qdrant_health_check deviate slightly by omitting the resource segment, but the overall pattern remains predictable.
13 tools is well-scoped for a Qdrant MCP server: collection lifecycle, point operations, search, and health check all have a place. No tool feels redundant or out of scope.
The core surface is solid: collections can be created, listed, inspected, updated, and deleted, and points can be upserted, fetched, deleted, scrolled, counted, and queried. The main gap is that collection_update references a qdrant_collection_vector_create tool that is not actually exposed, making it impossible to add a new named vector to an existing collection.