临床诊断服务器

CliniServer是一个MCP服务器,能够从临床文本中提取症状,生成可能的鉴别诊断和治疗建议,并提供相关的PubMed文献。

  • by CyprianFusi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 CyprianFusi/mcp-cliniserver

使用说明

CliniServer——MCP服务器

通过 BINATI A分析

MCP服务器从临床文本中提取症状,生成可能的鉴别诊断和治疗建议,并展示相关的PubMed文献。


截图

运作原理

Clinical text
     │
     ▼
Claude (Haiku) structured extraction   ← canonical names, char spans,
     │                                   negation / uncertainty / historical /
     │                                   experiencer flags, severity, onset
     ▼
Filter active patient symptoms
     │
     ├──▶ Claude (Sonnet) diagnosis + treatment recommendation
     │
     └──▶ PubMed search (NCBI eutils)

项目结构

mcp-cliniserver/
├── mcp_cliniserver.py              # FastMCP server — exposes clinical_diagnosis tool
├── gpt_style_extract_symptoms.py   # Claude-based structured symptom extractor
├── bert_style_extract_symptoms.py  # BERT NER + medspaCy ConText extractor (offline)
├── utils.py                        # Diagnosis, PubMed fetch, and summarization helpers
├── pyproject.toml
├── uv.lock
└── .env                            # API key (not committed)

设置

先决条件

安装

git clone https://github.com/CyprianFusi/mcp-cliniserver.git
cd mcp-cliniserver
uv sync

配置

创建一个 .env 项目根目录中的文件:

ANTHROPIC_API_KEY=sk-ant-...

用法

MCP检查员(开发)

mcp dev mcp_cliniserver.py

打开检查器UI,添加 ANTHROPIC_API_KEY 在...之下 环境变量,然后单击 连接.

克劳德桌面(制作)

添加以下内容 claude_desktop_config.json:

{
  "mcpServers": {
    "CliniServer": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/mcp-cliniserver",
        "mcp",
        "run",
        "mcp_cliniserver.py"
      ]
    }
  }
}

保存后重新启动Claude Desktop。这 ANTHROPIC_API_KEY 必须在您的系统环境或 .env 项目根目录中的文件。


工具参考

clinical_diagnosis

接受a clinical_text string(原始临床记录或患者报告文本),并返回一个包含三个部分的格式化Markdown报告:

  • 提取症状 --具有严重程度、发病和不确定性标志的活动性患者症状;否认症状和家族史症状分别列出
  • 诊断和治疗 --鉴别诊断和简要治疗注意事项(仅供参考)
  • 相关文献 --最多2篇PubMed文章,包括标题、作者、日期和URL

healthcheck

退货 "CliniServer is running." --有助于验证服务器是否正确启动。


免责声明

此工具用于 仅用于研究和教育目的. 它是 不 专业医疗建议、诊断或治疗的替代品。 始终咨询合格的医疗服务提供者以做出医疗决定。