README
🚀 非官方GTEx门户MCP服务器
这是一个全面的模型上下文协议(MCP)服务器,可接入GTEx(基因型 - 组织表达)门户API。该服务器使AI助手能够通过三大类共 25个专业工具 对GTEx项目的基因组学数据进行查询和分析。
🚀 快速开始
本非官方GTEx门户MCP服务器提供了便捷的方式来访问和分析GTEx项目的基因组学数据。以下将介绍服务器的安装、使用等内容。
✨ 主要特性
- 全面的数据访问:可访问GTEx门户中近1000个个体、54个非病变组织部位的基因表达和调控数据。
- 丰富的工具集:提供三大类共25个专业工具,涵盖表达分析、关联分析以及参考/数据集查询。
- 良好的性能与可靠性:具备完善的错误处理、速率限制、超时重试、缓存和分页机制。
- 易于开发:采用模块化设计,使用TypeScript和MCP SDK,有完整的类型定义。
📦 安装指南
- 克隆或下载服务器文件。
- 安装依赖:
cd gtex-server
npm install
- 构建服务器:
npm run build
💻 使用示例
基础用法
运行服务器
启动服务器进行测试:
npm run dev
使用MCP检查器进行开发:
npm run inspector
与Claude Desktop集成
将服务器添加到Claude Desktop配置文件中:
在macOS上:~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"gtex-server": {
"command": "node",
"args": ["/path/to/gtex-server/build/index.js"]
}
}
}
将/path/to/gtex-server替换为服务器实际安装路径。
高级用法
基因搜索
Search for genes related to "BRCA1" or "insulin signaling"
基因表达分析
Get median gene expression for ENSG00000012048.20 (BRCA1) across all tissues
组织特异性分析
Find tissue-specific genes in Brain_Cortex and compare with Muscle_Skeletal
eQTL分析
Find genes with eQTL associations in genomic region chr17:43000000-43200000
表达相关性分析
Calculate expression correlation between BRCA1 and BRCA2 across tissues
坐标转换
Convert genomic coordinates from hg38 to hg19: chr1:1500000
📚 详细文档
🧬 完整工具套件(25个工具均已实现)
表达分析工具(7个工具)
get_gene_expression- 获取特定基因在各组织中的表达数据get_median_gene_expression- 获取基因在各组织中的中位表达水平get_top_expressed_genes- 获取特定组织中高表达的基因get_tissue_specific_genes- 获取具有组织特异性表达模式的基因get_clustered_expression- 获取用于可视化的聚类基因表达数据calculate_expression_correlation- 计算基因在各组织间的皮尔逊相关性get_differential_expression- 获取组织组间的差异基因表达
关联分析工具(6个工具)
get_eqtl_genes- 获取基因组区域中具有eQTL关联的基因get_single_tissue_eqtls- 获取基因的单组织eQTL结果calculate_dynamic_eqtl- 计算各组织间的动态eQTL效应get_multi_tissue_eqtls- 获取多组织eQTL荟萃分析结果get_sqtl_results- 获取基因的剪接QTL(sQTL)结果analyze_ld_structure- 分析变异周围的连锁不平衡结构
参考/数据集工具(12个工具)
search_genes- 按符号、名称或描述搜索基因get_gene_info- 获取特定基因的详细信息get_variants- 获取基因组区域中的遗传变异get_tissue_info- 获取GTEx组织信息和样本计数get_sample_info- 获取GTEx样本元数据和人口统计信息get_subject_phenotypes- 获取受试者表型数据和人口统计信息validate_gene_id- 验证和标准化基因标识符validate_variant_id- 验证变异标识符和基因组坐标get_dataset_info- 获取可用GTEx数据集的信息search_transcripts- 搜索基因转录本和异构体get_gene_ontology- 获取基因的基因本体论注释convert_coordinates- 在基因组坐标系统(hg19/hg38)之间进行转换
🔬 科学应用
本服务器可支持全面的基因组学研究,包括:
- 组织表达谱分析:识别具有组织特异性或组织富集表达的基因。
- 共表达分析:查找具有相关表达模式的基因。
- eQTL定位:发现表达数量性状位点和调控变异。
- 比较基因组学:比较不同组织类型之间的表达。
- 功能注释:通过基因本体论将基因与生物过程关联起来。
- 变异分析:探索遗传变异及其对基因表达的影响。
🗄️ API数据源
本服务器连接到GTEx门户API v2:
- 基础URL:https://gtexportal.org/api/v2/
- 文档:https://gtexportal.org/api/v2/redoc
- 数据:GTEx v8数据集(来自54个组织、948个供体的15,201个RNA-Seq样本)
- 基因组构建:GRCh38/hg38
📋 数据类型和格式
基因标识符
- GENCODE ID:例如,
ENSG00000012048.20(BRCA1) - 基因符号:例如,
BRCA1、TP53、INSR
组织标识符
- 组织部位详细ID:例如,
Muscle_Skeletal、Brain_Cortex、Heart_Left_Ventricle - 使用
get_tissue_info工具查看所有54个可用组织。
基因组坐标
- 染色体:例如,
chr17、chrX、chrY - 位置:基于1的基因组坐标
- 基因组构建:GRCh38/hg38(支持转换为hg19)
表达值
- 单位:TPM(每百万转录本)
- 统计量:样本间的均值、中位数、标准差
- 检测:具有可检测表达的样本百分比
⚡ 性能与可靠性
- 错误处理:全面的验证和优雅的错误恢复。
- 速率限制:自动处理API速率限制。
- 超时设置:30秒超时并带有重试逻辑。
- 缓存机制:智能缓存以提高响应时间。
- 分页处理:自动处理大型结果集。
- 输入验证:输入参数验证和标准化。
🛠️ 开发
项目结构
gtex-server/
├── src/
│ ├── index.ts # 主MCP服务器,包含工具注册
│ ├── types/gtex-types.ts # 完整的TypeScript类型定义
│ ├── utils/api-client.ts # 具有全面方法的GTEx API客户端
│ └── handlers/
│ ├── expression-handlers.ts # 7个表达分析工具
│ ├── association-handlers.ts # 6个eQTL/sQTL分析工具
│ └── reference-handlers.ts # 12个参考/查找工具
├── build/ # 编译后的JavaScript输出
├── test-complete-server.js # 全面的测试脚本
├── package.json # 依赖项和构建脚本
└── tsconfig.json # TypeScript配置
开发命令
# 构建项目
npm run build
# 在开发模式下运行,支持自动重新加载
npm run dev
# 在开发过程中监听文件变化
npm run watch
# 测试所有25个工具
node test-complete-server.js
📚 参考资料
- GTEx门户 - 主要的GTEx数据门户
- GTEx API文档 - 完整的API参考
- 模型上下文协议 - MCP规范
- GTEx联盟自然论文 - 主要出版物
- GTEx分析方法 - 统计方法
🎯 状态:可用于生产环境
✅ 25个工具均已实现并测试
✅ 完整的TypeScript实现
✅ 全面的错误处理
✅ 实时集成GTEx门户API
✅ 符合MCP 1.0标准
✅ 可用于基因组学研究
📄 许可证
本项目采用MIT许可证,可自由用于研究和商业应用,也可进行修改和分发。
本服务器将GTEx门户广泛的基因组学数据库与模型上下文协议相连接,使AI助手能够进行强大的基因组学分析。
Scan to join WeChat group