Qdrant MCP Server

by davidwynter

340 downloads Not rated yet
GitHub

About

A dual-protocol server that provides both FastAPI and FastMCP clients for accessing Qdrant knowledge graph operations. It is designed for developers who need to interact with Qdrant vector databases using either REST APIs or the Model Context Protocol.

Explore

1. Flexible Server Selection:
- CLI argument chooses between FastAPI and FastMCP
- Shared configuration and Qdrant client
- Consistent endpoints across both

2. Comprehensive Documentation:
- Clear file structure explanation
- Installation and usage instructions
- Environment variable reference
- Development workflow

3. Production-Ready:
- Poetry for dependency management
- Configuration via environment variables
- Build and deployment instructions

4. Maintainable Structure:
- Separation of concerns
- Shared core functionality
- Clear development practices

The implementation allows you to switch between server protocols while maintaining the same underlying Qdrant operations.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Qdrant MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Install Poetry (if not installed):

curl -sSL https://install.python-poetry.org | python3 -

2. Clone repository:

git clone https://github.com/your-repo/qdrant-mcpserver.git
cd qdrant-mcpserver

3. Install dependencies:

poetry install

4. Configure environment:

cp .env.example .env

- Loads environment variables
- Contains settings for:
- Qdrant connection (URL, API key)
- OpenAI API key
- Collection names
- Server ports
- Uses pydantic for validation

bash

| Variable | Required | Description |
|----------|----------|-------------|
| QDRANT_URL | Yes | Qdrant server URL |
| QDRANT_API_KEY | No | Qdrant API key |
| OPENAI_API_KEY | Yes | OpenAI API key |
| COLLECTION_NAME | No | Default: "knowledge_graph" |
| PORT | No | FastAPI port (default: 8000) |
| MCP_PORT | No | FastMCP port (default: 8080) |
| MCP_SECRET | No | Authentication secret |

Build production package:

poetry build

Install system-wide:

pip install dist/*.whl

Run as service:

python -m qdrant_mcpserver.main --server-type fastmcp

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "qdrant mcp server": {
            "qdrant_mcpserver": {
                "command": "python",
                "args": [
                    "-m",
                    "qdrant_mcpserver.main",
                    "--server-type",
                    "fastmcp"
                ]
            }
        }
    }
}

McpServers

{
    "qdrant_mcpserver": {
        "command": "python",
        "args": [
            "-m",
            "qdrant_mcpserver.main",
            "--server-type",
            "fastmcp"
        ]
    }
}

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

Project Structure

src/qdrant_mcpserver/
├── __init__.py
├── config.py          # Configuration settings
├── qdrant_client.py   # Qdrant operations
├── fastapi_server.py  # FastAPI implementation
├── fastmcp_server.py  # FastMCP implementation
└── main.py            # CLI entry point

File Descriptions

config.py

- Loads environment variables - Contains settings for: - Qdrant connection (URL, API key) - OpenAI API key - Collection names - Server ports - Uses pydantic for validation

qdrant_client.py

- Implements core Qdrant operations: - Collection management - Node upsert/delete - Vector search - Handles embedding generation via OpenAI - Provides service layer for both server types

fastapi_server.py

- FastAPI implementation with: - RESTful endpoints - CORS middleware - OpenAPI documentation - Endpoints: - POST /nodes/upsert - POST /nodes/search - DELETE /nodes - GET /health

fastmcp_server.py

- FastMCP implementation with: - MCP protocol compliance - Authentication support - Standardized response formats - Same endpoints as FastAPI but with MCP envelope

main.py

- CLI entry point with: - Server type selection (--server-type) - Unified logging - Port configuration - Runs either FastAPI or FastMCP server

Installation

1. Install Poetry (if not installed):

curl -sSL https://install.python-poetry.org | python3 -

2. Clone repository:

git clone https://github.com/your-repo/qdrant-mcpserver.git
cd qdrant-mcpserver

3. Install dependencies:

poetry install

4. Configure environment:
```bash
cp .env.example .env

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.