ICD-10 MCP
Rust工作区用于:
- 下载官方ICD-10-CM和ICD-10-PCS发布文件
- 构建可搜索的SQLite数据库
- 通过HTTP和MCP为ICD-10-CM和ICD-10-PCS搜索和浏览提供服务
- 在中托管Svelte 5前端
site/用于浏览、API测试和管理任务
快速开始
- 编辑
icd10cm.toml如果你需要不同的路径或释放窗口。 - 下载官方文件:
cargo run -p icd10cm-ingest -- fetch --config icd10cm.toml- 构建数据库:
cargo run --release -p icd10cm-ingest -- build-db --config icd10cm.tomlSvelte前端使用HTTP模式。编辑器MCP集成应使用stdio模式。
1) MCP over stdio
cargo run --release -p icd10cm-server -- serve --config icd10cm.toml --transport stdio2) HTTP API+流式HTTP MCP
cargo run --release -p icd10cm-server -- serve --config icd10cm.toml --transport httpHTTP模式现在是进程感知的:
- 运行相同
serve --transport http再次执行命令将停止现有icd10cm-server在已配置的绑定上重新启动它 - 服务器写入
data/http-server-process.json当HTTP侦听器正在运行时,在关闭时将其删除 - 如果某个无关进程拥有该端口,
serve仍然失败,告诉你在听什么
您还可以显式管理HTTP服务器:
cargo run --release -p icd10cm-server -- stop --config icd10cm.toml
cargo run --release -p icd10cm-server -- restart --config icd10cm.toml如果SQLite数据库丢失或不可用,服务器会按系统拆分行为:
- ICD-10-CM退回到ClinicalTables仅搜索模式
- ICD-10-PCS在安装本地PCS数据之前不可用
- 当PCS数据不可用时,MCP中省略了PCS浏览/搜索工具
在另一个终端中启动Svelte前端:
cd site
bun install
bun run dev要删除下载的源文件、构建的数据库、SQLite sidecar和运行时状态:
cargo run -p icd10cm-ingest -- clean --config icd10cm.toml存储空间
对于默认值 icd10cm.toml 已签入此仓库(FY2026_CM_OCT1, FY2026_CM_APR1, FY2026_PCS_OCT1, FY2026_PCS_APR1):
fetch下载关于150 MiB总计FY2026_CM_OCT1源代码压缩包是关于21 MiBFY2026_CM_APR1源代码压缩包是关于45 MiBFY2026_PCS_OCT1源代码压缩包是关于10 MiBFY2026_PCS_APR1源代码压缩包是关于9.7 MiBbuild-db生产data/icd10cm.sqlite大约232 MiB
如果您同时保留下载的版本压缩包和构建的SQLite数据库,请大致计划 380-390 MiB 磁盘使用率。如果您在中添加或删除版本,这些数字将发生变化 icd10cm.toml.
前端
浏览器前端位于SvelteKit应用程序中 site/.
cd site && bun install && bun run dev- 打开
http://127.0.0.1:3000/对于系统登录页 http://127.0.0.1:3000/icd10cm/codes打开ICD-10-CM浏览UIhttp://127.0.0.1:3000/icd10pcs/codes打开ICD-10-PCS浏览UIhttp://127.0.0.1:3000/test打开基于路线的API测试仪http://127.0.0.1:3000/admin打开管理UI
规范浏览页面使用重击路径,例如:
/icd10cm/codes/P00-P96/P80-P83/P83-/P83.1
/icd10pcs/codes/3/3E/3E1/3E1Y/3E1Y3/3E1Y38/3E1Y38ZSvelteKit前端通过HTTP与Rust后端通信。默认情况下,它期望后端位于 http://127.0.0.1:8080,其中Rust服务器仅公开 /api/* 和 /mcp。要改变这一点:
cd site
BACKEND_URL=http://127.0.0.1:9090 bun run dev前端API
SvelteKit应用程序在Rust后端之上公开了路由形状的端点:
GET /api/browse/icd10cm/codes/[...slug]GET /api/browse/icd10pcs/codes/[...slug]GET /api/lookup/:codeGET /api/search?terms=...GET /api/statusGET /api/snippetsPOST /api/admin/toggle
行为:
/api/search保留ICD-10-CM兼容性别名,并返回ClinicalTables数组形状:
[total, codes, extra_fields_or_null, display_rows]
/api/lookup/:code是同一搜索引擎上的精确代码别名,并返回相同的数组形状/api/browse/...返回前端使用的更丰富的浏览文档/api/status报告每个系统的可用性、后端模式和活动版本
MCP工具参考
MCP服务器公开:
search_icd10cmsearch_icd10pcsbrowse_icd10cmbrowse_icd10cm_compactbrowse_icd10pcsbrowse_icd10pcs_compact
可用性规则:
search_icd10cm启用运行时始终可用,包括ClinicalTables回退模式browse_icd10cm和browse_icd10cm_compact需要本地CM数据库- 所有三个PCS工具都需要一个本地PCS数据库,如果没有安装PCS数据,则完全省略
- MCP浏览工具使用
terms;HTTP浏览路由继续使用node
更多细节和示例请访问 MCP_TOOLS.md.
