Mcp Terminology

io.github.pcmedsinge由 GitHub 账号 pcmedsinge 发布v1.0.0更新于 Oct 24, 2026

LOINC/SNOMED CT/RxNorm/ICD-10 lookup, search, translation and ValueSet expansion via FHIR.

已验证STDIO仅桌面知识与记忆数据与分析

概览

AI 生成的概览

一个 MCP 服务器,让助手通过 FHIR 术语服务查询、搜索、翻译和展开临床术语代码(LOINC、SNOMED CT、RxNorm、ICD-10 等)。

可以做什么
查询单个临床术语代码,返回显示名称、定义和名称变体,支持 LOINC、SNOMED CT、RxNorm、ICD-10-CM、ICD-10、CVX、CPT、NDC 和 UCUM 的别名。在 LOINC、SNOMED CT 或 RxNorm 中按自由文本搜索代码。在不同系统之间翻译代码,例如从 SNOMED 转到 ICD-10-CM。按 URL 展开规范的 FHIR ValueSet。
适用场景
适合助手在健康数据工作中需要解读、规范化或交叉映射医学代码的场景,例如解析检验代码、按名称查找药品代码,或在系统之间转换诊断代码。更适合处理 FHIR 或临床数据集的开发者和分析人员,而非通用任务。
运行要求
以 Python 包形式在本地通过 stdio 运行(用 uv 或 pip 安装)。需要访问 FHIR R4 术语服务器的网络连接;基础地址由环境变量 TERMINOLOGY_BASE_URL 设置,默认使用免费的公共服务器 tx.fhir.org。可选的 LangFuse 追踪通过 LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY 和 LANGFUSE_HOST 启用。
安装前请注意
每次查询都会通过 HTTPS 发送到所配置的术语服务器,默认是第三方公共服务,因此不要发送可识别患者身份的数据。若设置了 LangFuse 密钥,工具输入和输出会被追踪到该服务。每次查询结果上限为 100 条,公共服务器可能限流或不可用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Terminology,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-terminology

Unified LOINC / SNOMED CT / RxNorm / ICD-10 MCP server — v1.0.0 Part of the fhir-mcp-suite monorepo.

[License] [Python]

Query four major clinical terminology systems through a single MCP server backed by the free public FHIR R4 terminology server (tx.fhir.org/r4).


Tools

ToolDescriptionBackend operation
lookup_codeLook up a single code — returns display, definition, designationsCodeSystem/$lookup
search_codesFree-text search within LOINC, SNOMED CT, or RxNormValueSet/$expand?filter=
translate_codeTranslate a code across systems (SNOMED ↔ ICD-10-CM, etc.)ConceptMap/$translate
expand_valuesetExpand any canonical FHIR ValueSet by URLValueSet/$expand

Supported systems for lookup_code

AliasURI
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

Quick start

bash
# Install into the monorepo workspaceuv 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 configuration

json
{  "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"      }    }  }}

Example tool calls

Look up a LOINC code

json
{ "system": "loinc", "code": "8302-2" }
json
{  "system_url": "http://loinc.org",  "system_name": "LOINC",  "code": "8302-2",  "display": "Body height",  "definition": "...",  "designations": [...],  "version": "2.78"}

Translate SNOMED → ICD-10-CM

json
{  "code": "73211009",  "source_system": "snomed",  "target_system": "icd-10-cm"}

Expand a ValueSet

json
{ "url": "http://hl7.org/fhir/ValueSet/administrative-gender" }

Architecture

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

Observability: every tool call is traced in LangFuse (input, output, latency, response bytes). Set LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY / LANGFUSE_HOST to enable.


Eval results

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

Run locally:

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

Security

  • Input sanitization on all parameters (regex allowlist on codes, http/https-only URLs, control-char stripping on filters)
  • Hard cap of 100 results per query
  • No PHI — uses only synthetic/public code lookups
  • See validation.py for the full allowlist

License

Apache-2.0 — see LICENSE.

来源:packages/mcp-terminology/README.md,提交 07fc507

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。