qdrant_mcpserver

qdrant_mcpserver

3.3

A dual-protocol server for Qdrant knowledge graph operations, supporting both FastAPI and FastMCP protocols.

The Qdrant MCP Server is designed to facilitate knowledge graph operations using Qdrant, a vector database, through two different server protocols: FastAPI and FastMCP. The server is structured to allow easy switching between these protocols via a command-line interface, ensuring flexibility and adaptability to different use cases. The project is organized into several key components, including configuration settings, Qdrant client operations, and separate implementations for FastAPI and FastMCP. The server supports essential operations such as node upsert, search, and deletion, and provides health check endpoints. It is built with maintainability in mind, using Poetry for dependency management and Pydantic for configuration validation. The server is production-ready, with comprehensive documentation and instructions for installation, usage, and deployment.

Features

  • {'name': 'Flexible Server Selection', 'description': 'CLI argument chooses between FastAPI and FastMCP, with shared configuration and consistent endpoints.'}
  • {'name': 'Comprehensive Documentation', 'description': 'Includes clear file structure explanation, installation and usage instructions, and environment variable reference.'}
  • {'name': 'Production-Ready', 'description': 'Utilizes Poetry for dependency management and provides build and deployment instructions.'}
  • {'name': 'Maintainable Structure', 'description': 'Features separation of concerns with shared core functionality and clear development practices.'}

Usage with Different Platforms

Running the Server

bash
# Run FastMCP server (default)
poetry run python -m qdrant_mcpserver.main

# Run FastAPI server
poetry run python -m qdrant_mcpserver.main --server-type fastapi

Code Formatting

bash
# Formats code according to Black's style guide (PEP 8 compliant)
poetry run black .
poetry run isort .

Testing

bash
# Run all tests
poetry run pytest -v

# Run with coverage report
poetry run pytest --cov=qdrant_mcpserver --cov-report=term-missing

Type Checking

bash
poetry run mypy .

Deployment

bash
# Build production package
poetry build

# Install system-wide
pip install dist/*.whl

# Run as service
python -m qdrant_mcpserver.main --server-type fastmcp