{"id":"qdrant-llamaindex-mcp-server","name":"qdrant-llamaindex-mcp-server","homepage":"https://pypi.org/project/qdrant-llamaindex-mcp-server/","repo_url":"https://github.com/azhang/qdrant-llamaindex-mcp-server","category":"ai-ml","subcategories":[],"tags":["mcp","qdrant","llamaindex","vector-database","retrieval","embeddings","python","fastmcp"],"what_it_does":"Provides a Model Context Protocol (MCP) server exposing tools to read (and optionally write) documents stored in a Qdrant vector database that were indexed by LlamaIndex. It supports dynamic collection selection at runtime and attempts to adapt to various LlamaIndex payload/content field formats. For embeddings, it detects the embedding model per collection and embeds queries using a whitelisted set of allowed models, otherwise falling back to a default model.","use_cases":["Semantic search and document retrieval over LlamaIndex-ingested content stored in Qdrant","Fetching points/documents and browsing collection contents via MCP tools","Building LLM applications/agents that need standardized tool access to Qdrant-backed knowledge bases","Debugging/inspecting Qdrant collections used by LlamaIndex (counts, sample points, collection details)"],"not_for":["Exposing a public, general-purpose API for untrusted clients without additional network/auth controls (it is primarily an MCP server)","Use cases requiring fine-grained authorization per user/tenant","Operations needing full control over embedding models beyond the provided whitelist (unless whitelist is disabled)","High-scale production use without confirming operational robustness (rate limits, error handling details, and model loading behavior are not fully specified in the provided README)"],"best_when":"You run an MCP-capable LLM app/agent that needs read-only or controlled write access to LlamaIndex data in Qdrant and you want automatic handling of differing payload schemas and embedding model selection.","avoid_when":"You cannot restrict or secure access to the server/tooling (especially if write tools are enabled), or you require strict guarantees about embedding model provenance and resource usage while the embedding whitelist is permissive or disabled.","alternatives":["qdrant/mcp-server-qdrant (official MCP server for Qdrant, simpler toolset)","Direct Qdrant REST/gRPC usage with your own application-side retrieval logic","LlamaIndex-native retrievers integrated directly with Qdrant (without MCP)","Other MCP servers tailored to Qdrant or vector search"],"af_score":60.2,"security_score":48.2,"reliability_score":27.5,"package_type":"mcp_server","discovery_source":["pypi"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:47:10.384201+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Qdrant API key via QDRANT_API_KEY (passed through from environment)","MCP transport security not specified in README; server is configured via FastMCP transport (stdio/sse/streamable-http)"],"oauth":false,"scopes":false,"notes":"Authentication is primarily with Qdrant using QDRANT_API_KEY; MCP client authentication/authorization is not described. If exposing SSE/HTTP transports remotely, you should add network-level protection because the README does not specify MCP auth controls."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source package; costs depend on Qdrant deployment and any embedding model downloads/runtime usage."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":60.2,"security_score":48.2,"reliability_score":27.5,"mcp_server_quality":78.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":75.0,"rate_limit_clarity":20.0,"tls_enforcement":55.0,"auth_strength":45.0,"scope_granularity":15.0,"dependency_hygiene":60.0,"secret_handling":70.0,"security_notes":"Reads are supported with QDRANT_READ_ONLY=true by design; write tools are gated behind QDRANT_READ_ONLY=false (good safety default). There is an embedding model whitelist with fallback behavior, reducing risk of accidental large model downloads. However, the README does not document MCP-level authentication/authorization, nor rate limiting, nor explicit guidance for securing SSE/HTTP transports. QDRANT_API_KEY is used (but secret logging behavior is not described). TLS enforcement is not specified for Qdrant connectivity (depends on QDRANT_URL).","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":35.0,"error_recovery":35.0,"idempotency_support":"false","idempotency_notes":"Write tools exist (store/update/delete/create). The README does not state idempotency guarantees for write operations.","pagination_style":"offset/limit style for listing IDs/scrolling points (qdrant-list-document-ids, qdrant-scroll-points) plus limit default values","retry_guidance_documented":false,"known_agent_gotchas":["Write tools may be enabled when QDRANT_READ_ONLY=false; ensure you keep read-only mode on for safety with autonomous agents.","Embedding model whitelist can block collections; the server falls back to EMBEDDING_MODEL when a collection’s model is not allowed, which may produce retrieval quality changes.","Collection names are supplied dynamically by MCP clients; agents must pass correct collection_name for each call.","If using vector search by raw vector (qdrant-search-by-vector), clients must supply correctly shaped vectors (array of floats) matching the target collection’s vector config."]}}