sidneybissoli avatar

Medical Terminologies MCP

sidneybissoli/medical-terminologies-mcp

Wraps seven major medical terminologies into 37 tools: ICD-11 and CID-10 for disease classification, SNOMED CT for clinical concepts, LOINC for lab observations, RxNorm for drug names, MeSH for bibliographic indexing, and ATC for therapeutic classification. Ships with three orchestrated prompts for common workflows and four resource endpoints for reference data. Runs over stdio by default for Claude Desktop or switches to Streamable HTTP for hosted deployments on Cloudflare Workers. Includes built-in caching and rate limiting. Aimed at researchers, public health analysts, and clinical informatics developers who need programmatic access to authoritative terminology lookups rather than point-of-care decision support.

GitHub stars
16
tools
33
auth
Secret needed
transport
STDIO, HTTP
env vars
4
last updated
Oct 28, 2026

Install

From registry metadata
$ npx add-mcp https://medical.sidneybissoli.com/mcp --name medical-terminologies-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http medical-terminologies-mcp https://medical.sidneybissoli.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 33 tools

Verified live against the running server on Nov 6, 2026.

icd11_searchSearch for medical conditions, diseases, and health problems in ICD-11 (International Classification of Diseases, 11th Revision). Use this tool to: - Find ICD-11 codes for diagnoses - Search for diseases by name or keyword - Look up conditions in multiple languages Set `langua...3 params

Search for medical conditions, diseases, and health problems in ICD-11 (International Classification of Diseases, 11th Revision). Use this tool to: - Find ICD-11 codes for diagnoses - Search for diseases by name or keyword - Look up conditions in multiple languages Set `langua...

Parameters* required
languagestring
Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.one of en · es · pt · fr · de · itdefault: en
max_resultsinteger
Maximum number of results (1-100). Default: 25default: 25
query*string
Search text (disease name, symptom, or keyword)
icd11_lookupGet detailed information about ONE ICD-11 entity you already have a code or URI for. Use this tool to: - Get the full definition of a disease - Retrieve coding notes, inclusions and exclusions - Get the official title and index terms (synonyms) Provide `code` (e.g., "BA00") or...3 params

Get detailed information about ONE ICD-11 entity you already have a code or URI for. Use this tool to: - Get the full definition of a disease - Retrieve coding notes, inclusions and exclusions - Get the official title and index terms (synonyms) Provide `code` (e.g., "BA00") or...

Parameters* required
codestring
ICD-11 code (e.g., "BA00", "1A00")
languagestring
Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.one of en · es · pt · fr · de · itdefault: en
uristring
Full ICD-11 foundation URI
icd11_hierarchyNavigate the ICD-11 hierarchy to find parent or child entities. Use this tool to: - Find broader categories (parents) of a condition - Find specific subtypes (children) of a condition - Understand the classification structure Name the entity by `code` (a leaf code like "5A11",...4 params

Navigate the ICD-11 hierarchy to find parent or child entities. Use this tool to: - Find broader categories (parents) of a condition - Find specific subtypes (children) of a condition - Understand the classification structure Name the entity by `code` (a leaf code like "5A11",...

Parameters* required
codestring
ICD-11 code (e.g., "BA00", "5A11") or block range (e.g., "5A10-5A2Y")
direction*string
Direction: "parents" for ancestors, "children" for subtypesone of parents · children
languagestring
Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.one of en · es · pt · fr · de · itdefault: en
uristring
Entity URI as returned by icd11_lookup, icd11_search or a previous icd11_hierarchy call
icd11_chaptersList all ICD-11 chapters (top-level categories) of the pinned WHO release. Use this tool to: - Get an overview of ICD-11 structure - Find which chapter covers a body system or condition type - Get chapter URIs to drill down with icd11_hierarchy (direction 'children') Returns 2...1 params

List all ICD-11 chapters (top-level categories) of the pinned WHO release. Use this tool to: - Get an overview of ICD-11 structure - Find which chapter covers a body system or condition type - Get chapter URIs to drill down with icd11_hierarchy (direction 'children') Returns 2...

Parameters* required
languagestring
Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.one of en · es · pt · fr · de · itdefault: en
icd11_postcoordinationList the postcoordination axes WHO allows for one ICD-11 stem code (MMS linearization, pinned release). Postcoordination means attaching extra detail to a stem code — severity, laterality, anatomy, causing agent, etc. — to build a composite (cluster) code. Use this tool to: -...1 params

List the postcoordination axes WHO allows for one ICD-11 stem code (MMS linearization, pinned release). Postcoordination means attaching extra detail to a stem code — severity, laterality, anatomy, causing agent, etc. — to build a composite (cluster) code. Use this tool to: -...

Parameters* required
code*string
ICD-11 code to get postcoordination info for
loinc_searchSearch for laboratory tests, clinical observations, and measurements in LOINC (Logical Observation Identifiers Names and Codes). Use this tool to: - Find LOINC codes for lab tests (e.g., "glucose", "hemoglobin") - Search for clinical measurements and vital signs - Look up diag...2 params

Search for laboratory tests, clinical observations, and measurements in LOINC (Logical Observation Identifiers Names and Codes). Use this tool to: - Find LOINC codes for lab tests (e.g., "glucose", "hemoglobin") - Search for clinical measurements and vital signs - Look up diag...

Parameters* required
max_resultsinteger
Maximum number of results (1-100). Default: 25default: 25
query*string
Search term (test name, keyword, or partial LOINC code)
loinc_detailsGet detailed information about a specific LOINC code. Use this tool to: - Get the full name and description of a LOINC code - Find the component, property, timing, and system - Check the scale type and method Provide a LOINC number in format "XXXXX-X" (e.g., "2339-0" for Gluco...1 params

Get detailed information about a specific LOINC code. Use this tool to: - Get the full name and description of a LOINC code - Find the component, property, timing, and system - Check the scale type and method Provide a LOINC number in format "XXXXX-X" (e.g., "2339-0" for Gluco...

Parameters* required
loinc_num*string
LOINC number (e.g., "2339-0")
loinc_answersGet the list of valid answers for a LOINC questionnaire item. Use this tool to: - Find valid response options for survey questions - Get answer codes (LA…) for data entry validation - Get the item scores of scored instruments (e.g. PHQ-9: "Not at all" = 0 … "Nearly every day"...1 params

Get the list of valid answers for a LOINC questionnaire item. Use this tool to: - Find valid response options for survey questions - Get answer codes (LA…) for data entry validation - Get the item scores of scored instruments (e.g. PHQ-9: "Not at all" = 0 … "Nearly every day"...

Parameters* required
loinc_num*string
LOINC number (e.g., "2339-0")
loinc_panelsGet the structure of a LOINC panel or form. Use this tool to: - See all tests included in a panel (e.g., CBC, metabolic panel) - Get the structure of assessment forms - Find related observations grouped together Returns the list of LOINC codes that make up the panel.1 params

Get the structure of a LOINC panel or form. Use this tool to: - See all tests included in a panel (e.g., CBC, metabolic panel) - Get the structure of assessment forms - Find related observations grouped together Returns the list of LOINC codes that make up the panel.

Parameters* required
loinc_num*string
LOINC number (e.g., "2339-0")
rxnorm_searchSearch for drugs in RxNorm (Normalized names for clinical drugs). Use this tool to: - Find drug concepts by brand or generic name - Look up medications for prescribing - Search for drug formulations Returns matching drugs with RxCUI identifiers, names, and term types.2 params

Search for drugs in RxNorm (Normalized names for clinical drugs). Use this tool to: - Find drug concepts by brand or generic name - Look up medications for prescribing - Search for drug formulations Returns matching drugs with RxCUI identifiers, names, and term types.

Parameters* required
max_resultsinteger
Maximum number of results (1-100). Default: 25default: 25
query*string
Drug name to search (brand or generic)
rxnorm_conceptGet detailed information about a specific RxNorm concept by RxCUI. Use this tool to: - Get the full name and synonyms for a drug - Check the concept status (active, remapped, etc.) - View related concepts (ingredients, brands, forms) Provide an RxCUI (RxNorm Concept Unique Ide...2 params

Get detailed information about a specific RxNorm concept by RxCUI. Use this tool to: - Get the full name and synonyms for a drug - Check the concept status (active, remapped, etc.) - View related concepts (ingredients, brands, forms) Provide an RxCUI (RxNorm Concept Unique Ide...

Parameters* required
include_relatedvalue
Include related concepts (ingredients, brands, dose forms). Default false; true/false, also accepted as the strings "true"/"false"
rxcui*value
RxNorm Concept Unique Identifier (string of digits or integer, e.g. "161" or 161)
rxnorm_ingredientsGet active ingredients for a drug by RxCUI. Use this tool to: - Find the active ingredients in a medication - Check for single vs. multiple ingredient products - Identify the generic components of brand drugs Returns ingredient RxCUIs and names.1 params

Get active ingredients for a drug by RxCUI. Use this tool to: - Find the active ingredients in a medication - Check for single vs. multiple ingredient products - Identify the generic components of brand drugs Returns ingredient RxCUIs and names.

Parameters* required
rxcui*value
RxCUI of the drug
rxnorm_classesGet therapeutic and pharmacologic classes for a drug. Use this tool to: - Find the drug class (e.g., "Beta-blockers", "NSAIDs") - Identify therapeutic categories - Look up mechanism of action classifications Returns class IDs, names, and classification sources.1 params

Get therapeutic and pharmacologic classes for a drug. Use this tool to: - Find the drug class (e.g., "Beta-blockers", "NSAIDs") - Identify therapeutic categories - Look up mechanism of action classifications Returns class IDs, names, and classification sources.

Parameters* required
rxcui*value
RxCUI of the drug
rxnorm_ndcMap between RxNorm concepts and National Drug Codes (NDC). Use this tool to: - Get all NDC codes for a drug (by RxCUI) - Find the RxCUI for an NDC code - Cross-reference between coding systems Provide either an RxCUI to get NDCs, or an NDC to get the RxCUI.2 params

Map between RxNorm concepts and National Drug Codes (NDC). Use this tool to: - Get all NDC codes for a drug (by RxCUI) - Find the RxCUI for an NDC code - Cross-reference between coding systems Provide either an RxCUI to get NDCs, or an NDC to get the RxCUI.

Parameters* required
ndcstring
NDC code to look up RxCUI (alternative to rxcui)
rxcuivalue
RxCUI to get NDC codes for
mesh_searchSearch for MeSH (Medical Subject Headings) descriptors. Use this tool to: - Find MeSH terms for indexing medical literature - Look up subject headings for PubMed searches - Find controlled vocabulary terms Set `language` to request NLM's official translations where they exist...4 params

Search for MeSH (Medical Subject Headings) descriptors. Use this tool to: - Find MeSH terms for indexing medical literature - Look up subject headings for PubMed searches - Find controlled vocabulary terms Set `language` to request NLM's official translations where they exist...

Parameters* required
languagestring
Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.one of en · es · pt · fr · de · itdefault: en
matchstring
Match type: exact, contains, or startswith. Default: containsone of exact · contains · startswithdefault: contains
max_resultsinteger
Maximum number of results (1-100). Default: 25default: 25
query*string
Search term (e.g., "diabetes", "heart failure")
mesh_descriptorGet detailed information about a MeSH descriptor by ID. Use this tool to: - Get the full definition (scope note) of a MeSH term - View tree numbers showing hierarchy location - See related concepts and synonyms Provide a MeSH Descriptor ID like "D015242" (Ofloxacin). Set `lang...2 params

Get detailed information about a MeSH descriptor by ID. Use this tool to: - Get the full definition (scope note) of a MeSH term - View tree numbers showing hierarchy location - See related concepts and synonyms Provide a MeSH Descriptor ID like "D015242" (Ofloxacin). Set `lang...

Parameters* required
languagestring
Language code (default: en). Returns the source's OFFICIAL translation when it exists (e.g. 'pt' for official Portuguese); content is never machine-translated.one of en · es · pt · fr · de · itdefault: en
mesh_id*string
MeSH Descriptor ID (e.g., D015242, D003920)
mesh_treeGet the tree hierarchy location(s) for a MeSH descriptor. Use this tool to: - See where a term fits in the MeSH hierarchy - Understand broader/narrower relationships - Find related terms in the same branch MeSH tree numbers show the hierarchical path (e.g., C14.280.647 for Myo...1 params

Get the tree hierarchy location(s) for a MeSH descriptor. Use this tool to: - See where a term fits in the MeSH hierarchy - Understand broader/narrower relationships - Find related terms in the same branch MeSH tree numbers show the hierarchical path (e.g., C14.280.647 for Myo...

Parameters* required
mesh_id*string
MeSH Descriptor ID (e.g., D015242, D003920)
mesh_qualifiersGet allowed qualifiers (subheadings) for a MeSH descriptor. Use this tool to: - Find which qualifiers can be combined with a descriptor - Build precise MeSH search queries - Understand aspects that can be specified Qualifiers refine descriptors (e.g., "Diabetes Mellitus/drug t...1 params

Get allowed qualifiers (subheadings) for a MeSH descriptor. Use this tool to: - Find which qualifiers can be combined with a descriptor - Build precise MeSH search queries - Understand aspects that can be specified Qualifiers refine descriptors (e.g., "Diabetes Mellitus/drug t...

Parameters* required
mesh_id*string
MeSH Descriptor ID (e.g., D015242, D003920)
map_icd10_to_icd11Authoritative ICD-10 → ICD-11 mapping using WHO transition tables (release 2025-01, bundled with the server). Returns the primary 1:1 ICD-11 category for the ICD-10 code plus any alternative ICD-11 candidates that WHO documents (some ICD-10 concepts split into multiple ICD-11...1 params

Authoritative ICD-10 → ICD-11 mapping using WHO transition tables (release 2025-01, bundled with the server). Returns the primary 1:1 ICD-11 category for the ICD-10 code plus any alternative ICD-11 candidates that WHO documents (some ICD-10 concepts split into multiple ICD-11...

Parameters* required
icd10_code*string
ICD-10 code to query in the ICD-11 search index (e.g., E11, I21.0, J18.9)
validate_codesValidate a mixed batch of medical codes against their source terminologies. Useful for retrospective analysis of legacy databases — flag codes that no longer exist, surface ICD-10 → ICD-11 replacements, and grade activity status where the terminology exposes it. For each input...1 params

Validate a mixed batch of medical codes against their source terminologies. Useful for retrospective analysis of legacy databases — flag codes that no longer exist, surface ICD-10 → ICD-11 replacements, and grade activity status where the terminology exposes it. For each input...

Parameters* required
codes*array
List of code+terminology pairs to validate. Hard cap of 50 per call to keep total latency under ~10 s given upstream rate limits.
find_equivalentRanked unified search for equivalent terms across multiple medical terminologies. Use this tool to: - Find the same concept in different coding systems - Compare how terminologies represent a concept - Support terminology mapping and data integration Searches across: ICD-11, L...4 params

Ranked unified search for equivalent terms across multiple medical terminologies. Use this tool to: - Find the same concept in different coding systems - Compare how terminologies represent a concept - Support terminology mapping and data integration Searches across: ICD-11, L...

Parameters* required
limitinteger
Maximum candidates returned PER terminology (1-10, default 5). This is a cap, not a page: the live fan-out has no stable cursor across five upstreams, so raise the limit instead of paging.
source_terminologystring
If set, this terminology is excluded from the search. Use this when the term came from this terminology and you want equivalents in the others. Combines with target_terminologies by subtraction (so...one of icd11 · loinc · rxnorm · mesh
target_terminologiesarray
Limit the search to these terminologies. If omitted, all five are searched.
term*string
Medical term to search (e.g., "diabetes", "aspirin")
harmonize_termsMap a LIST of free-text clinical terms to standard codes in one call, with ranked candidates and a confidence label for each — the building block of a reviewable crosswalk. Use this tool to: - Harmonize a column of diagnoses, drugs or lab names from a dataset to ICD-11 / RxNor...2 params

Map a LIST of free-text clinical terms to standard codes in one call, with ranked candidates and a confidence label for each — the building block of a reviewable crosswalk. Use this tool to: - Harmonize a column of diagnoses, drugs or lab names from a dataset to ICD-11 / RxNor...

Parameters* required
max_candidatesinteger
Candidates kept per term, best first (1-5, default 3).
terms*array
Terms to harmonize, each with its domain. Up to 50 per call; repeated term+domain pairs are looked up once.
atc_classifyLook up the WHO ATC (Anatomical Therapeutic Chemical) classification(s) for a drug by name. Use this tool to: - Find the ATC code for a medication (e.g., "metformin" → A10BA02) - Identify the therapeutic and pharmacological class hierarchy - Cross-reference drugs with their in...1 params

Look up the WHO ATC (Anatomical Therapeutic Chemical) classification(s) for a drug by name. Use this tool to: - Find the ATC code for a medication (e.g., "metformin" → A10BA02) - Identify the therapeutic and pharmacological class hierarchy - Cross-reference drugs with their in...

Parameters* required
drug_name*string
Drug name to classify (brand or generic, e.g., "metformin")
atc_lookupLook up an ATC code at level 1-4 to get its name and hierarchy level. Use this tool to: - Resolve an ATC code (e.g., "A10BA") to its class name ("Biguanides") - Confirm a code exists in the current ATC index - Identify the level (anatomical / therapeutic / pharmacological / ch...1 params

Look up an ATC code at level 1-4 to get its name and hierarchy level. Use this tool to: - Resolve an ATC code (e.g., "A10BA") to its class name ("Biguanides") - Confirm a code exists in the current ATC index - Identify the level (anatomical / therapeutic / pharmacological / ch...

Parameters* required
atc_code*string
ATC code at level 1-4 (1-5 chars). Substance-level codes (7 chars, e.g., A10BA02) are not exposed by this endpoint — use atc_classify with the drug name instead.
atc_membersList the drugs (substances) that belong to an ATC class. Use this tool to: - Enumerate all members of a therapeutic class (e.g., "A10BA" → metformin, phenformin) - Build a list of drugs sharing a pharmacological mechanism - Explore an ATC subtree at any level Each member inclu...1 params

List the drugs (substances) that belong to an ATC class. Use this tool to: - Enumerate all members of a therapeutic class (e.g., "A10BA" → metformin, phenformin) - Build a list of drugs sharing a pharmacological mechanism - Explore an ATC subtree at any level Each member inclu...

Parameters* required
atc_code*string
ATC code at any level. Higher levels (1-4) return all member substances; level 5 returns the single substance.
cid10_searchSearch the Brazilian CID-10 (Classificação Estatística Internacional de Doenças, 10ª Revisão) by Portuguese text. Use this tool to: - Find CID-10 codes for Brazilian SUS / ANVISA contexts ("infarto", "diabetes", "tuberculose") - Look up the official Portuguese (CBCD/USP) trans...3 params

Search the Brazilian CID-10 (Classificação Estatística Internacional de Doenças, 10ª Revisão) by Portuguese text. Use this tool to: - Find CID-10 codes for Brazilian SUS / ANVISA contexts ("infarto", "diabetes", "tuberculose") - Look up the official Portuguese (CBCD/USP) trans...

Parameters* required
levelstring
Restrict search to 3-char categories, 4-char subcategories, or both. Default: allone of categories · subcategories · alldefault: all
max_resultsinteger
Maximum number of results (1-100). Default: 25default: 25
query*string
Search terms in Portuguese, AND between words (e.g., "diabetes", "infarto", "câncer de mama"); accents ignored, everyday words resolved to CID-10 wording
cid10_lookupLook up a specific CID-10 code and return its Portuguese name. Use this tool to: - Resolve a code to its Brazilian description ("I21" → "Infarto agudo do miocárdio") - Confirm a 3-char category or 4-char subcategory exists in CID-10 - Retrieve gender / cause-of-death restricti...1 params

Look up a specific CID-10 code and return its Portuguese name. Use this tool to: - Resolve a code to its Brazilian description ("I21" → "Infarto agudo do miocárdio") - Confirm a 3-char category or 4-char subcategory exists in CID-10 - Retrieve gender / cause-of-death restricti...

Parameters* required
code*string
CID-10 code (e.g., "A00", "A00.1", "A001", "I21"). Dotted and undotted forms both accepted.
cid10_chaptersList the 22 chapters of CID-10 with their code ranges and Portuguese titles. Use this tool to: - See the top-level structure of CID-10 (chapters I-XXII, e.g., "I. Algumas doenças infecciosas e parasitárias", "IX. Doenças do aparelho circulatório") - Map a code to its chapter b...

List the 22 chapters of CID-10 with their code ranges and Portuguese titles. Use this tool to: - See the top-level structure of CID-10 (chapters I-XXII, e.g., "I. Algumas doenças infecciosas e parasitárias", "IX. Doenças do aparelho circulatório") - Map a code to its chapter b...

No parameters. Call it with no arguments.

cid10_chapterGet 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: - Drill from a chapter into its groups (code ranges with Portuguese titles) - Build hierarchical brows...1 params

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: - Drill from a chapter into its groups (code ranges with Portuguese titles) - Build hierarchical brows...

Parameters* required
num*integer
Chapter number (1-22). CID-10 V2008 has 22 chapters.
terminology_versionsList the current version, release date, publisher, source URL, and update cadence of every terminology this server queries against. Useful for pipeline maintainers who need to: - Confirm which release of ICD-11 / LOINC / RxNorm / MeSH / ATC the server is querying before a batc...1 params

List the current version, release date, publisher, source URL, and update cadence of every terminology this server queries against. Useful for pipeline maintainers who need to: - Confirm which release of ICD-11 / LOINC / RxNorm / MeSH / ATC the server is querying before a batc...

Parameters* required
terminologystring
Filter to a single terminology. Omit to return all 7.one of icd11 · icd10 · loinc · rxnorm · mesh · atc
terminology_diffReport what diff data is available between two versions of a terminology. For most terminologies this is **guidance only** — the server doesn't ship historical snapshots, so the tool points at the publisher's official changelog and explains the cadence. `bundled_versions` list...3 params

Report what diff data is available between two versions of a terminology. For most terminologies this is **guidance only** — the server doesn't ship historical snapshots, so the tool points at the publisher's official changelog and explains the cadence. `bundled_versions` list...

Parameters* required
from_versionstring
Version you have data from. Optional; behavior depends on terminology.
terminology*string
Which terminology to report on.one of icd11 · icd10 · loinc · rxnorm · mesh · atc
to_versionstring
Version you want to compare to. Optional.
searchSearches the medical terminologies (CID-10 categories and chapters, ICD-11, LOINC, RxNorm, MeSH, terminology version records) catalog and returns up to 10 matching documents as { id, title, url }, ordered by relevance (an empty list means nothing matched). This tool exists for...1 params

Searches the medical terminologies (CID-10 categories and chapters, ICD-11, LOINC, RxNorm, MeSH, terminology version records) catalog and returns up to 10 matching documents as { id, title, url }, ordered by relevance (an empty list means nothing matched). This tool exists for...

Parameters* required
query*string
Search terms, natural language or keywords (accents and case are ignored)
fetchReturns the full document for an id obtained from `search`, as { id, title, text, url, metadata }: `text` is the readable content (Markdown) and `url` the canonical public page to cite. Companion of `search` in the OpenAI Deep Research contract, over the medical terminologies...1 params

Returns the full document for an id obtained from `search`, as { id, title, text, url, metadata }: `text` is the readable content (Markdown) and `url` the canonical public page to cite. Companion of `search` in the OpenAI Deep Research contract, over the medical terminologies...

Parameters* required
id*string
Identifier of a document returned by `search`

Sponsors

Configuration

WHO_CLIENT_ID

WHO ICD-11 API Client ID. Required only for ICD-11 tools (5 tools); the server starts without it and other terminologies (LOINC, RxNorm, MeSH, ATC, CID-10) work unauthenticated. Get credentials at https://icd.who.int/icdapi.

WHO_CLIENT_SECRETsecret

WHO ICD-11 API Client Secret. Required only for ICD-11 tools.

WHO_ICD11_RELEASE_ID

ICD-11 release to query (e.g. 2024-01, 2025-01). Optional; defaults to 2026-01.

LOG_LEVEL

pino log level (debug, info, warn, error, fatal). Optional; defaults to 'info'. Logs go to stderr only — never stdout (which is the MCP stdio transport).

Readme

Medical Terminologies MCP Server


View the full README on GitHub

Details

Repository
github.com/sidneybissoli/medical-terminologies-mcp
Website
medical.sidneybissoli.com
Package
medical-terminologies-mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Resources
4
Prompts
3
Tools verified
Nov 6, 2026

More from sidneybissoli