mcpField
M
mcp-terminology

mcp-terminology

本地服务
github.com/pcmedsinge健康医疗019 周前更新

关于 mcp-terminology

mcp-terminology 是面向医疗应用和 Agent 的临床术语 MCP 服务,可通过公共 FHIR R4 术语服务查询多种常见编码系统。

主要功能

  1. 01查询代码及其定义
  2. 02搜索 LOINC、SNOMED CT 和 RxNorm
  3. 03在系统间转换代码
  4. 04展开标准 FHIR ValueSet

适用场景

  1. 01查看临床代码的显示名称和定义
  2. 02通过自由文本查找术语代码
  3. 03将 SNOMED 代码转换为 ICD-10-CM
  4. 04获取 FHIR ValueSet 的内容

MCP 相关

向 MCP 客户端提供术语查询、搜索、转换和 ValueSet 展开工具,并使用 tx.fhir.org/r4 作为后端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pcmedsinge-mcp-terminology": {
"command": "uvx",
"args": [
"mcp-terminology"
],
"env": {
"TERMINOLOGY_BASE_URL": "<TERMINOLOGY_BASE_URL>"
}
}
}
}
启动命令uvx mcp-terminology
需要配置的环境变量
TERMINOLOGY_BASE_URLBase URL of the FHIR terminology server (default: https://tx.fhir.org/r4)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-terminology1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-terminology

统一的 LOINC / SNOMED CT / RxNorm / ICD-10 MCP 服务 — v1.0.0 属于 fhir-mcp-suite 单体代码库。

License Python

通过单个 MCP 服务查询四大临床术语系统,该服务由免费的公共 FHIR R4 术语服务(tx.fhir.org/r4)提供支持。


工具

工具描述后端操作
lookup_code查找单个代码 — 返回显示名称、定义和名称CodeSystem/$lookup
search_codes在 LOINC、SNOMED CT 或 RxNorm 中进行自由文本搜索ValueSet/$expand?filter=
translate_code跨系统转换代码(如 SNOMED ↔ ICD-10-CM)ConceptMap/$translate
expand_valueset按 URL 展开任意规范 FHIR ValueSetValueSet/$expand
lookup_code 支持的系统
别名URI
loinchttp://loinc.org
snomed / snomed-cthttp://snomed.info/sct
rxnormhttp://www.nlm.nih.gov/research/umls/rxnorm
icd-10-cmhttp://hl7.org/fhir/sid/icd-10-cm
icd-10http://hl7.org/fhir/sid/icd-10
cvxhttp://hl7.org/fhir/sid/cvx
cpthttp://www.ama-assn.org/go/cpt
ndchttp://hl7.org/fhir/sid/ndc
ucumhttp://unitsofmeasure.org

快速开始

# Install into the monorepo workspace
uv sync --all-packages

# Run (stdio mode — for Claude Desktop)
uv run mcp-terminology

# Run with SSE transport (port 8001)
MCP_TRANSPORT=sse uv run mcp-terminology

Claude Desktop 配置

{
  "mcpServers": {
    "terminology": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/fhir-mcp-suite",
        "run",
        "mcp-terminology"
      ],
      "env": {
        "TERMINOLOGY_BASE_URL": "https://tx.fhir.org/r4",
        "LOG_LEVEL": "WARNING"
      }
    }
  }
}

工具调用示例

查找 LOINC 代码
{ "system": "loinc", "code": "8302-2" }
{
  "system_url": "http://loinc.org",
  "system_name": "LOINC",
  "code": "8302-2",
  "display": "Body height",
  "definition": "...",
  "designations": [...],
  "version": "2.78"
}
将 SNOMED 转换为 ICD-10-CM
{
  "code": "73211009",
  "source_system": "snomed",
  "target_system": "icd-10-cm"
}
展开 ValueSet
{ "url": "http://hl7.org/fhir/ValueSet/administrative-gender" }

架构

Claude Desktop / LangGraph agent
         │  MCP stdio
    mcp-terminology (this package)
         │  HTTPS
    tx.fhir.org/r4  (free public FHIR R4 terminology server)
         └── CodeSystem/$lookup
         └── ValueSet/$expand
         └── ConceptMap/$translate

可观测性:每次工具调用都会记录到 LangFuse 中(输入、输出、延迟、响应字节数)。 设置 LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY / LANGFUSE_HOST 即可启用。


评估结果

mcp-terminology eval — 21 golden cases
  Error/security cases: 6/6   100%  (network-independent)
  Integration cases:    run with `--tags lookup search translate expand`
  CI threshold:         85% pass rate

本地运行:

# Error cases only (no network needed):
uv run python evals/mcp-terminology/run_eval.py --tags error

# Full suite (requires tx.fhir.org):
uv run python evals/mcp-terminology/run_eval.py

# CI gate:
uv run python evals/mcp-terminology/run_eval.py --ci --threshold 0.85

安全

  • 输入清理:适用于所有参数(对代码使用正则表达式允许列表、仅允许 http/https URL、过滤器会剔除控制字符)
  • 结果数量上限:每次查询最多返回 100 条结果
  • 无 PHI — 仅使用合成/公开代码查询
  • 完整允许列表请参阅 validation.py

许可证

Apache-2.0 — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。