MCP server for Qdrant vector database with local embedding support
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_qdrant_rs-0.1.2-py3-none-win_amd64.whl.
File metadata
- Download URL: mcp_server_qdrant_rs-0.1.2-py3-none-win_amd64.whl
- Upload date:
- Size: 7.0 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eb557053eef76bbf586f7ed5983a6b648a9eab6bbb4ce46c55a3674a0ada3c7
|
|
| MD5 |
5d752150b86683e05fcef8b7c6d6a2f8
|
|
| BLAKE2b-256 |
2d6d2159093f957cbb0b8b66885718091ee7236eb3055a86d85029d34c6f3dc4
|
Provenance
The following attestation bundles were made for mcp_server_qdrant_rs-0.1.2-py3-none-win_amd64.whl:
Publisher:
release.yaml on vaporif/mcp-server-qdrant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_qdrant_rs-0.1.2-py3-none-win_amd64.whl -
Subject digest:
2eb557053eef76bbf586f7ed5983a6b648a9eab6bbb4ce46c55a3674a0ada3c7 - Sigstore transparency entry: 1102172008
- Sigstore integration time:
-
Permalink:
vaporif/mcp-server-qdrant@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/vaporif
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 8.4 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
269ab6715fa2d54081436fd49ebd083065db1037645a0e9be5f25ae5ee7df3a0
|
|
| MD5 |
55880682debc46cf6858a4719de19e89
|
|
| BLAKE2b-256 |
5b53ead8548ce11ba2566627ad1de0a9f71ab4b0ca2f7c8ba1eccacc0083869b
|
Provenance
The following attestation bundles were made for mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_x86_64.whl:
Publisher:
release.yaml on vaporif/mcp-server-qdrant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_x86_64.whl -
Subject digest:
269ab6715fa2d54081436fd49ebd083065db1037645a0e9be5f25ae5ee7df3a0 - Sigstore transparency entry: 1102172039
- Sigstore integration time:
-
Permalink:
vaporif/mcp-server-qdrant@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/vaporif
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 8.1 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b384563e8997c7a5cb9790bf35db0eedb8f0675127ac9f6f8561c78a03a5045
|
|
| MD5 |
f78be9ed7dba81c02c421dfa3bd8d335
|
|
| BLAKE2b-256 |
f6735b51e49734118867a6293a801dbf4f9fe05b12225b47df34f4188dde5d86
|
Provenance
The following attestation bundles were made for mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_aarch64.whl:
Publisher:
release.yaml on vaporif/mcp-server-qdrant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_qdrant_rs-0.1.2-py3-none-musllinux_1_2_aarch64.whl -
Subject digest:
1b384563e8997c7a5cb9790bf35db0eedb8f0675127ac9f6f8561c78a03a5045 - Sigstore transparency entry: 1102172024
- Sigstore integration time:
-
Permalink:
vaporif/mcp-server-qdrant@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/vaporif
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_server_qdrant_rs-0.1.2-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: mcp_server_qdrant_rs-0.1.2-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.5 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f093d0ab7688adcc747a84799ade49963e1bab1e93475b856a8e686936d6ca7
|
|
| MD5 |
bfd3c267e92943cf8b7fba9379fee173
|
|
| BLAKE2b-256 |
84218e2e04e9ec0db513d77a09ce078337c4c67c1aedc2d8cc8261fc06c615ec
|
Provenance
The following attestation bundles were made for mcp_server_qdrant_rs-0.1.2-py3-none-macosx_11_0_arm64.whl:
Publisher:
release.yaml on vaporif/mcp-server-qdrant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_qdrant_rs-0.1.2-py3-none-macosx_11_0_arm64.whl -
Subject digest:
2f093d0ab7688adcc747a84799ade49963e1bab1e93475b856a8e686936d6ca7 - Sigstore transparency entry: 1102171995
- Sigstore integration time:
-
Permalink:
vaporif/mcp-server-qdrant@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/vaporif
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_server_qdrant_rs-0.1.2-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: mcp_server_qdrant_rs-0.1.2-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 7.8 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
185cecfa688cc23ea19353af8f3342fc54c392250d56a09a749fbfaf29a116b7
|
|
| MD5 |
195da7959f406ef338d463bb888da1f0
|
|
| BLAKE2b-256 |
63ccebed0b803f9139e6d4222bbffb7f34b522d900e55f25a3ba684a9bff444e
|
Provenance
The following attestation bundles were made for mcp_server_qdrant_rs-0.1.2-py3-none-macosx_10_12_x86_64.whl:
Publisher:
release.yaml on vaporif/mcp-server-qdrant
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_qdrant_rs-0.1.2-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
185cecfa688cc23ea19353af8f3342fc54c392250d56a09a749fbfaf29a116b7 - Sigstore transparency entry: 1102171971
- Sigstore integration time:
-
Permalink:
vaporif/mcp-server-qdrant@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/vaporif
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@9466a0e31da2be3b1a08b20fb04d17cad8ccdfc4 -
Trigger Event:
push
-
Statement type: