m

medical-terminologies-mcp

@SidneyBissoli/medical-terminologies-mcp
Hosted
0 Stars 54 次浏览 SidneyBissoli 更新于 2026-08-23

Unified access to global medical terminologies: ICD-11, SNOMED CT, LOINC, RxNorm, MeSH

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "medical-terminologies-mcp": {
      "args": [
        "medical-terminologies-mcp@1.0.2"
      ],
      "command": "npx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

Medical Terminologies MCP Server

npm version

MCP

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.

# # 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

# Author

Sidney Bissoli

# 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](# terminology-licenses) above).

# Acknowledgments

# 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

相关 MCP 服务