基因组学MCP服务器
MCP(模型上下文协议)服务器,按性状提供对SNP(单核苷酸多态性)数据的编程访问。使LLM驱动的应用程序能够通过标准化界面查询精心策划的基因组学信息。
🌟 特性
- 🧬 按性状搜索SNP -寻找与特定特征相关的遗传变异(例如,“阿尔茨海默氏症风险”、“运动表现”)
- 🔍 详细的SNP信息 -获取全面的数据,包括基因组坐标、基因、效应和研究来源
- 🧪 基因型解释 -了解特定基因型(例如“AG”、“TT”)对给定SNP的含义
- 📋 特质发现 -列出所有具有SNP计数的可用性状,按类别分组,并可选择分页
- 📊 数据集元数据 -通过查询服务器版本、SNP计数、性状计数和上次更新日期
get_metadata - 📚 基于证据的 -所有数据均包含带有URL和研究类型的源引用
- ⚡ 快速查找 -亚毫秒级查询的内存索引
- 🔄 数据库就绪 -存储库模式使从JSON到SQL/NoSQL的迁移变得容易
- 🌐 HTTP传输 -作为独立的HTTP服务器运行(
--transport http)除了默认的stdio模式之外
📦 安装
# Install dependencies
bun install
# Run the server (stdio transport — default)
bun start
# Run as HTTP server (port 3000 by default)
bun start -- --transport http
# HTTP on a custom port
bun start -- --transport http --port 8080🚀 快速开始
MCP检验员测试
MCP检查器是测试服务器的推荐方法:
# Run the inspector (launches web UI)
bun run inspector然后打开浏览器中显示的URL与工具进行交互。
与MCP客户端集成
将此服务器添加到MCP客户端的配置中。例如,在a config.json:
{
"mcpServers": {
"genomics": {
"command": "bun",
"args": ["/absolute/path/to/genomics-mcp/src/index.ts"]
}
}
}注: 替换 /absolute/path/to/genomics-mcp 安装的实际路径。有关配置文件的确切位置和格式,请参阅MCP客户端的文档。🛠️ 可用工具
服务器提供5个MCP工具用于查询基因组学数据:
| 工具 | 说明 |
|---|---|
search_by_trait | 搜索与一个或多个性状相关的SNP(支持“任意”/“全部”匹配、分页) |
get_snp_details | 通过rsID获取特定SNP的全面信息 |
interpret_genotype | 解释特定基因型(如“AG”、“CT”)对给定SNP的含义 |
list_traits | 列出所有具有SNP计数的可用性状,按类别分组(支持过滤和分页) |
get_metadata | 返回数据集统计信息(SNP计数、性状计数、上次更新)和服务器版本 |
所有工具均支持 标记语言 和 JSON 响应格式。
👉 看 工具参考 有关详细文档、参数和示例。
📊 数据集
该数据集涵盖了多个性状类别中广泛研究的SNP,包括:
- 神经的:阿尔茨海默氏症风险(APOE)、记忆(BDNF)、认知功能(COMT)、多巴胺信号传导(DRD2)
- 行为社交行为(OXTR)、成瘾风险(DRD2)、尼古丁依赖(CHRNA3)
- 心血管:心脏病风险(9p21)、高血压(AGT)、高密度脂蛋白胆固醇(CETP)、β受体阻滞剂反应(ADRB1)
- 代谢的叶酸代谢(MTHFR)、肥胖风险(FTO)、甘油三酯水平(APOA5)
- 药物基因组学:药物代谢(CYP2C9、CYP2C19)、华法林敏感性(VKORC1)、氟尿嘧啶毒性(DPYD)、丙型肝炎治疗(IFNL3)、阿巴卡韦超敏反应(HCP5)
- 自身免疫与免疫乳糜泻(HLA-DQA1)、类风湿性关节炎(STAT4)、自身免疫风险(PTPN22)
- 炎症IL-1β(IL1B),IL-10(IL10),CRP水平(CRP)
- 癌症与发展:解毒(NQO1)、黑色素瘤风险(TYR)、肺癌风险(CHRNA3)
- 眼睛和视觉:年龄相关性黄斑变性(CFH,ARMS2)
- 骨骼和肌肉骨骼:骨密度(COL1A1,ESR1),骨质疏松症风险
- 铁和肝脏血色素沉着症(HFE)、吉尔伯特综合征(UGT1A1)
- 身体特征:眼睛颜色(OCA2)、皮肤色素沉着(TYR、MC1R)
- 运动的:冲刺/耐力表现(ACTN3)
- 营养与代谢乳糖不耐症(MCM6)、维生素D水平(GC、VDR)
- 昼夜节律与睡眠:昼夜节律(CLOCK)、睡眠持续时间(DEC2)
- 肌肉骨骼和尿酸痛风风险(ABCG2)、尿酸水平(SLC2A9)
所有SNP包括:
- 基因组坐标(染色体、位置)
- 相关基因和性状
- 基因型特异性效应与风险水平
- 人口频率
- 带有URL的研究源引用
🏗️ 建筑
服务器使用分层架构: 工具→ 用例→ 仓库→ Data,具有用于亚毫秒查询的内存索引和使数据库迁移变得简单的存储库接口。
👉 看 架构指南 用于图表、设计模式、数据模型和技术细节。
🧪 发展
# Install dependencies
bun install
# Run in development mode (auto-reload)
bun run dev
# Run automated tests
bun test
# Type-check (optional — Bun runs TypeScript directly)
bun run build
# Format code
bun run format
# Lint code
bun run lint
# Lint + format in one pass (auto-fixes)
bun run check预提交钩子运行 bun run check 在暂存文件上,然后 bun test 在每次承诺之前。
📝 添加新SNP
要将新的SNP添加到数据集中,请执行以下操作:
- 编辑
src/repositories/data/snps.json - 遵循带有必填字段的架构:
- rsid, genes, traits, description, chromosome, position - reference_allele, effects_by_genotype, sources, last_updated
- 重新启动服务器——Zod在启动时进行验证,并将报告任何模式违规
- 如果SNP引入了一种新的性状蛞蝓,请将其添加到 两者 这
TRAIT_CATEGORIES地图(用于类别分组) 和 这TRAIT_DISPLAY_NAMES地图(用于显示标签)src/types/trait-categories.ts.未上市的蛞蝓回落到 其他 以及自动生成的标题案例。 - 可选运行
bun run build进行类型检查
数据在加载时根据Zod模式进行验证,因此任何模式违规都会立即被捕获。
📚 资源
- 工具参考 --完整的工具文档和示例
- 测试指导 --自动化测试套件、手动MCP检查器测试用例和HTTP传输测试
- 架构指南 --设计模式和技术细节
- 项目状态 --健康指标、已解决项目和待定功能
- 模型上下文协议文档
- MCP TypeScript SDK
数据源
精心策划的SNP数据集利用了以下权威基因组学数据库:
- dbSNP --用于SNP标识符、基因组坐标和等位基因频率的NCBI参考数据库
- 临床变异数据库 --NCBI临床相关基因组变异档案及其解释
- SNP媒体 --社区策划的SNP关联和基因型效应维基
- PharmGKB --药物-基因相互作用的药物基因组学知识库
- 沿海巡逻截阻艇 --临床药物遗传学实施联盟指南
- GnomAD --群体等位基因频率的基因组聚集数据库
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
______________________________________________________________________
注: 此服务器仅提供教育基因组学信息。它不用于临床或医学诊断。始终咨询医疗保健专业人员以做出医疗决定。
