Skip to main content

A Python MCP server for Qdrant memory storage and semantic search, compatible with Cursor-like MCP clients.

Project description

better-qdrant-mcp

A MCP server implemented with fastmcp, OpenAI embeddings, and qdrant-client. It provides three tools equivalent to the Node.js version:

  • memory-store
  • memory-search
  • memory-debug

Requirements

  • Python 3.12+
  • Qdrant reachable via HTTP

Install deps (using uv or pip)

# using uv (recommended)
uv sync
# or with pip
pip install -e .

Environment variables

  • QDRANT_URL (default: http://localhost:6333)
  • QDRANT_API_KEY (optional)
  • COLLECTION_NAME (optional default collection)
  • OPENAPI_API_KEY or OPENAI_API_KEY (required)
  • OPENAI_BASE_URL (optional)
  • OPENAI_EMBEDDING_MODEL (default: text-embedding-3-small)

Run (stdio)

uvx better-qdrant-mcp

You can still run it via Python directly if you prefer:

python -m better_qdrant_mcp

Configure in MCP clients as a stdio server. Example (cursor-like):

{
  "mcpServers": {
    "qdrant-mcp-python": {
      "type": "stdio",
      "command": "uvx",
      "args": ["better-qdrant-mcp"],
      "env": {
        "QDRANT_URL": "http://localhost:6333",
        "COLLECTION_NAME": "long_term_memory"
      }
    }
  }
}

Tools

  • memory-store(information, metadata?: dict, collection_name?: str) -> str
  • memory-search(query, limit?: int=5, collection_name?: str) -> str
  • memory-debug(collection_name?: str) -> str

memory-search uses hybrid search in Qdrant (dense + sparse). If the collection is configured with named vectors dense and sparse, queries are ranked by fusing dense OpenAI embeddings and sparse BM25 scores; otherwise it falls back to dense-only search.

Development tips

For local development, you can use the provided Makefile:

make build

This command will first clean the dist directory and then run uv build to produce fresh artifacts.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

better_qdrant_mcp-0.2.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

better_qdrant_mcp-0.2.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file better_qdrant_mcp-0.2.2.tar.gz.

File metadata

  • Download URL: better_qdrant_mcp-0.2.2.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.6

File hashes

Hashes for better_qdrant_mcp-0.2.2.tar.gz
Algorithm Hash digest
SHA256 1c18d9867d89a109bff8fe6eedbc5a8f551316e509e1e8185b4594a7b6cd6c28
MD5 963f02578368f52309aa750ccd7ffec5
BLAKE2b-256 c7ceb03c7bae4ed4313f22917ca3358f67d0957df00845d3ca676f345e48aa22

See more details on using hashes here.

File details

Details for the file better_qdrant_mcp-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for better_qdrant_mcp-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0e730a41adcd4a133cdbb497c7030a9cde1ca630327099f3d54aef68277e0c5b
MD5 658611eba88d4874c9f497be65198f7c
BLAKE2b-256 028e0a973e9c8598f00675cdd9d0d50c18bb512be65f75db80e5fe746d26af23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page