About io.github.SidneyBissoli/medical-terminologies-mcp
io.github.SidneyBissoli/medical-terminologies-mcp is an MCP server published by SidneyBissoli in the Blockchain category: unified access to global medical terminologies: ICD-11, SNOMED CT, LOINC, RxNorm, MeSH.
The repository has 15 stars and 6 forks, with the last commit 9 hours ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
claude mcp add io-github-sidneybissoli-medical-terminologies-mcp -- npx -y medical-terminologies-mcpnpx -y medical-terminologies-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (5)
icd11_chaptersList all ICD-11 chapters
Parameters not published.
icd11_hierarchyNavigate parent/child relationships
Parameters not published.
icd11_lookupGet entity details by code/URI
Parameters not published.
icd11_postcoordinationGet postcoordination axes
Parameters not published.
icd11_searchSearch ICD-11 by term
Parameters not published.
Ask AI
Ask AI about io.github.SidneyBissoli/medical-terminologies-mcp
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Medical Terminologies MCP Server
A Model Context Protocol (MCP) server providing unified access to major global medical terminologies:
- ICD-11 - International Classification of Diseases (WHO)
- SNOMED CT - Systematized Nomenclature of Medicine
- LOINC - Logical Observation Identifiers Names and Codes
- RxNorm - Normalized names for clinical drugs (NIH)
- MeSH - Medical Subject Headings (NLM)
Features
- 27 specialized tools for medical terminology lookup
- Multi-terminology support in a single server
- Cross-terminology mapping and search
- Built-in caching for improved performance
- Rate limiting to respect API limits
- Detailed responses with rich formatting
Installation
Global Installation (Recommended)
npm install -g medical-terminologies-mcp
Local Installation
npm install medical-terminologies-mcp
Configuration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"medical-terminologies": {
"command": "npx",
"args": ["-y", "medical-terminologies-mcp"],
"env": {
"WHO_CLIENT_ID": "your-who-client-id",
"WHO_CLIENT_SECRET": "your-who-client-secret"
}
}
}
}
Environment Variables
| Variable | Required | Description |
|---|---|---|
WHO_CLIENT_ID |
Yes* | WHO ICD API Client ID |
WHO_CLIENT_SECRET |
Yes* | WHO ICD API Client Secret |
*Required for ICD-11 tools. Get credentials at: https://icd.who.int/icdapi
Other APIs (LOINC, RxNorm, MeSH, SNOMED CT) do not require authentication.
Available Tools (27)
ICD-11 Tools (5)
| Tool | Description | Example |
|---|---|---|
icd11_search |
Search ICD-11 by term | query: "diabetes mellitus" |
icd11_lookup |
Get entity details by code/URI | code: "5A11" |
icd11_hierarchy |
Navigate parent/child relationships | code: "5A11" |
icd11_chapters |
List all ICD-11 chapters | - |
icd11_postcoordination |
Get postcoordination axes | code: "5A11" |
LOINC Tools (4)
| Tool | Description | Example |
|---|---|---|
loinc_search |
Search lab tests and observations | query: "glucose" |
loinc_details |
Get full LOINC code details | loinc_num: "2339-0" |
loinc_answers |
Get answer list for surveys | loinc_num: "44249-1" |
loinc_panels |
Get panel/form structure | loinc_num: "24331-1" |
RxNorm Tools (5)
| Tool | Description | Example |
|---|---|---|
rxnorm_search |
Search drugs by name | query: "metformin" |
rxnorm_concept |
Get drug concept details | rxcui: "6809" |
rxnorm_ingredients |
Get active ingredients | rxcui: "6809" |
rxnorm_classes |
Get therapeutic classes | rxcui: "6809" |
rxnorm_ndc |
Map between RxCUI and NDC | rxcui: "6809" |
MeSH Tools (4)
| Tool | Description | Example |
|---|---|---|
mesh_search |
Search MeSH descriptors | query: "hypertension" |
mesh_descriptor |
Get descriptor details | mesh_id: "D006973" |
mesh_tree |
Get tree hierarchy location | mesh_id: "D006973" |
mesh_qualifiers |
Get allowed qualifiers | mesh_id: "D006973" |
SNOMED CT Tools (5)
| Tool | Description | Example |
|---|---|---|
snomed_search |
Search concepts by term | query: "myocardial infarction" |
snomed_concept |
Get concept details by SCTID | sctid: "22298006" |
snomed_hierarchy |
Get parent/child concepts | sctid: "22298006" |
snomed_descriptions |
Get all descriptions | sctid: "22298006" |
snomed_ecl |
Execute ECL queries | ecl: "<< 73211009" |
Crosswalk Tools (4)
| Tool | Description | Example |
|---|---|---|
map_icd10_to_icd11 |
Map ICD-10 to ICD-11 | icd10_code: "E11" |
map_snomed_to_icd10 |
SNOMED to ICD-10 guidance | sctid: "73211009" |
map_loinc_to_snomed |
LOINC to SNOMED guidance | loinc_code: "2339-0" |
find_equivalent |
Cross-terminology search | term: "diabetes" |
Usage Examples
Search for a diagnosis in ICD-11
Use icd11_search with query "type 2 diabetes mellitus"
Look up a lab test in LOINC
Use loinc_details with loinc_num "2339-0" to get glucose test details
Find drug information in RxNorm
Use rxnorm_search with query "metformin" then rxnorm_concept for details
Search across all terminologies
Use find_equivalent with term "diabetes" to search ICD-11, SNOMED, LOINC, RxNorm, and MeSH
Map ICD-10 to ICD-11
Use map_icd10_to_icd11 with icd10_code "E11" to find ICD-11 equivalents
Terminology Licenses
ICD-11 (WHO)
ICD-11 content is provided under the Creative Commons Attribution-NoDerivatives 3.0 IGO license (CC BY-ND 3.0 IGO).
- You must attribute WHO as the source
- You may not create derivative works
- API access requires registration at https://icd.who.int/icdapi
SNOMED CT
SNOMED CT content is for reference purposes only. Production use requires an IHTSDO (SNOMED International) license.
- Member countries have national licenses
- Affiliate licenses available for others
- More info: https://www.snomed.org/snomed-ct/get-snomed
LOINC
LOINC content is provided under the LOINC License.
- Free for most uses
- Attribution required
- Registration recommended
RxNorm
RxNorm is produced by the U.S. National Library of Medicine and is freely available.
- No license required for use
- Attribution appreciated
MeSH
MeSH is produced by the U.S. National Library of Medicine and is freely available.
- No license required for use
- Attribution appreciated
API Rate Limits
This server implements rate limiting to respect API providers:
| API | Rate Limit |
|---|---|
| WHO ICD-11 | 5 requests/second |
| NLM (LOINC, MeSH) | 10 requests/second |
| RxNorm | 20 requests/second |
| SNOMED CT (Snowstorm) | 10 requests/second |
Development
Building from source
git clone https://github.com/SidneyBissoli/medical-terminologies-mcp.git
cd medical-terminologies-mcp
npm install
npm run build
Running locally
npm start
Testing with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Author
Sidney Bissoli
- GitHub: @SidneyBissoli
License
This project is licensed under the MIT License - see the LICENSE file for details.
Note: While this software is MIT licensed, the medical terminologies accessed through it have their own licenses (see Terminology Licenses above).
Acknowledgments
- WHO for the ICD-11 API
- Regenstrief Institute for LOINC
- U.S. National Library of Medicine for RxNorm and MeSH
- SNOMED International for SNOMED CT
- Anthropic for the Model Context Protocol
Support
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check existing issues for solutions
Made with love for the medical informatics community
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.