Qdrant Ingest With Validation
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
write - Catalog version:
qdrant-2026.07.12.2 - Descriptor hash:
d8d849886719242441f6705a522e53ae42ccb61d309cb78f44b28349922b28ca
Use this when you need to validate, govern, optionally quarantine, and store one memory. It creates or extends Qdrant or MCP-managed state without deleting existing provider data by default. 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-ingest-with-validation-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-ingest-with-validation",
"arguments": {
"information": "information_example",
"collection_name": "collection_name_example",
"metadata": "",
"on_invalid": "",
"dedupe_action": "",
"quarantine_collection": "",
"apply_governance_metadata": false
}
}
}
Arguments Schema
{
"type": "object",
"title": "Qdrant Ingest With Validation input",
"required": [
"information",
"collection_name"
],
"properties": {
"metadata": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Metadata",
"default": null,
"description": "Memory metadata."
},
"on_invalid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "On Invalid",
"default": null,
"description": "What to do if validation fails: allow, reject, quarantine."
},
"information": {
"type": "string",
"title": "Information",
"description": "Text to store."
},
"dedupe_action": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dedupe Action",
"default": null,
"description": "How to handle duplicates: update or skip. Defaults to MCP_DEDUPE_ACTION."
},
"collection_name": {
"type": "string",
"title": "Collection Name",
"description": "The collection to store the information in"
},
"quarantine_collection": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Quarantine Collection",
"default": null,
"description": "Override quarantine collection name."
},
"apply_governance_metadata": {
"type": "boolean",
"title": "Apply Governance Metadata",
"default": false,
"description": "Apply recommended governance metadata such as knowledge_domain, trust_level, retrieval_tier, lifecycle_state, and review_status."
}
},
"description": "Validated input contract for the qdrant-ingest-with-validation 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-ingest-with-validation: validate, govern, optionally quarantine, and store one memory.",
"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-ingest-with-validation-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-ingest-with-validation",
"arguments": {
"information": "information_example",
"collection_name": "collection_name_example",
"metadata": "",
"on_invalid": "",
"dedupe_action": "",
"quarantine_collection": "",
"apply_governance_metadata": 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-ingest-with-validation-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-ingest-with-validation",
"arguments": {
"information": "information_example",
"collection_name": "collection_name_example",
"metadata": "",
"on_invalid": "",
"dedupe_action": "",
"quarantine_collection": "",
"apply_governance_metadata": 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-ingest-with-validation-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-ingest-with-validation",
"arguments": {
"information": "information_example",
"collection_name": "collection_name_example",
"metadata": "",
"on_invalid": "",
"dedupe_action": "",
"quarantine_collection": "",
"apply_governance_metadata": 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-ingest-with-validation 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."
}