Drug — canonical payload contracts
Search drugs and actives from local dumps (DrugCentral, ChEMBL, DailyMed, FDA NDC/Drugs@FDA, UNII). Ingredients resolve to the central compound master. Query language: English/INN and US/EU brand names; indications in English (diabetes, not cukorbetegség). Not medical advice. No live regulatory APIs on the request path.
Service id: drug
Docs: https://mcp.glc-rag.hu/guide/drug
Markdown docs: https://mcp.glc-rag.hu/guide/drug.md
MCP resource: docs://drug/payload
POST https://mcp.glc-rag.hu/mcp. Values below are type slots from the live input schema (e.g. <string, required>), not example data. Fill them from the user task.
RPC result wrapper: result.structuredContent is the object in Output schema. result.isError mirrors structuredContent.is_error.
drug_resolve — Resolve drug (INN or US/EU brand)
Resolve drug name, brand, or NDC to product candidates. Query language: INN or US/EU brand (metformin, glucophage). Hungarian brand/disease prose is weakly indexed — translate first.
query: INN or US/EU brand (not Hungarian prose).
Required arguments: query
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "drug_resolve",
"arguments": {
"query": "<string, required, maxLength 200>",
"limit": "<integer, optional, default 10, minimum 1, maximum 25>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "INN, US/EU brand, or identifier (metformin, glucophage, NDC). Not a Hungarian paragraph."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"required": [
"query"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"query": {
"type": "string"
},
"count": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object"
}
}
},
"additionalProperties": true,
"required": [
"disclaimer",
"query",
"count",
"results"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
drug_lookup
Lookup one product by product_id (ingredients + indications + label sections).
Required arguments: product_id
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "drug_lookup",
"arguments": {
"product_id": "<string, required>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"found": {
"type": "boolean"
},
"product": {
"type": [
"object",
"null"
]
}
},
"additionalProperties": true,
"required": [
"found"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
drug_search_by_compound — Find products by English/INN active
Find products containing a compound_id or active-ingredient query. Query language: English/INN (metformin, caffeine). Not Hungarian names.
compound_id or English/INN active name.
Required arguments: (none)
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "drug_search_by_compound",
"arguments": {
"compound_id": "<string, optional>",
"query": "<string, optional, maxLength 200>",
"limit": "<integer, optional, default 10, minimum 1, maximum 25>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"compound_id": {
"type": "string"
},
"query": {
"type": "string",
"maxLength": 200,
"description": "English/INN active name if compound_id omitted (metformin, caffeine)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"compound_id": {
"type": [
"string",
"null"
]
},
"query": {
"type": [
"string",
"null"
]
},
"count": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object"
}
}
},
"additionalProperties": true,
"required": [
"count",
"results"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
drug_search_by_indication — Search indications (English labels only)
Search indications / disease labels → compounds/products with evidence_kind. Query language: English labels only (diabetes, hypertension, type 2 diabetes). Hungarian (cukorbetegség, magas vérnyomás) will miss — translate first.
query: English indication label, not Hungarian.
Required arguments: query
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "drug_search_by_indication",
"arguments": {
"query": "<string, required, maxLength 200>",
"limit": "<integer, optional, default 10, minimum 1, maximum 25>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "English indication/disease label (diabetes, hypertension). Not Hungarian."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"required": [
"query"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"query": {
"type": "string"
},
"count": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object"
}
}
},
"additionalProperties": true,
"required": [
"query",
"count",
"results"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
drug_compound_card
Drug-oriented compound card: IDs, phase, MOA, targets, top indications.
Required arguments: compound_id
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "drug_compound_card",
"arguments": {
"compound_id": "<string, required>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"compound_id": {
"type": "string"
}
},
"required": [
"compound_id"
],
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"found": {
"type": "boolean"
},
"compound": {
"type": [
"object",
"null"
]
}
},
"additionalProperties": true,
"required": [
"found"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
drug_interactions
Interaction text for a compound_id or product_id. DailyMed data are full label-section blobs (not structured pairwise edges); partner drugs appear inside description free text.
Required arguments: (none)
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "drug_interactions",
"arguments": {
"compound_id": "<string, optional>",
"product_id": "<string, optional>",
"limit": "<integer, optional, default 25, minimum 1, maximum 50>"
}
}
}
Input schema
{
"type": "object",
"properties": {
"compound_id": {
"type": "string"
},
"product_id": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 25
}
},
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"count": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object"
}
}
},
"additionalProperties": true,
"required": [
"count",
"results"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}
drug_status
Drug DB counts, import runs, compound link coverage (free).
Required arguments: (none)
Request contract
{
"jsonrpc": "2.0",
"id": "<integer|string>",
"method": "tools/call",
"params": {
"name": "drug_status",
"arguments": {}
}
}
Input schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}
Output schema (structuredContent on success)
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"type": "string"
},
"is_error": {
"type": "boolean"
}
},
"additionalProperties": true,
"required": [
"ok"
]
}
Error object
{
"type": "object",
"required": [
"error",
"is_error"
],
"properties": {
"error": {
"type": "string"
},
"is_error": {
"type": "boolean",
"const": true
}
},
"additionalProperties": true
}