Qdrant Link Memories
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:
9252b635930691a90fe25f4268ee9106cc83fb0a402f91bc46ae7a9abedad4f6
Use this when you need to replace or extend related-memory links and associations. 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-link-memories-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-link-memories",
"arguments": {
"source_id": "source_id_123",
"target_ids": [],
"collection_name": "collection_name_example",
"relation": "",
"bidirectional": false
}
}
}
Arguments Schema
{
"type": "object",
"title": "Qdrant Link Memories input",
"required": [
"source_id",
"target_ids",
"collection_name"
],
"properties": {
"relation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Relation",
"default": null,
"description": "Optional relation label for the association."
},
"source_id": {
"type": "string",
"title": "Source Id",
"description": "Source point id to link from."
},
"target_ids": {
"type": "array",
"items": {
"type": "string"
},
"title": "Target Ids",
"description": "Target point ids to link to."
},
"bidirectional": {
"type": "boolean",
"title": "Bidirectional",
"default": true,
"description": "Apply links in both directions."
},
"collection_name": {
"type": "string",
"title": "Collection Name",
"description": "The collection containing the points."
}
},
"description": "Validated input contract for the qdrant-link-memories 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-link-memories: replace or extend related-memory links and associations.",
"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-link-memories-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-link-memories",
"arguments": {
"source_id": "source_id_123",
"target_ids": [],
"collection_name": "collection_name_example",
"relation": "",
"bidirectional": false
}
}
}'
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-link-memories-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-link-memories",
"arguments": {
"source_id": "source_id_123",
"target_ids": [],
"collection_name": "collection_name_example",
"relation": "",
"bidirectional": false
}
}
}),
});
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-link-memories-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-link-memories",
"arguments": {
"source_id": "source_id_123",
"target_ids": [],
"collection_name": "collection_name_example",
"relation": "",
"bidirectional": false
}
}
}
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-link-memories 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."
}