Skip to main content

Qdrant Merge Duplicates

Immutable Catalog Entry

This descriptor comes from the active versioned Portal catalog.

DESTRUCTIVEqdrant.qdrant-merge-duplicates
  • Contract tier: agent_ready
  • Risk: destructive
  • Catalog version: qdrant-2026.07.12.2
  • Descriptor hash: bafcb7d3956f69ae6f2c26fdaf29133b5ed813ea99ce5f62418a7d99943bf0b9

Use this when you need to merge duplicate points into one canonical record and remove redundant records. 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-merge-duplicates-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-merge-duplicates",
"arguments": {
"canonical_id": "canonical_id_123",
"duplicate_ids": [],
"collection_name": "collection_name_example",
"confirm": false,
"dry_run": false,
"mark_merged": false,
"merge_lists": false,
"delete_duplicates": false
}
}
}

Arguments Schema

{
"type": "object",
"title": "Qdrant Merge Duplicates input",
"required": [
"canonical_id",
"duplicate_ids",
"collection_name"
],
"properties": {
"confirm": {
"type": "boolean",
"title": "Confirm",
"default": false,
"description": "Confirm changes when dry_run is false."
},
"dry_run": {
"type": "boolean",
"title": "Dry Run",
"default": true,
"description": "Report changes without writing."
},
"mark_merged": {
"type": "boolean",
"title": "Mark Merged",
"default": true,
"description": "Mark duplicates with merged_into."
},
"merge_lists": {
"type": "boolean",
"title": "Merge Lists",
"default": true,
"description": "Merge list fields like entities/labels."
},
"canonical_id": {
"type": "string",
"title": "Canonical Id",
"description": "Canonical point id to keep."
},
"duplicate_ids": {
"type": "array",
"items": {
"type": "string"
},
"title": "Duplicate Ids",
"description": "Duplicate point ids to merge."
},
"collection_name": {
"type": "string",
"title": "Collection Name",
"description": "Collection containing the points."
},
"delete_duplicates": {
"type": "boolean",
"title": "Delete Duplicates",
"default": false,
"description": "Delete duplicates after merge."
}
},
"description": "Validated input contract for the qdrant-merge-duplicates 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-merge-duplicates: merge duplicate points into one canonical record and remove redundant records.",
"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 -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-merge-duplicates-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-merge-duplicates",
"arguments": {
"canonical_id": "canonical_id_123",
"duplicate_ids": [],
"collection_name": "collection_name_example",
"confirm": false,
"dry_run": false,
"mark_merged": false,
"merge_lists": false,
"delete_duplicates": false
}
}
}'

Example Responses

{
"ok": true,
"message": "Tool qdrant.qdrant-merge-duplicates executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}