Medical Terminologies MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Bind address for HTTP transport (default 127.0.0.1) | 127.0.0.1 |
| PORT | No | TCP port for HTTP transport (default 3000) | 3000 |
| MCP_HTTP | No | Enable HTTP transport (set to 'true') instead of stdio | |
| LOG_LEVEL | No | pino log level (debug, info, warn, error, fatal). Default 'info'. | info |
| WHO_CLIENT_ID | Yes | WHO ICD API Client ID (required for ICD-11 tools) | |
| SNOMED_BASE_URL | No | Base URL for a Snowstorm instance (e.g. https://my-snowstorm.example.com/snowstorm/snomed-ct) | |
| SNOMED_LANGUAGE | No | Accept-Language tag for SNOMED responses (e.g. 'en', 'pt', 'pt-BR,en;q=0.8'). Default 'en'. | en |
| WHO_CLIENT_SECRET | Yes | WHO ICD API Client Secret (required for ICD-11 tools) | |
| ENABLE_SNOMED_TOOLS | No | Set to 'true' to enable SNOMED CT tools (requires self-hosted Snowstorm). Default 'false'. | false |
| WHO_ICD11_RELEASE_ID | No | ICD-11 release to query (e.g. 2024-01). Default 2024-01. | 2024-01 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| icd11_searchA | Search for medical conditions, diseases, and health problems in ICD-11 (International Classification of Diseases, 11th Revision). Use this tool to:
Returns matching entities with codes, titles, and relevance scores. |
| icd11_lookupA | Get detailed information about a specific ICD-11 entity by code or URI. Use this tool to:
Provide either an ICD-11 code (e.g., "BA00") or a full foundation URI. |
| icd11_hierarchyA | Navigate the ICD-11 hierarchy to find parent or child entities. Use this tool to:
Direction 'parents' returns ancestor categories, 'children' returns subcategories. |
| icd11_chaptersA | List all ICD-11 chapters (top-level categories). Use this tool to:
ICD-11 has 28 chapters covering all areas of medicine. |
| icd11_postcoordinationA | Get postcoordination information for an ICD-11 code. Use this tool to:
Postcoordination allows adding severity, laterality, anatomy, etc. |
| loinc_searchA | Search for laboratory tests, clinical observations, and measurements in LOINC (Logical Observation Identifiers Names and Codes). Use this tool to:
Returns matching LOINC codes with names, components, and properties. |
| loinc_detailsA | Get detailed information about a specific LOINC code. Use this tool to:
Provide a LOINC number in format "XXXXX-X" (e.g., "2339-0" for Glucose). |
| loinc_answersA | Get the list of valid answers for a LOINC questionnaire item. Use this tool to:
Only applicable to LOINC codes that represent questions with defined answer sets. |
| loinc_panelsA | Get the structure of a LOINC panel or form. Use this tool to:
Returns the list of LOINC codes that make up the panel. |
| rxnorm_searchB | Search for drugs in RxNorm (Normalized names for clinical drugs). Use this tool to:
Returns matching drugs with RxCUI identifiers, names, and term types. |
| rxnorm_conceptA | Get detailed information about a specific RxNorm concept by RxCUI. Use this tool to:
Provide an RxCUI (RxNorm Concept Unique Identifier) like "161". |
| rxnorm_ingredientsA | Get active ingredients for a drug by RxCUI. Use this tool to:
Returns ingredient RxCUIs and names. |
| rxnorm_classesA | Get therapeutic and pharmacologic classes for a drug. Use this tool to:
Returns class IDs, names, and classification sources. |
| rxnorm_ndcA | Map between RxNorm concepts and National Drug Codes (NDC). Use this tool to:
Provide either an RxCUI to get NDCs, or an NDC to get the RxCUI. |
| mesh_searchA | Search for MeSH (Medical Subject Headings) descriptors. Use this tool to:
Returns matching descriptors with MeSH IDs and labels. |
| mesh_descriptorA | Get detailed information about a MeSH descriptor by ID. Use this tool to:
Provide a MeSH Descriptor ID like "D015242" (Ofloxacin). |
| mesh_treeA | Get the tree hierarchy location(s) for a MeSH descriptor. Use this tool to:
MeSH tree numbers show the hierarchical path (e.g., C14.280.647 for Myocardial Infarction). |
| mesh_qualifiersA | Get allowed qualifiers (subheadings) for a MeSH descriptor. Use this tool to:
Qualifiers refine descriptors (e.g., "Diabetes Mellitus/drug therapy"). |
| map_icd10_to_icd11A | This tool runs the ICD-10 code as a query string against the ICD-11 search index. The search matches the code against ICD-11 entity titles, definitions, and synonyms; it does not consult any curated ICD-10 → ICD-11 mapping. Results are search hits, not authoritative mappings. For authoritative ICD-10 → ICD-11 mappings (clinical coding, billing, migration projects), consult the WHO transition tables at https://icd.who.int/browse11/Downloads/Download. Use this tool for exploratory lookups: confirming a code exists in ICD-11 text, finding ICD-11 entities whose descriptions reference an ICD-10 code, or seeding a manual mapping review. Do not present the results as ICD-10 → ICD-11 equivalents to clinical or billing consumers. Provide a code like "E11" (Type 2 diabetes) or "I21" (Acute MI). |
| map_loinc_to_snomedA | This tool looks up a LOINC code in NLM Clinical Tables and returns guidance on where to obtain a LOINC → SNOMED CT mapping. It does not perform the mapping. Direct LOINC → SNOMED CT mappings are not freely available via API. UMLS Metathesaurus contains the relationships but requires an individual UMLS Terminology Services license; the LOINC SNOMED CT Expression Association is published by Regenstrief Institute as part of the LOINC release and requires authenticated download from loinc.org under the LOINC license. For programmatic LOINC → SNOMED mapping, use UMLS or the LOINC Expression Association files. For interactive lookup, use the SNOMED CT browser available to your organization or the Regenstrief RELMA desktop tool. Provide a LOINC code like "2339-0" (Glucose) or "718-7" (Hemoglobin). |
| find_equivalentA | Search for equivalent terms across multiple medical terminologies. Use this tool to:
Searches across: ICD-11, SNOMED CT, LOINC, RxNorm, and MeSH. Set |
| atc_classifyA | Look up the WHO ATC (Anatomical Therapeutic Chemical) classification(s) for a drug by name. Use this tool to:
Returns one entry per ATC code the drug belongs to. A single-ingredient drug typically maps to one substance-level code; combination products map to multiple. ATC codes are international (WHO Collaborating Centre); this tool retrieves them via NLM RxClass. |
| atc_lookupA | Look up an ATC code at level 1-4 to get its name and hierarchy level. Use this tool to:
Accepts codes 1-5 characters long: "A" (anatomical), "A10" (therapeutic), "A10B" (pharmacological), "A10BA" (chemical). Substance-level codes (7 chars, e.g., "A10BA02") are not exposed by this endpoint — use atc_classify with the drug name to retrieve the substance code. |
| atc_membersA | List the drugs (substances) that belong to an ATC class. Use this tool to:
Each member includes its substance-level (7-char) ATC code via source_atc_code, useful for disambiguation when the queried class is at level 1-4. RxNorm's catalog is US-centric; the ATC class names and codes themselves are international. |
| cid10_searchA | Search the Brazilian CID-10 (Classificação Estatística Internacional de Doenças, 10ª Revisão) by Portuguese text. Use this tool to:
Returns matches from CID-10 categories (3-char) and/or subcategories (4-char). Search is diacritic-insensitive: typing "infeccoes" matches "infecções". This tool searches the Brazilian Portuguese CID-10 V2008 — for the international ICD-11 (current WHO revision, in English by default), use icd11_search. |
| cid10_lookupA | Look up a specific CID-10 code and return its Portuguese name. Use this tool to:
Accepts both dotted ("A00.1") and undotted ("A001") forms; returns the canonical display. |
| cid10_chaptersA | List the 22 chapters of CID-10 with their code ranges and Portuguese titles. Use this tool to:
Returns 22 entries — CID-10 V2008 has not been updated since 2008. |
| cid10_chapterA | Get one CID-10 chapter and its constituent groups (e.g., "Chapter IX → I00-I02 Febre reumática aguda, I05-I09 Doenças reumáticas crônicas do coração, ..."). Use this tool to:
Provide a chapter number (1-22). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| find-medical-code | Search a clinical condition, symptom, or medical term across all available terminologies (ICD-11, LOINC, RxNorm, MeSH, ATC, CID-10) in parallel and synthesize the matches with their codes and source terminology. |
| drug-info | Compile comprehensive information about a drug — normalized name, RxCUI, active ingredients, therapeutic classes, and WHO ATC classification — by composing RxNorm and ATC tool calls. |
| cid10-portuguese-lookup | Procura um termo médico em português no CID-10 brasileiro (DataSUS V2008), com contexto de capítulo e descrição clínica. Searches a Portuguese medical term in the Brazilian CID-10 with chapter context. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Server info | Version, tool count, supported terminologies, and feature-flag state. Useful for LLMs to ground answers about server capabilities. |
| CID-10 chapters | List of the 22 CID-10 chapters (Brazilian Portuguese ICD-10, DataSUS V2008) with code ranges and Portuguese descriptions. Source: bundled CID-10 dataset. |
| Terminology licenses | Per-terminology license disclaimers and access requirements. Important for downstream redistribution decisions and for surfacing license constraints in LLM answers. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SidneyBissoli/medical-terminologies-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server