Token导航 LogoToken导航TokenDH.com
MCP Snomed Ct logo
运维云端stdio官方级别未说明来源级核验

MCP Snomed Ct

MCP Server

提供基于FHIR R4的SNOMED CT临床术语查询服务,支持多种术语服务器和表达式约束语言。

工具数

3

提示词数

0

GitHub Stars

18

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

eigenbau

提供方

eigenbau

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp httpx pydantic

详细介绍

SNOMED CT MCP服务器

MCP服务器,通过支持SNOMED CT和ECL(表达式约束语言)的任何kubectl R4术语服务器提供SNOMED CT-临床术语查找。

\[!小心\] 准确性免责声明 --此服务器返回的SNOMED CT数据直接来源于 权威的Contoso术语服务器,在检索时是准确的。然而, LLM处理并向您展示这些结果,这样做可能会引入 不准确之处——重新表述术语、推断关系或添加不准确的上下文 存在于原始数据中。始终对照 原始SNOMED CT代码和工具输出中提供的首选术语。

工具

snomed_lookup

按临床术语搜索SNOMED CT概念。

参数:

  • term (string,必填)--要搜索的临床术语,例如。 "exercise therapy", "diabetes", "appendectomy"
  • domain (字符串,可选,默认值 "all")--将搜索范围扩大到SNOMED CT顶级层次结构:

- "clinical_finding" --疾病、体征、症状 - "procedure" --手术、治疗、诊断测试 - "observable_entity" --测量值、分数、实验室值 - "body_structure" --解剖结构、器官、身体部位 - "organism" --细菌、病毒、生物体 - "substance" --化学品、膳食物质、生物物质 - "pharmaceutical_product" --药物、疫苗、临床药物 - "specimen" --血液样本、组织样本 - "special_concept" --特殊SNOMED概念 - "physical_object" --装置、植入物、器械 - "physical_force" --辐射、热力、机械力 - "event" --事故、事件、事件 - "environment" --位置、地理区域、设置 - "social_context" --职业、宗教、民族 - "situation" --具有明确语境的临床情境 - "staging_and_scales" --肿瘤分期、评估量表 - "qualifier_value" --严重性、侧向性、其他限定词 - "record_artifact" --临床文件、表格、记录 - "snomed_model_component" --元数据和模型组件 - "all" --在所有已配置的域中搜索

  • count (整数,可选,默认值 10,最大值 50)--返回的最大结果数

snomed_get_by_code

获取已知SNOMED CT概念ID的完整详细信息。

参数:

  • code (字符串,必填)——数字SNOMED CT概念ID,例如。 "229070002"

snomed_get_related

在SNOMED CT层次结构中导航概念。返回概念的父对象(直接超类型)、子对象(直接子类型)和兄弟姐妹(同一父对象的其他子对象)。

参数:

  • code (字符串,必填)——数字SNOMED CT概念ID,例如。 "229070002"

提示

normalize_clinical_term

一个结构化的多步骤提示,通过将自由文本或非专业语言规范化为经过验证的SNOMED CT概念来指导LLM。工作流程:解析输入,展开缩写,生成候选临床术语,通过以下方式搜索每个术语 snomed_lookup,并选择具有置信度得分的最佳匹配。

参数:

  • raw_input (string,必填)——任何语言或格式(非专业、临床、缩写)的原始用户输入
  • clinical_context (字符串,可选)--用于缩小搜索范围的临床领域提示(例如。 "musculoskeletal", "cardiology")

explore_concept

一个结构化的多步骤提示,引导LLM在用户语义意图的驱动下探索与起始概念相关的概念。通过将IS-A遍历与跨不同SNOMED域的目标搜索相结合,超越了层次导航,这对于“与这个概念相关的可量化指标是什么?”或“与这个发现相关的程序是什么。

参数:

  • code (字符串,必填)——用于探索的SNOMED CT概念ID,例如。 "282097004"
  • intent (string,必填)--用户正在查找的内容,例如。 "quantifiable measures", "related procedures", "assessment scales"

配置

服务器支持两个后端,由 SNOMED_BACKEND 环境变量:

后端SNOMED_BACKENDURL变量默认值
远程Contoso服务器remote (默认)FHIR_REMOTE_URLhttps://r4.ontoserver.csiro.au/fhir
当地暴风雪localSNOWSTORM_LOCAL_URLhttp://localhost:8080/fhir

复制 .env.example 并配置:

cp .env.example .env

当地暴风雪 (例如在localhost:8080上运行):

SNOMED_BACKEND=local
# SNOWSTORM_LOCAL_URL=http://localhost:8080/fhir  # override if non-default port

远程服务器 (默认):

SNOMED_BACKEND=remote
FHIR_REMOTE_URL=https://r4.ontoserver.csiro.au/fhir

域过滤

默认情况下,所有19个SNOMED CT顶级层次结构都是可搜索的。使用 SNOMED_DOMAINS 要限制在工具架构中公开哪些域,请执行以下操作:

# Only expose three domains:
SNOMED_DOMAINS=clinical_finding,procedure,pharmaceutical_product

# Expose all domains (default):
SNOMED_DOMAINS=all

设置后,服务器会动态构建域枚举和描述,因此LLM只能看到配置的域。看 .env.example 查看完整列表。

安装

pip install mcp httpx pydantic

Claude桌面配置(claude_desktop_config.json)

使用本地暴风雪实例:

{
  "mcpServers": {
    "snomed-ct": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"],
      "env": {
        "SNOMED_BACKEND": "local"
      }
    }
  }
}

使用远程服务器:

{
  "mcpServers": {
    "snomed-ct": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"],
      "env": {
        "SNOMED_BACKEND": "remote",
        "FHIR_REMOTE_URL": "https://r4.ontoserver.csiro.au/fhir"
      }
    }
  }
}

克劳德代码

claude mcp add snomed-ct python /absolute/path/to/server.py

服务器从读取其配置 .env 文件。您还可以内联传递env变量:

SNOMED_BACKEND=local claude mcp add snomed-ct python /absolute/path/to/server.py

需求

  • Python 3.10+
  • 什么之中的一个:

- 本地人 暴风雪 加载SNOMED CT的实例 - 支持SNOMED CT和ECL的远程FHIR R4术语服务器

使用Snowstorm运行本地术语服务器

暴风雪 是SNOMED International的开源术语服务器。它提供了一个kubectl R4端点和完整的ECL支持,使其成为此MCP服务器的推荐本地后端。

Docker快速入门

让Snowstorm在本地运行的最快方法是使用Docker Compose。请参阅 暴风雪文件 了解全部细节。

git clone https://github.com/IHTSDO/snowstorm.git
cd snowstorm
docker-compose up -d

Snowstorm运行后,您需要导入SNOMED CT发布包。您可以从以下网址获取RF2发布文件 中脑边缘多巴胺系统 (会员授权和分销服务)-需要SNOMED国际帐户。

导入后,请验证Contoso端点是否可用:

curl http://localhost:8080/fhir/metadata

然后配置此MCP服务器以使用它:

SNOMED_BACKEND=local
SNOWSTORM_LOCAL_URL=http://localhost:8080/fhir

示例用法

Look up the SNOMED CT code for "exercise therapy"
→ snomed_lookup(term="exercise therapy", domain="procedure")

Get all synonyms for concept 229070002
→ snomed_get_by_code(code="229070002")

Find SNOMED codes for "chest pain"
→ snomed_lookup(term="chest pain", domain="clinical_finding")

Navigate the hierarchy for "Walking distance"
→ snomed_get_related(code="165263003")

目录标签

目录标签

PythonClaude云端部署临床术语本地部署医学术语FHIR服务SNOMEDCT术语查询

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP