cBioPortal MCP 服务器
高性能异步模型上下文协议 (MCP) 服务器,使 AI 助手能够与cBioPortal (一个探索多维癌症基因组数据集的平台)的癌症基因组数据进行交互。该服务器采用现代异步 Python 构建,可显著加快数据检索速度。
特征
🔍 癌症研究:浏览和搜索 cBioPortal 中可用的癌症研究
🧬 基因组数据:访问基因突变、临床数据和分子图谱
🔎 搜索功能:通过关键字搜索查找研究、基因和样本
📊 多种数据类型:检索突变、临床数据和研究元数据
⚡ 异步性能:完全异步实现,数据检索速度显著加快(最高可提高 4.5 倍)
📚 批量操作:同时获取多个研究和基因以增强性能
🔄 FastMCP 集成:基于高性能 FastMCP 框架构建
目录
安装
先决条件
Python 3.8 或更高版本
pip(Python 包安装程序)
Git(可选,用于克隆存储库)
设置环境
选项 1:使用 venv 和 pip(标准方法)
使用 pip 安装依赖项
选项 2:使用紫外线(更快的替代方案)
UV是一个现代的、高性能的 Python 包管理器和环境管理器,其速度比 pip 快得多。
使用 UV 安装依赖项
下载服务器
将cbioportal_server.py
脚本下载到您的工作目录或克隆此存储库:
使脚本可执行(仅限 Linux/macOS)
用法
启动服务器
要使用默认设置启动服务器:
这将使用https://www.cbioportal.org/api
上的公共 cBioPortal API 启动服务器。
高级选项
使用命令行参数自定义服务器行为:
配置
与 Claude Desktop 一起使用
安装 Claude Desktop
打开 Claude 桌面
点击工具栏中的 MCP 服务器图标
添加一个新的 MCP 服务器,配置如下:
**注意:**请务必将路径替换为 Python 可执行文件和服务器脚本的实际路径。 command
字段应指向虚拟环境中的 Python 可执行文件(例如.venv/bin/python3
),并且args
数组的第一个元素应为cbioportal_server.py
脚本的路径。如果遇到ENOTDIR
错误,请确保将command
字段正确设置为 Python 可执行文件,而不是目录。
与 VS Code 一起使用
在您的工作区设置中配置 MCP 服务器:
可用工具
cBioPortal MCP 服务器提供以下工具:
工具名称 | 描述 |
| 列出 cBioPortal 中所有可用的癌症研究 |
| 获取所有癌症类型的列表 |
| 获取有关特定癌症研究的详细信息 |
| 获取与研究相关的样本列表 |
| 通过 Hugo 符号或 Entrez ID 获取特定基因的信息 |
| 通过基因符号或名称中的关键词搜索基因 |
| 获取特定研究中特定基因的突变 |
| 获取研究中患者的临床数据 |
| 获取可用于研究的分子谱列表 |
| 按关键词搜索癌症研究 |
| 同时获取多个研究以获得更好的性能 |
| 通过自动批处理同时检索多个基因 |
示例
以下是您可以向连接到此服务器的 AI 助手询问的问题示例:
表现
该服务器实现了完全异步支持,以显著提高从 cBioPortal API 检索数据时的性能。
基准测试结果
我们的测试表明异步实现可以显著提高性能:
与顺序操作相比,并发研究获取速度提高了 4.57 倍
高效批量处理检索多个基因
顺序操作和并发操作之间的数据质量一致
批量操作优势
服务器提供了利用并发的批量操作的专用工具:
get_multiple_studies
:使用 asyncio.gather 并行获取多个研究get_multiple_genes
:实现智能批处理,实现高效的并发基因检索
这些方法包括详细的性能指标,例如执行时间和批次数,以帮助您了解效率提升。
故障排除
服务器启动失败
确保已安装 Python 3.8+:
python --version
验证所有依赖项都已安装:
pip list | grep mcp
检查控制台中的错误消息
Claude Desktop 的连接问题
验证配置中的脚本路径是否正确
确保脚本具有执行权限
检查 Claude 日志以获取详细的错误消息
API 连接问题
确保您有互联网连接
验证 cBioPortal API 是否可访问:
curl https://www.cbioportal.org/api/cancer-types
如果可用,请尝试使用其他 API 端点
发展
扩展服务器
您可以通过向CBioPortalMCPServer
类添加新方法并将其注册为工具来扩展服务器的功能:
未来的改进
未来版本的潜在改进:
缓存频繁访问的数据
私有 cBioPortal 实例的身份验证支持
附加端点以实现更全面的数据访问
根据服务器功能微调并发限制
添加请求重试机制以实现更强大的错误处理
为其他端点实现更多并发批量操作方法
更新和维护
要更新到最新版本的 MCP SDK:
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
cBioPortal提供开放获取癌症基因组数据平台
用于实现 AI 工具交互的模型上下文协议
FastMCP高性能 MCP 服务器框架
Related MCP Servers
- AsecurityAlicenseAqualityProvides comprehensive access to Roam Research's API functionality. This server enables AI assistants like Claude to interact with your Roam Research graph through a standardized interface.Last updated -1466MIT License
- -securityFlicense-qualityA MCP server that allows AI assistants to interact with the browser, including getting page content as markdown, modifying page styles, and searching browser history.Last updated -82
- -securityFlicense-qualityHigh-performance server enabling AI assistants to access web scraping, crawling, and deep research capabilities through Model Context Protocol.Last updated -19
- -securityFlicense-qualityA custom server that integrates WebDNA documentation with AI assistants by scraping, indexing, and providing searchable documentation through MCP-compatible API endpoints.Last updated -