Skip to content
Back to skills

Connection And Transport

ASecurity

"Configure qdrant-client server and cloud connections, REST versus

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
devopspythonbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill connection-and-transport --agent claude-code

Installs 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 with every re-scan.

Security grade badge for Connection And Transport
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-connection-and-transport/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-connection-and-transport)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md3.7 KB
  • references/connection-reference.md7.2 KB
  • references/troubleshooting.md5.6 KB
  • scripts/transport_config_probe.py4.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.