VX Agents

OpenAPI Marketplace · AI & ML

Qdrant Vector Search

v1.0.0 · 12 endpoints · 0 connections · shared by vx.ai

Lets an agent work with a Qdrant vector database: list and inspect collections, run semantic or hybrid similarity queries with payload filters, browse and count points, and upsert vectors with metadata. Point the base URL at your own Qdrant Cloud cluster (or self-hosted instance). Curated from Qdrant's official OpenAPI specification.

Connect this API to an AI agent Browse all specs

What you can do with Qdrant Vector Search via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /collections listCollections List all collections in the cluster
GET /collections/{collection_name} getCollection Get a collection's status, vector config and point count
GET /collections/{collection_name}/exists collectionExists Check whether a collection exists
POST /collections/{collection_name}/points/query queryPoints Find the points most similar to a vector or query, with filters
POST /collections/{collection_name}/points/query/groups queryPointGroups Similarity query with results grouped by a payload field
POST /collections/{collection_name}/points/scroll scrollPoints Page through points that match a filter
GET /collections/{collection_name}/points/{id} getPoint Get one point by id
POST /collections/{collection_name}/points getPoints Get several points by id
PUT /collections/{collection_name}/points upsertPoints Insert or update points (vectors and payload)
POST /collections/{collection_name}/points/count countPoints Count points that match a filter
POST /collections/{collection_name}/facet facetPayload Count distinct values of a payload field
POST /collections/{collection_name}/points/payload setPayload Set payload fields on existing points

Authentication

api-key

API key — sent as the api-key header

How to get a credential

  1. Sign in to the Qdrant Cloud console at https://cloud.qdrant.io.
  2. Open your cluster and go to API Keys (or Data Access Control).
  3. Click Create, pick the cluster and choose read-only or read-write access.
  4. Copy the key (it is shown once) and note the cluster URL, e.g. https://xyz-example.eu-central.aws.cloud.qdrant.io:6333.
  5. Self-hosted: use the value of service.api_key from your Qdrant config.

Permissions used

Key access Operations
Read-only listCollections, getCollection, collectionExists, queryPoints, queryPointGroups, scrollPoints, getPoint, getPoints, countPoints, facetPayload
Read-write upsertPoints, setPayload

Common errors

  • 401 Unauthorized: api-key header missing or wrong; copy the key again from the console.
  • 403 Forbidden: a read-only key was used for upsertPoints/setPayload, or the key is scoped to other collections.
  • 400 Bad Request: vector size or name does not match the collection config, or the filter is malformed; check getCollection.
  • 404 Not Found: wrong collection name or wrong cluster URL.
  • 429 Too Many Requests: cluster overloaded; retry later with smaller batches.

Store the key as a VX Agents credential (API key header api-key); never paste it into chat.

Usage guide

Setup

  1. Base URL is your own cluster: replace YOUR-CLUSTER so it reads like https://xyz-example.eu-central.aws.cloud.qdrant.io:6333 (Qdrant Cloud console > cluster > endpoint). Self-hosted: use your host and port 6333.
  2. Add the cluster API key as a credential sent in the api-key header. A read-only key is enough unless the agent must upsert.
  3. Pin collection_name as a preset if the agent works on one collection.

Semantic search

  1. listCollections, then getCollection to read the vector size, distance and named vectors (config.params.vectors).
  2. Embed the user's question with the same model used to index the collection (outside Qdrant).
  3. queryPoints with query = the vector, limit (e.g. 5), with_payload: true, optional filter (e.g. {"must": [{"key": "lang", "match": {"value": "en"}}]}) and using for a named vector.
  4. Read result.points[] (id, score, payload). Use queryPointGroups with group_by to get one best hit per document or author.
  5. Browse without a vector: scrollPoints with filter, limit, and the returned next_page_offset as offset for the next page. countPoints and facetPayload give totals and value breakdowns.

Write data

  1. upsertPoints with points: [{id, vector, payload}]; ids are unsigned integers or UUIDs. Add wait=true to return after the write is applied.
  2. setPayload updates metadata on existing points by points ids or filter. Confirm with the user before upserting or changing payloads: it changes the stored data that other apps search.

Good to know

  • Vector length must equal the collection's size, or you get 400.
  • Score meaning depends on distance: higher is closer for Cosine/Dot, lower for Euclid.
  • Filtering on a payload field is fastest when that field has a payload index (see payload_schema in getCollection).
  • Hybrid search: prefetch dense and sparse sub-queries, then query: {"fusion": "rrf"}.
  • Keep limit small (≤ 50) to keep responses short.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Qdrant Vector Search” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs