Medical Terminologies MCP
Diagnoses, drugs & lab codes: ICD-11, SNOMED, LOINC, RxNorm, MeSH, ATC, CID-10. 37 tools, MIT.
What it says
The record the registry holds
Where it answers
https://medical.sidneybissoli.com/mcp · streamable-http
How you get it
It also ships as a package you run yourself.
medical-terminologies-mcp · npm · 1.8.0medical-terminologies-mcp · npm · 1.5.0
the record
Copied from the official MCP registry, exactly as it holds it.
{
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.SidneyBissoli/medical-terminologies-mcp",
"description": "Diagnoses, drugs & lab codes: ICD-11, SNOMED, LOINC, RxNorm, MeSH, ATC, CID-10. 37 tools, MIT.",
"title": "Medical Terminologies MCP",
"repository": {
"url": "https://github.com/SidneyBissoli/medical-terminologies-mcp",
"source": "github"
},
"version": "1.8.0",
"websiteUrl": "https://medium.com/@sbissoli76/seven-medical-terminologies-one-mcp-server-a-practical-walkthrough-for-clinical-and-research-use-a6c46de9c83b",
"icons": [
{
"src": "https://raw.githubusercontent.com/SidneyBissoli/medical-terminologies-mcp/main/assets/icon-dark.png",
"mimeType": "image/png",
"sizes": [
"512x512"
],
"theme": "dark"
},
{
"src": "https://raw.githubusercontent.com/SidneyBissoli/medical-terminologies-mcp/main/assets/icon-light.png",
"mimeType": "image/png",
"sizes": [
"512x512"
],
"theme": "light"
}
],
"packages": [
{
"registryType": "npm",
"identifier": "medical-terminologies-mcp",
"version": "1.8.0",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "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.",
"name": "WHO_CLIENT_ID"
},
{
"description": "WHO ICD-11 API Client Secret. Required only for ICD-11 tools.",
"isSecret": true,
"name": "WHO_CLIENT_SECRET"
},
{
"description": "ICD-11 release to query (e.g. 2024-01, 2025-01). Optional; defaults to 2024-01.",
"name": "WHO_ICD11_RELEASE_ID"
},
{
"description": "Set to 'true' to register the 6 SNOMED-dependent tools (snomed_search, snomed_concept, snomed_hierarchy, snomed_descriptions, snomed_ecl, plus map_snomed_to_icd10). Disabled by default because the historical public IHTSDO Snowstorm endpoint was retired (HTTP 410 Gone). Requires SNOMED_BASE_URL pointing at a working self-hosted Snowstorm.",
"name": "ENABLE_SNOMED_TOOLS"
},
{
"description": "Base URL of a self-hosted Snowstorm instance (e.g. https://my-snowstorm.example.com/snowstorm/snomed-ct). Required only when ENABLE_SNOMED_TOOLS is true.",
"name": "SNOMED_BASE_URL"
},
{
"description": "Accept-Language tag(s) for SNOMED responses (e.g. pt, pt-BR, es). Optional; defaults to 'en'. Composite values with q-weights depend on the upstream Snowstorm instance.",
"name": "SNOMED_LANGUAGE"
},
{
"description": "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).",
"name": "LOG_LEVEL"
}
]
},
{
"registryType": "npm",
"identifier": "medical-terminologies-mcp",
"version": "1.5.0",
"transport": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
},
"packageArguments": [
{
"type": "named",
"name": "--http"
},
{
"description": "TCP port to listen on. Update the transport URL above if you change this.",
"value": "3000",
"type": "named",
"name": "--port"
},
{
"description": "Bind address. Defaults to 127.0.0.1 in CLI; 0.0.0.0 here so containers can route in.",
"value": "0.0.0.0",
"type": "named",
"name": "--host"
}
],
"environmentVariables": [
{
"description": "WHO ICD-11 API Client ID. Required only for ICD-11 tools.",
"name": "WHO_CLIENT_ID"
},
{
"description": "WHO ICD-11 API Client Secret. Required only for ICD-11 tools.",
"isSecret": true,
"name": "WHO_CLIENT_SECRET"
},
{
"description": "ICD-11 release to query (e.g. 2024-01, 2025-01). Optional; defaults to 2024-01.",
"name": "WHO_ICD11_RELEASE_ID"
},
{
"description": "Set to 'true' to register the 6 SNOMED-dependent tools. Requires SNOMED_BASE_URL.",
"name": "ENABLE_SNOMED_TOOLS"
},
{
"description": "Base URL of a self-hosted Snowstorm instance. Required only when ENABLE_SNOMED_TOOLS is true.",
"name": "SNOMED_BASE_URL"
},
{
"description": "Accept-Language tag(s) for SNOMED responses (e.g. pt, pt-BR, es). Optional; defaults to 'en'.",
"name": "SNOMED_LANGUAGE"
},
{
"description": "pino log level. Optional; defaults to 'info'.",
"name": "LOG_LEVEL"
}
]
}
],
"remotes": [
{
"type": "streamable-http",
"url": "https://medical.sidneybissoli.com/mcp"
}
]
},
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"statusChangedAt": "2026-08-10T01:14:08.539242Z",
"publishedAt": "2026-08-10T01:14:08.539242Z",
"updatedAt": "2026-08-10T01:14:08.539242Z",
"isLatest": true
}
}
}
Make it installable
Draft an Agent Plugin from this
An MCP server is raw capability: some tools, wired to something. An Agent Plugin is the packaging that says what job it does, what it leaves behind and where it stops. The prompt below carries this record and asks for the packaging; your own assistant writes it, and nothing here is sent anywhere.
What this is
MCP server
application/mcp-server-record+jsonhosted · an address you calllocal · you run it yourselfversion 1.8.0last seen 2026-08-23
These are the publisher's own words, filed by them with the official MCP registry and mirrored here. This catalog did not read them from the publisher and has not run, called or installed anything.
Where it lives
The publisher's own address
The address the publisher put in their registry record, printed as they wrote it. Nobody here has opened it.