Qdrant MCP Server logo

Qdrant MCP Server

by davidwynter

A dual-protocol server for Qdrant knowledge graph operations, supporting both FastAPI and FastMCP protocols. It provides a flexible and maintainable solution for accessing Qdrant as a service.

View on GitHub

Last updated: N/A

What is Qdrant MCP Server?

The Qdrant MCP Server is a dual-protocol server that provides access to Qdrant vector database functionality through either a FastAPI REST API or a FastMCP protocol. It allows for managing collections, upserting/deleting nodes, and performing vector searches within a Qdrant instance.

How to use Qdrant MCP Server?

  1. Clone the repository.
  2. Install Poetry and dependencies using poetry install.
  3. Configure environment variables in .env file.
  4. Run the server using poetry run python -m qdrant_mcpserver.main (FastMCP) or poetry run python -m qdrant_mcpserver.main --server-type fastapi (FastAPI).
  5. Interact with the server using the API endpoints or MCP protocol as defined in the documentation.

Key features of Qdrant MCP Server

  • Flexible Server Selection: CLI argument chooses between FastAPI and FastMCP.

  • Comprehensive Documentation: Clear file structure explanation, installation, and usage instructions.

  • Production-Ready: Poetry for dependency management, configuration via environment variables.

  • Maintainable Structure: Separation of concerns, shared core functionality, clear development practices

Use cases of Qdrant MCP Server

  • Building knowledge graphs with semantic search capabilities.

  • Providing a standardized interface for accessing Qdrant functionality.

  • Integrating Qdrant with applications using either REST or MCP protocols.

  • Creating a microservice for managing vector embeddings and performing similarity searches.

FAQ from Qdrant MCP Server

What is the difference between FastAPI and FastMCP?

FastAPI provides a RESTful API, while FastMCP uses a custom message passing protocol. FastMCP may offer performance benefits in certain scenarios.

How do I configure the Qdrant connection?

The Qdrant URL and API key are configured using environment variables: QDRANT_URL and QDRANT_API_KEY, respectively.

What are the available API endpoints?

The server provides the following endpoints: POST /nodes/upsert, POST /nodes/search, DELETE /nodes, and GET /health.

How do I run the tests?

Install the test dependencies using poetry install --with test and then run poetry run pytest -v.

How do I contribute to the project?

Fork the repository, make your changes, and submit a pull request. Follow the code formatting and testing guidelines outlined in the README.