"Configure qdrant-client server and cloud connections, REST versus
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill connection-and-transport --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Connection And Transport?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-connection-and-transport)More formats (shields.io, HTML) on the badges page.
---
name: connection-and-transport
description: "Configure qdrant-client server and cloud connections, REST versus
gRPC transport, authentication headers, timeouts, pooling, and connection
lifecycle without relying on local mode."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Connection and Transport
Use this sub-skill when a task is about constructing a `QdrantClient` or `QdrantRemote` for a running Qdrant server or Qdrant Cloud cluster, choosing REST or gRPC transport, setting URL/host/prefix details, adding authentication, validating timeouts/pooling options, inspecting raw clients, or closing a client cleanly.
Route elsewhere when the task is primarily about:
- `:memory:` or file-backed local storage: use `local-mode`.
- Collection, point, search, query, or payload calls after the client exists: use `client-operations`.
- `AsyncQdrantClient` remote lifecycle and async token-provider details: use `async-client`.
- Cloud inference or embedding model configuration: use `inference`.
- Upload helpers, batch migration, or parallel ingestion: use `migration-and-upload`.
- REST/gRPC model conversion types and generated schemas: use `models-and-conversions`.
## Start Here
1. Choose the address style from `references/connection-reference.md`: `url` for complete endpoints and Qdrant Cloud, or `host` plus `port` for simple server endpoints.
2. Set `check_compatibility=False` only for offline config validation, tests without a server, or startup paths where the background server-version probe is intentionally skipped.
3. Use `prefer_grpc=True` for API methods that support gRPC when low latency or high-throughput server access matters; keep REST as the safe default for full API coverage.
4. Use `api_key` for Qdrant Cloud and API-key deployments. Do not duplicate `api-key` in `headers`; the constructor intentionally overrides that header with `api_key`.
5. Close remote clients with `client.close()` when the process, worker, or request scope ends. Do not reuse a closed client.
## Common Patterns
```python
from qdrant_client import QdrantClient
client = QdrantClient(url="http://localhost:6333")
```
```python
from qdrant_client import QdrantClient
client = QdrantClient(
url="https://example-cluster.region.cloud.qdrant.io:6333",
api_key="<qdrant-api-key>",
headers={"x-trace-id": "request-123"},
)
```
```python
from qdrant_client import QdrantClient
client = QdrantClient(
host="qdrant.internal",
port=6333,
grpc_port=6334,
prefer_grpc=True,
timeout=30,
check_compatibility=False,
)
```
For safe, no-network configuration checks, run the bundled probe:
```bash
python sub-skills/connection-and-transport/scripts/transport_config_probe.py --url http://localhost:6333 --prefix api/v1
```
## Raw Access and Lifecycle
- `client.http` exposes the REST API wrapper for direct REST calls when a high-level method is unavailable.
- `client.grpc_points`, `client.grpc_collections`, `client.grpc_snapshots`, and `client.grpc_root` initialize gRPC channels lazily on first access.
- `client.close()` closes HTTP resources and any initialized gRPC channel pool; accessing remote gRPC after close can raise `RuntimeError`.
- Use one client per process, worker, tenant, or credential scope rather than rebuilding clients for every request.
## References
- `references/connection-reference.md` covers constructor decisions, examples, REST/gRPC selection, authentication, context headers, pooling, raw access, and close lifecycle.
- `references/troubleshooting.md` covers compatibility warnings, insecure auth warnings, prefix conflicts, unsupported gRPC compression, closed clients, pool/limits conflicts, and token-provider pitfalls.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!