mcp-server-qdrant
Rust MCP server for Qdrant with local BERT embeddings. Single binary, no Python.
Why not the official Python one?
ONNX Python wheels are painful to package in Nix (especially aarch64-linux). This is a Rust rewrite with Nix-native packaging and a pure-Rust default backend (Candle) that has zero native dependencies.
Usage
Claude Desktop / Claude Code
With uvx (recommended):
{
"mcpServers": {
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant-rs"],
"env": {
"QDRANT_URL": "http://localhost:6334",
"COLLECTION_NAME": "my-collection"
}
}
}
}
With rvx:
{
"mcpServers": {
"qdrant": {
"command": "rvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_URL": "http://localhost:6334",
"COLLECTION_NAME": "my-collection"
}
}
}
}
Other installation methods
With Nix:
nix run github:vaporif/mcp-server-qdrant
# ONNX backend
nix run github:vaporif/mcp-server-qdrant#onnx
As a flake input:
{
inputs.mcp-server-qdrant.url = "github:vaporif/mcp-server-qdrant";
nixpkgs.overlays = [ mcp-server-qdrant.overlays.default ];
}
With cargo:
cargo install mcp-server-qdrant
From releases:
Download a prebuilt binary from GitHub Releases.
With Docker:
docker build -t mcp-server-qdrant .
docker run -p 8000:8000 -e QDRANT_URL=http://host.docker.internal:6334 -e COLLECTION_NAME=my-collection mcp-server-qdrant
HTTP Transport
mcp-server-qdrant --transport streamable-http --port 8000
Debugging
RUST_LOG=debug mcp-server-qdrant
Environment Variables
| Variable | Default | Description |
|---|---|---|
QDRANT_URL |
— | Qdrant server URL |
QDRANT_API_KEY |
— | Qdrant API key |
QDRANT_LOCAL_PATH |
— | Local storage path (instead of URL) |
COLLECTION_NAME |
— | Default collection name |
QDRANT_SEARCH_LIMIT |
10 | Max search results |
QDRANT_READ_ONLY |
false | Read-only mode |
EMBEDDING_MODEL |
sentence-transformers/all-MiniLM-L6-v2 | Model name |
MCP_TRANSPORT |
stdio | stdio, sse, streamable-http |
HOST |
127.0.0.1 | Bind host for SSE/HTTP |
PORT |
8000 | Bind port for SSE/HTTP |
Embedding Backends
| Feature | Description |
|---|---|
candle (default) |
Pure Rust. No native deps. |
onnx |
ONNX Runtime. Provide ORT_DYLIB_PATH. |
onnx-fetch |
ONNX with auto-download. |
Development
nix develop # dev shell
just check # clippy + test + fmt + taplo + typos
just test # run tests
just lint # clippy + fmt
just deny # dependency audit
just e2e # e2e tests (needs Qdrant)
License
MIT
Metadata
Release files for mcp-server-qdrant-rs 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| mcp_server_qdrant_rs-0.1.6-py3-none-musllinux_1_2_x86_64.whl | Python 3 | none | Linux musl 1.2+ x86-64 | Details |
| mcp_server_qdrant_rs-0.1.6-py3-none-musllinux_1_2_aarch64.whl | Python 3 | none | Linux musl 1.2+ ARM64 | Details |
| mcp_server_qdrant_rs-0.1.6-py3-none-macosx_14_0_x86_64.whl | Python 3 | none | macOS 14.0+ x86-64 | Details |
| mcp_server_qdrant_rs-0.1.6-py3-none-macosx_14_0_arm64.whl | Python 3 | none | macOS 14.0+ ARM64 | Details |
Total release size: 38.5 MB
Release files / mcp_server_qdrant_rs-0.1.6-py3-none-musllinux_1_2_x86_64.whl
| Download URL | mcp_server_qdrant_rs-0.1.6-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
635a13e4cf205112676a9e3b43b6e0c12c56504abc037d849ab0e86cffe45afd
|
|
BLAKE2b-256 checksum How to use checksums |
3e01b87f15e07da59995d05000259b8bec8133fb6aaa8d4e3846c8df48439599
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.
Transparency logRelease files / mcp_server_qdrant_rs-0.1.6-py3-none-musllinux_1_2_aarch64.whl
| Download URL | mcp_server_qdrant_rs-0.1.6-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 8.1 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
5d9f37202adb71f99300108825f2131ab923e2312bcb26750d67d6540aa7f091
|
|
BLAKE2b-256 checksum How to use checksums |
475baac28824b2685f509c680a818a5f8b04d8ff00bd6aced4ac8fb170738672
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.
Transparency logRelease files / mcp_server_qdrant_rs-0.1.6-py3-none-macosx_14_0_x86_64.whl
| Download URL | mcp_server_qdrant_rs-0.1.6-py3-none-macosx_14_0_x86_64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | Python 3 macOS 14.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
8a2dc42b7df0331055d1f263b40d30269fcc899be426a4f6d9a30233eb84fdf6
|
|
BLAKE2b-256 checksum How to use checksums |
8b906a6e9ebb9ca5a0900b41bfe09cfe04db8e9cd4a3bc44d55ec6de115d221f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.
Transparency logRelease files / mcp_server_qdrant_rs-0.1.6-py3-none-macosx_14_0_arm64.whl
| Download URL | mcp_server_qdrant_rs-0.1.6-py3-none-macosx_14_0_arm64.whl |
|---|---|
| Size | 14.2 MB |
| Tags | Python 3 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8556f911cf8534322025d35ecddf2cd240000f62f383bcd37be675db6910aafb
|
|
BLAKE2b-256 checksum How to use checksums |
83c89b85a6f5f9bd28cc311100bda2dc0a1d43390e8dbac25fd03a31198085e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.
Transparency log