article
README
🚀 MedixHub模型上下文协议(MCP)服务器
MedixHub模型上下文协议(MCP)服务器集成了医疗和医疗保健API访问功能。它基于Model Context Protocol (MCP),能为用户提供便捷、高效且安全的医疗数据交互服务。
✨ 主要特性
- 纯JavaScript实现:采用纯JavaScript开发,确保代码的简洁性和兼容性。
- 暴露具有标准化MCP元数据的功能:将功能以标准化的MCP元数据形式呈现,方便集成与使用。
- 执行带参数验证的功能:在执行功能时对参数进行验证,保证操作的准确性和安全性。
- 与Ollama等大型语言模型无缝集成:可与Ollama等大型语言模型轻松对接,拓展应用场景。
- 带有安全API端点的身份验证:提供安全的API端点,并支持身份验证,保障数据安全。
- 支持流式响应:支持流式响应,提升数据传输效率。
📦 安装指南
先决条件
- Node.js 14或更高版本
- npm或yarn
安装步骤
- 克隆仓库
git clone https://github.com/yourusername/medixhub-mcp-server.git
cd medixhub-mcp-server
- 安装依赖项
npm install
- 配置环境变量
cp .env.example .env
# 编辑.env文件以设置您的配置
- 启动服务器
npm start
若用于开发,可使用自动重载功能:
npm run dev
💻 使用示例
基础用法
使用/execute端点运行任何已注册的MedixHub功能:
POST /execute
Content-Type: application/json
{
"name": "queryFDADrugLabel",
"parameters": {
"searchFields": {
"drug_name": ["openfda.brand_name", "openfda.generic_name"]
},
"返回值": [
"generic_name",
"brand_name"
]
}
}
功能说明
- executeOpenTargetQuery:对OpenTarget API执行GraphQL查询以获取药物信息。
- FDADrugLabelSearch:搜索FDA数据库中的药物标签信息。
- get_drug_generic_name:根据品牌名称查找通用药物名称。
- MonarchSearch:在Monarch知识库中搜索基因、疾病或表型。
- MonarchDiseasesForMultiplePhenotypes:找到与多个表型相关的疾病。
📚 详细文档
实现的功能
该服务器包含JavaScript实现的以下功能:
- executeOpenTargetQuery - 对OpenTarget API执行GraphQL查询
- FDADrugLabelSearch - 从FDA数据库检索药物信息
- get_drug_generic_name - 在通用名和品牌名之间映射药物名称
- MonarchSearch - 搜索Monarch数据库中的基因、疾病或表型
- MonarchDiseasesForMultiplePhenotypes - 找到与多个表型匹配的疾病
OpenTarget功能
- 疾病信息查询
- 药物细节和关联
- 目标(基因/蛋白质)信息
- 疾病 - 目标关联
- 药物 - 疾病关系
FDA药物标签功能
- 药物信息搜索
- 通用名和品牌名映射
- 不良反应查询
- 药物相互作用搜索
Monarch数据库功能
- 生物医学实体搜索
- 疾病 - 表型关联
- 基因 - 表型关系
- 多表型疾病查找
项目结构
medixhub-mcp-server/
├── server.js # 主服务器文件
├── routes/ # API路由定义
│ ├── openTargetRoutes.js # OpenTarget相关路由
│ └── monarchRoutes.js # Monarch相关路由
├── controllers/ # 控制器逻辑
│ ├── openTargetController.js # OpenTarget控制器
│ └── monarchController.js # Monarch控制器
└── .env.example # 环境变量示例文件
性能考虑
- 所有API调用都使用异步处理
- 启用了速率限制以防止滥用
- 超时处理可防止请求挂起
- 内存使用经过优化,以高效处理流
📄 许可证
该项目根据MIT许可证发布 - 有关详细信息,请参阅LICENSE文件。
Scan to contact