Qdrant Bulk Patch
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
destructive - Catalog version:
qdrant-2026.07.12.2 - Descriptor hash:
9248b8779c6e80a70490a0883e5c276f18917e1f76733888deb171cb56a06d8d
Use this when you need to overwrite payload fields on a bounded point set selected by IDs or filter. It can overwrite, remove, cancel, restore, or otherwise irreversibly change state and therefore requires the manifest-defined Portal confirmation. It contacts the configured Qdrant service or uses MCP-owned job/upload state. Returns normalized provider data in data plus safe request and trace metadata in meta. Requires an authenticated MAD MCP Portal request and any provider configuration named by the input schema.
Request Body
{
"jsonrpc": "2.0",
"id": "qdrant-qdrant-bulk-patch-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-bulk-patch",
"arguments": {
"confirm": false,
"dry_run": false,
"point_ids": "",
"batch_size": 1,
"max_points": "",
"merge_lists": false,
"query_filter": "",
"memory_filter": "",
"payload_patch": "",
"metadata_patch": ""
}
}
}
Arguments Schema
{
"type": "object",
"$defs": {
"MemoryFilterInput": {
"type": "object",
"title": "MemoryFilterInput",
"properties": {
"isbn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Isbn",
"default": null,
"description": "Filter by ISBN."
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type",
"default": null,
"description": "Filter by memory type."
},
"week": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Week",
"default": null,
"description": "Filter by accelerated course week number or label."
},
"year": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Year",
"default": null,
"description": "Filter by material year."
},
"class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Class",
"default": null,
"description": "Filter by exact school course or class code, such as MUS327."
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope",
"default": null,
"description": "Filter by scope."
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title",
"default": null,
"description": "Filter by exact title."
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Author",
"default": null,
"description": "Filter by author."
},
"course": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Course",
"default": null,
"description": "Alias for class; filter by exact school course or class code."
},
"doc_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doc Id",
"default": null,
"description": "Filter by document id."
},
"labels": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Labels",
"default": null,
"description": "Filter by labels (any match)."
},
"module": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Module",
"default": null,
"description": "Filter by module number or label."
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source",
"default": null,
"description": "Filter by source."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Filter by material status."
},
"chapter": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Chapter",
"default": null,
"description": "Filter by chapter number or label."
},
"edition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Edition",
"default": null,
"description": "Filter by edition."
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Subject",
"default": null,
"description": "Filter by subject."
},
"entities": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entities",
"default": null,
"description": "Filter by entities (any match)."
},
"doc_title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doc Title",
"default": null,
"description": "Filter by document title."
},
"file_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Name",
"default": null,
"description": "Filter by file name."
},
"file_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Type",
"default": null,
"description": "Filter by file type."
},
"publisher": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Publisher",
"default": null,
"description": "Filter by publisher."
},
"text_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Text Hash",
"default": null,
"description": "Filter by text hash."
},
"class_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Class Code",
"default": null,
"description": "Alias for class; filter by exact school course or class code."
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url",
"default": null,
"description": "Filter by source URL."
},
"related_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Related Ids",
"default": null,
"description": "Filter by related memory ids (any match)."
},
"trust_level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Trust Level",
"default": null,
"description": "Filter by governance trust level."
},
"chapter_title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter Title",
"default": null,
"description": "Filter by exact chapter title."
},
"created_at_to": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Created At To",
"default": null,
"description": "Filter by creation time (end)."
},
"expires_at_to": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Expires At To",
"default": null,
"description": "Filter by expiration time (end)."
},
"material_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Material Type",
"default": null,
"description": "Filter by material type, such as textbook or lesson."
},
"review_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Status",
"default": null,
"description": "Filter by governance review status."
},
"updated_at_to": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Updated At To",
"default": null,
"description": "Filter by update time (end)."
},
"confidence_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Confidence Max",
"default": null,
"description": "Maximum confidence score."
},
"confidence_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Confidence Min",
"default": null,
"description": "Minimum confidence score."
},
"knowledge_role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Knowledge Role",
"default": null,
"description": "Filter by governance knowledge role."
},
"retrieval_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retrieval Tier",
"default": null,
"description": "Filter by governance retrieval tier."
},
"created_at_from": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Created At From",
"default": null,
"description": "Filter by creation time (start)."
},
"expires_at_from": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Expires At From",
"default": null,
"description": "Filter by expiration time (start)."
},
"lifecycle_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lifecycle State",
"default": null,
"description": "Filter by governance lifecycle state."
},
"section_heading": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Section Heading",
"default": null,
"description": "Filter by section heading."
},
"updated_at_from": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Updated At From",
"default": null,
"description": "Filter by update time (start)."
},
"knowledge_domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Knowledge Domain",
"default": null,
"description": "Filter by governance knowledge domain."
},
"evaluation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evaluation Status",
"default": null,
"description": "Filter by governance evaluation status."
},
"origin_collection": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Collection",
"default": null,
"description": "Filter by original source collection."
},
"ingest_fingerprint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ingest Fingerprint",
"default": null,
"description": "Filter by document ingest fingerprint."
},
"evaluation_sequence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evaluation Sequence",
"default": null,
"description": "Filter by governance evaluation sequence step."
}
},
"additionalProperties": true
}
},
"title": "Qdrant Bulk Patch input",
"properties": {
"confirm": {
"type": "boolean",
"title": "Confirm",
"default": false,
"description": "Confirm writes when dry_run is false."
},
"dry_run": {
"type": "boolean",
"title": "Dry Run",
"default": true,
"description": "Report changes without writing."
},
"point_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Point Ids",
"default": null,
"description": "Optional point ids to patch."
},
"batch_size": {
"type": "integer",
"title": "Batch Size",
"default": 100,
"description": "Batch size for scanning."
},
"max_points": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Points",
"default": null,
"description": "Max points to scan (None for all)."
},
"merge_lists": {
"type": "boolean",
"title": "Merge Lists",
"default": true,
"description": "Merge list fields instead of replacing."
},
"query_filter": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Query Filter",
"default": null,
"description": "Validated query filter input used by Qdrant Bulk Patch; follow the type, limits, and defaults in this schema."
},
"memory_filter": {
"anyOf": [
{
"$ref": "#/$defs/MemoryFilterInput"
},
{
"type": "null"
}
],
"title": "Memory Filter",
"default": null,
"description": "Structured filters for memory fields."
},
"payload_patch": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Payload Patch",
"default": null,
"description": "Partial top-level payload patch."
},
"metadata_patch": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Metadata Patch",
"default": null,
"description": "Partial metadata patch."
},
"collection_name": {
"type": "string",
"title": "Collection Name",
"default": "",
"description": "The collection to patch."
}
},
"description": "Validated input contract for the qdrant-bulk-patch native Qdrant MCP tool."
}
Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "object",
"description": "Normalized result data for qdrant-bulk-patch: overwrite payload fields on a bounded point set selected by IDs or filter.",
"additionalProperties": true
},
"meta": {
"type": "object",
"properties": {
"bytes_in": {
"type": "integer",
"description": "Approximate serialized input byte count."
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Safe recovery warnings."
},
"bytes_out": {
"type": "integer",
"description": "Approximate serialized output byte count."
},
"elapsed_ms": {
"type": "integer",
"description": "Tool execution time in milliseconds."
},
"request_id": {
"type": "string",
"description": "Stable request trace identifier."
},
"server_version": {
"type": "string",
"description": "Deployed source revision when available."
},
"serialization_ms": {
"type": "integer",
"description": "Response serialization time in milliseconds."
},
"server_uptime_ms": {
"type": "integer",
"description": "Server process uptime in milliseconds."
},
"server_instance_id": {
"type": "string",
"description": "Ephemeral server-process identifier."
}
},
"description": "Secret-safe request, trace, size, timing, and warning metadata.",
"additionalProperties": true
}
},
"description": "Qdrant MCP normalized response envelope.",
"additionalProperties": false
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "qdrant-qdrant-bulk-patch-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-bulk-patch",
"arguments": {
"confirm": false,
"dry_run": false,
"point_ids": "",
"batch_size": 1,
"max_points": "",
"merge_lists": false,
"query_filter": "",
"memory_filter": "",
"payload_patch": "",
"metadata_patch": ""
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "qdrant-qdrant-bulk-patch-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-bulk-patch",
"arguments": {
"confirm": false,
"dry_run": false,
"point_ids": "",
"batch_size": 1,
"max_points": "",
"merge_lists": false,
"query_filter": "",
"memory_filter": "",
"payload_patch": "",
"metadata_patch": ""
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "qdrant-qdrant-bulk-patch-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-bulk-patch",
"arguments": {
"confirm": false,
"dry_run": false,
"point_ids": "",
"batch_size": 1,
"max_points": "",
"merge_lists": false,
"query_filter": "",
"memory_filter": "",
"payload_patch": "",
"metadata_patch": ""
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool qdrant.qdrant-bulk-patch executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}