mondo_resolve_condition
Pack: mondo · Endpoint: https://gateway.pipeworx.io/mondo/mcp
Resolve free-text condition/disease strings — e.g. a clinical trial registry’s “conditions” field (“Carcinoma, Non-Small-Cell Lung”), or a drug label’s Indications and Usage wording — onto the Mondo Disease Ontology (MONDO), via EBI OLS4 full-text search plus MyDisease.info cross-references. Accepts a batch (1-25) of condition strings. For each, returns the original wording verbatim, the best MONDO id + label, and a match_quality you can trust: “exact-label” (identical to the Mondo term’s primary label), “exact-synonym” (identical to a listed exact synonym), “broader”/“narrower” (the string exactly names a parent or child term reached via the Mondo hierarchy, not the top full-text hit itself), or “fuzzy” (closest full-text match, not a confirmed exact term — treat with caution). Also carries xrefs (OMIM, Orphanet, DOID, UMLS, MeSH) for the matched id. A string with no plausible Mondo term returns match_quality “no-match” with the queries tried and the nearest candidates found, never a bare empty result. Set expand:true to also get the resolved term’s descendant MONDO ids, for building a subtype-inclusive filter (e.g. “any subtype of non-small cell lung carcinoma”).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
conditions | array | yes | 1-${MAX_CONDITIONS} free-text condition/disease strings, e.g. [“Non-small Cell Lung Cancer”, “type 2 diabetes mellitus”]. |
items | string | no | |
expand | boolean | no | When true, also return the resolved term’s descendant MONDO ids (all subtypes) for each result. Default false. |
Example call
Arguments
{
"conditions": [
"Carcinoma, Non-Small-Cell Lung",
"NSCLC Stage IV",
"type 2 diabetes mellitus",
"Carcinoid Tumors",
"Ehlers-Danlos syndrome"
]
}
curl
curl -X POST https://gateway.pipeworx.io/mondo/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mondo_resolve_condition","arguments":{"conditions":["Carcinoma, Non-Small-Cell Lung","NSCLC Stage IV","type 2 diabetes mellitus","Carcinoid Tumors","Ehlers-Danlos syndrome"]}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('mondo_resolve_condition', {
"conditions": [
"Carcinoma, Non-Small-Cell Lung",
"NSCLC Stage IV",
"type 2 diabetes mellitus",
"Carcinoid Tumors",
"Ehlers-Danlos syndrome"
]
});
More examples
{
"conditions": [
"Stage IV Melanoma",
"Metastatic Breast Cancer"
]
}
{
"conditions": [
"Non-small Cell Lung Cancer"
],
"expand": true
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"mondo": {
"url": "https://gateway.pipeworx.io/mondo/mcp"
}
}
}
See Getting Started for client-specific install steps.