PolarHub
  • Agents
  • MCP Servers
  • Skills
  • PolarBear
PolarHub © 2026
MCP Servershealth-and-wellnesspickleton89
返回「health-and-wellness」

pickleton89

modelscope·@pickleton89/mutation-clinical-trial-matching-mcp

health-and-wellness0下载LocalModelScope

简介

暂无描述。

MCP Server 详情

来自 ModelScope 索引

突变临床试验匹配 MCP

一个 Model Context Protocol (MCP) 服务器,使 Claude Desktop 能够基于突变在 clincialtrials.gov 上搜索匹配项。

状态

目前处于开发的第一阶段。它可以根据 Claude 查询中提供的突变来检索试验。但是,仍然存在一些 bug,并且需要进一步的改进和添加功能。

概述

该项目遵循 Agentic 编码原则,创建了一个将 Claude Desktop 与 clinicaltrials.gov API 集成的系统。该服务器允许进行关于基因突变的自然语言查询,并返回相关临床试验的摘要信息。

mermaid flowchart LR Claude[Claude Desktop] <-->|MCP Protocol| Server[MCP Server]

subgraph Flow[PocketFlow]
    QueryNode[Query Node] -->|trials_data| SummarizeNode[Summarize Node]
end

Server -->|mutation| Flow
QueryNode -->|API Request| API[Clinicaltrials.gov API]
API -->|Trial Data| QueryNode
Flow -->|summary| Server
Server -->|Return| Claude

流程中的每个节点都遵循 PocketFlow 节点模式,具有 prep、exec 和 post 方法:

项目结构

该项目按照 Agentic 编码范式组织:

  1. 需求(由人类主导):

    • 搜索并总结与特定基因突变相关的临床试验
    • 提供突变信息作为上下文资源
    • 无缝集成到 Claude Desktop 中
  2. 流程设计(协作):

    • 用户向 Claude Desktop 查询某个基因突变
    • Claude 调用我们的 MCP 服务器工具
    • 服务器查询 clinicaltrials.gov API
    • 服务器处理并总结结果
    • 服务器将格式化后的结果返回给 Claude
  3. 实用工具(协作):

    • clinicaltrials/query.py:处理对 clinicaltrials.gov 的 API 调用
    • utils/call_llm.py:与 Claude 工作的实用工具
  4. 节点设计(由 AI 主导):

    • utils/node.py:实现具有 prep/exec/post 模式的基类 Node 和 BatchNode 类
    • clinicaltrials/nodes.py:定义用于查询和总结的专门节点
    • clinicaltrials_mcp_server.py:协调流程执行
  5. 实现(由 AI 主导):

    • FastMCP SDK 用于处理协议细节
    • 各层级的错误处理
    • 常见突变的资源

组件

MCP 服务器 (clinicaltrials_mcp_server.py)

主服务器实现了 Model Context Protocol 接口,使用官方 Python SDK。它:

  • 注册并暴露工具供 Claude 使用
  • 提供有关常见突变的信息资源
  • 处理与 Claude Desktop 的通信

查询模块 (clinicaltrials/query.py)

负责查询 clinicaltrials.gov API,包括:

  • 强健的错误处理
  • 输入验证
  • 详细的日志记录

摘要生成器 (llm/summarize.py)

处理并格式化临床试验数据:

  • 按阶段组织试验
  • 提取关键信息(NCT ID、摘要、条件等)
  • 创建可读的 Markdown 摘要

节点模式实现

该项目实现了 PocketFlow 节点模式,为构建 AI 工作流提供了一种模块化、可维护的方法:

核心节点类 (utils/node.py)

  • Node:具有 prep、exec 和 post 方法的基类,用于处理数据
  • BatchNode:扩展用于批量处理多个项目
  • Flow:按顺序协调节点的执行

实现节点 (clinicaltrials/nodes.py)

  1. QueryTrialsNode: python

    查询 clinicaltrials.gov API

    def prep(self, shared): return shared["mutation"] def exec(self, mutation): return query_clinical_trials(mutation) def post(self, shared, mutation, result): shared["trials_data"] = result shared["studies"] = result.get("studies", []) return "summarize"

  2. SummarizeTrialsNode: python

    将试验数据格式化为可读的摘要

    def prep(self, shared): return shared["studies"] def exec(self, studies): return format_trial_summary(studies) def post(self, shared, studies, summary): shared["summary"] = summary return None # 流程结束### 流程执行

MCP 服务器创建并运行流程:

python

创建节点

query_node = QueryTrialsNode() summarize_node = SummarizeTrialsNode()

创建流程

flow = Flow(start=query_node) flow.add_node("summarize", summarize_node)

使用共享上下文运行流程

shared = {"mutation": mutation} result = flow.run(shared)

这种模式将准备、执行和后处理分开,使代码更易于维护和测试。更多细节请参阅设计文档。

使用方法

  1. 使用 uv 安装依赖项:

    uv pip install -r requirements.txt

  2. 配置 Claude Desktop:

    • 配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json 应该已经设置好
  3. 启动 Claude Desktop 并提出如下问题:

    • "EGFR L858R 突变有哪些可用的临床试验?"
    • "BRAF V600E 突变是否有任何试验?"
    • "告诉我关于 ALK 重排的试验"
  4. 通过提问来使用资源:

    • "你能告诉我更多关于 KRAS G12C 突变的信息吗?"

与 Claude Desktop 集成

您可以将此项目配置为 Claude Desktop MCP 工具。在您的配置中使用路径占位符,并用实际路径替换它们:

json "mutation-clinical-trials-mcp": { "command": "{PATH_TO_VENV}/bin/python", "args": [ "{PATH_TO_PROJECT}/clinicaltrials_mcp_server.py" ], "description": "将基因突变与相关的临床试验匹配,并提供摘要。" }

路径变量:

  • {PATH_TO_VENV}: 您虚拟环境目录的完整路径。
  • {PATH_TO_PROJECT}: 包含您项目文件的目录的完整路径。

安装说明:

  1. 将仓库克隆到本地机器。

  2. 如果还没有安装 uv,请先安装: bash curl -LsSf https://astral.sh/uv/install.sh | sh # macOS/Linux

    或者

    iwr -useb https://astral.sh/uv/install.ps1 | iex # Windows PowerShell

  3. 创建一个虚拟环境并在一步中安装依赖项: bash uv venv .venv uv pip install -r requirements.txt

  4. 在需要时激活虚拟环境: bash source .venv/bin/activate # macOS/Linux .venvScriptsactivate # Windows

  5. 确定您的虚拟环境和项目目录的完整路径。

  6. 使用这些特定路径更新您的配置。

示例:

  • 在 macOS/Linux 上: json "command": "/Users/username/projects/mutation_trial_matcher/.venv/bin/python"

  • 在 Windows 上: json "command": "C:\Users\username\projects\mutation_trial_matcher\.venv\Scripts\python.exe"

查找路径提示:

  • 要找到虚拟环境中 Python 解释器的确切路径,请运行:
    • which python (macOS/Linux)
    • where python (Windows, 在激活 venv 后)
  • 对于项目路径,使用包含 clinicaltrials_mcp_server.py 的目录的完整路径。

未来改进

有关计划中的增强功能和未来工作的全面列表,请参阅 future_work.md 文档。

依赖项

该项目依赖于以下关键依赖项:

  • Python 3.7+ - 基础运行时环境
  • PocketFlow (pocketflow>=0.0.1) - 用于构建基于 Node 模式的模块化 AI 工作流的框架
  • MCP SDK (mcp[cli]>=1.0.0) - 用于构建 Claude Desktop 工具的官方 Model Context Protocol SDK
  • Requests (requests==2.31.0) - 用于向 clinicaltrials.gov 发送 API 请求的 HTTP 库
  • Python-dotenv (python-dotenv==1.1.0) - 用于从 .env 文件加载环境变量

所有依赖项都可以按照安装说明使用 uv 进行安装。

故障排除

如果 Claude Desktop 与 MCP 服务器断开连接:

  • 查看日志:~/Library/Logs/Claude/mcp-server-clinicaltrials-mcp.log
  • 重启 Claude Desktop
  • 确认服务器正在正确运行

开发过程此项目采用AI辅助编码方法开发,遵循了Agentic Coding原则,即由人类设计而AI代理执行。主分支上的原始程序构建于2025年4月30日。实现过程通过与以下AI助手进行结对编程完成:

  • Windsurf
    • ChatGPT 4.1
    • Claude 3.7 Sonnet

这些AI助手在将高层次的设计需求转化为功能性代码、API集成以及根据最佳实践来构建项目方面发挥了重要作用。

处理 .windsurfrules 字符限制

来自模板仓库的PocketFlow .windsurfrules 文件包含了全面的项目规则,但Windsurf对规则文件设定了6,000字符的限制。这意味着你不能直接在项目中包含整套指南,重要的规则可能会被省略或截断。

为了解决这个问题,有以下两种推荐方案:

1. 使用Windsurf 🪁 内存存储规则

你可以利用Windsurf的记忆功能来存储完整的PocketFlow规则集,即使它们超过了.windsurfrules文件的限制。这种方法允许你在与Windsurf对话时引用所有项目惯例和最佳实践,确保不会因为截断而丢失任何内容。有关逐步说明及内存与规则文件之间的详细比较,请参阅 docs/memory_vs_windsurfrules.md。

2. 使用Context7访问指南

重要提示:本项目基于PocketFlow-Template-Python仓库,该仓库包含一个全面的.windsurfrules文件。然而,Windsurf对规则文件设置了6,000字符的限制,这意味着无法将完整的PocketFlow指南完全加载到Windsurf的记…

相关 MCP Servers(来自「health-and-wellness」)

MCP急救医疗规划器

与Google地图集成,以在紧急情况下定位和评估医疗设施,帮助用户根据医疗需求、紧急程度和设施能力找到合适的医院和诊所。

@manolaz/emergency-medicare-planner-mcp-server

Strava健康数据分析服务器

一个模型上下文协议服务器,为语言模型提供对Strava API数据的访问,使它们能够查询和分析Strava上的运动员活动。

@tomekkorbak/strava-mcp-server

DICOM MCP Server (数字成像与通信医学上下文协议服务器)

一个连接性测试服务器,通过克劳德模型上下文协议支持DICOM网络操作(如C-ECHO),并支持节点配置管理。

@fluxinc/dicom-mcp-server

健康记录模型上下文协议服务器

一个模型上下文协议服务器,通过使用SMART on FHIR将人工智能工具与电子健康记录连接起来,允许对兼容电子健康记录中的患者数据进行安全的搜索、查询和分析。

@jmandel/health-record-mcp

临床试验数据平台

提供了对ClinicalTrials.gov AACT数据库的访问, enables分析临床试验数据、跟踪发展趋 势以及生成治疗景观洞察。

@navisbio/ctgov_MCP

Cicatriiz

暂无描述。

@Cicatriiz/healthcare-mcp-public

自动安装

点击按钮会唤起 PolarBear 客户端,并把当前 MCP Server 的 Markdown 详情文档地址传给客户端。

/api/mcps/pickleton89-mutation-clinical-trial-matching-mcp/markdown
打开 PolarBear 安装查看 Markdown 文档

手动安装

在 PolarBear 或其他支持 MCP 的客户端中,新建 MCP Server,并参考下方来源或安装提示配置。

暂未识别到安装命令,请打开 ModelScope 详情查看完整配置。

基本信息

分类
health-and-wellness / rag-systems / search
运行方式
No
许可证
MIT License
详情文件
pickleton89-mutation-clinical-trial-matching-mcp.md