Qdrant Study Search
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
read - Catalog version:
qdrant-2026.07.12.2 - Descriptor hash:
53e851264a1ac0f11f5d890875882a08c9e3e7806ceee76634e5382fce2e1152
Use this when you need to search study material with compact results and exact academic metadata filters. It does not intentionally change Qdrant or MCP state. 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-study-search-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-study-search",
"arguments": {
"query": "query_example",
"week": "",
"title": "",
"top_k": 1,
"author": "",
"doc_id": "",
"module": "",
"status": "",
"chapter": "",
"subject": ""
}
}
}
Arguments Schema
{
"type": "object",
"title": "Qdrant Study Search input",
"required": [
"query"
],
"properties": {
"week": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Week",
"default": null,
"description": "Optional exact accelerated course week filter."
},
"query": {
"type": "string",
"title": "Query",
"description": "Study query to search semantically across school materials."
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title",
"default": null,
"description": "Optional exact title filter."
},
"top_k": {
"type": "integer",
"title": "Top K",
"default": 5,
"description": "Max compact results to return. Use 3-5 first."
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Author",
"default": null,
"description": "Optional exact author filter."
},
"doc_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doc Id",
"default": null,
"description": "Optional exact document id filter."
},
"module": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Module",
"default": null,
"description": "Optional exact module number or label filter."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null,
"description": "Optional exact material status filter."
},
"chapter": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Chapter",
"default": null,
"description": "Optional exact chapter number or label filter."
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Subject",
"default": null,
"description": "Optional exact subject filter."
},
"use_mmr": {
"type": "boolean",
"title": "Use Mmr",
"default": false,
"description": "Enable MMR for diverse study retrieval."
},
"min_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Score",
"default": null,
"description": "Optional minimum similarity score for returned hits."
},
"class_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Class Code",
"default": null,
"description": "Optional exact course/class code filter, such as MUS327."
},
"group_by_doc": {
"type": "boolean",
"title": "Group By Doc",
"default": false,
"description": "Limit repeated chunks from the same document."
},
"material_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Material Type",
"default": null,
"description": "Optional exact material type filter, such as textbook or lesson."
},
"response_mode": {
"enum": [
"compact",
"metadata",
"payload"
],
"type": "string",
"title": "Response Mode",
"default": "compact",
"description": "Result detail level. Keep compact unless full payload is required."
},
"snippet_chars": {
"type": "integer",
"title": "Snippet Chars",
"default": 320,
"description": "Max snippet length in characters, clamped to 40-1200."
},
"collection_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Collection Name",
"default": null,
"description": "Study collection to search. Defaults to MCP_STUDY_COLLECTION."
},
"metadata_fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Metadata Fields",
"default": null,
"description": "Optional metadata field allowlist for compact output."
},
"max_output_chars": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Output Chars",
"default": null,
"description": "Optional approximate response budget. When set, results are trimmed to fit 800-50000 characters."
},
"max_chunks_per_doc": {
"type": "integer",
"title": "Max Chunks Per Doc",
"default": 2,
"description": "Max chunks per document when group_by_doc=true."
}
},
"description": "Validated input contract for the qdrant-study-search 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-study-search: search study material with compact results and exact academic metadata filters.",
"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-study-search-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-study-search",
"arguments": {
"query": "query_example",
"week": "",
"title": "",
"top_k": 1,
"author": "",
"doc_id": "",
"module": "",
"status": "",
"chapter": "",
"subject": ""
}
}
}'
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-study-search-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-study-search",
"arguments": {
"query": "query_example",
"week": "",
"title": "",
"top_k": 1,
"author": "",
"doc_id": "",
"module": "",
"status": "",
"chapter": "",
"subject": ""
}
}
}),
});
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-study-search-example",
"method": "tools/call",
"params": {
"name": "qdrant.qdrant-study-search",
"arguments": {
"query": "query_example",
"week": "",
"title": "",
"top_k": 1,
"author": "",
"doc_id": "",
"module": "",
"status": "",
"chapter": "",
"subject": ""
}
}
}
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-study-search 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."
}