mcpField
M
MedixHub Model Context Protocol (MCP) Server

MedixHub Model Context Protocol (MCP) Server

本地服务
github.com/profliuhao健康医疗181 周前更新

关于 MedixHub Model Context Protocol (MCP) Server

MedixHub Model Context Protocol (MCP) Server 为使用 MCP 的应用提供医疗健康 API 函数,包括 Open Targets、FDA 药品标签和 Monarch 生物医学数据工具。它支持参数验证和身份认证。

主要功能

  1. 01查询 Open Targets GraphQL
  2. 02搜索 FDA 药品标签
  3. 03映射通用名与品牌名
  4. 04搜索 Monarch 生物医学实体
  5. 05验证函数参数
  6. 06支持 API 密钥和 JWT 认证

适用场景

  1. 01查询药品标签和不良反应
  2. 02探索疾病与靶点关系
  3. 03查找与表型相关的疾病
  4. 04搜索基因和生物医学实体

MCP 相关

向 MCP 客户端提供带标准元数据且经过参数验证的医疗健康函数,包括 Open Targets、FDA 药品信息和 Monarch 搜索。客户端可通过发现端点获取函数元数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MedixHub 模型上下文协议(MCP)服务

一个通过 MedixHub 集成医疗和健康 API 访问能力的模型上下文协议(MCP)服务。

功能特性

  • 纯 JavaScript 实现
  • 使用标准化的 MCP 元数据公开函数
  • 通过参数验证执行函数
  • 与 Ollama 等大模型无缝集成
  • 提供带身份验证的安全 API 端点
  • 支持流式响应

已实现的函数

该服务包含以下函数的 JavaScript 实现:

  1. executeOpenTargetQuery - 对 OpenTarget API 执行 GraphQL 查询
  2. FDADrugLabelSearch - 从 FDA 数据库获取药物信息
  3. get_drug_generic_name - 在通用药名和品牌药名之间进行映射
  4. MonarchSearch - 在 Monarch 数据库中搜索基因、疾病或表型
  5. MonarchDiseasesForMultiplePhenotypes - 查找与多个表型匹配的疾病
OpenTarget 函数
  • 疾病信息查询
  • 药物详情及关联信息
  • 靶点(基因/蛋白质)信息
  • 疾病与靶点的关联
  • 药物与疾病之间的关系
FDA 药品标签函数
  • 药物信息搜索
  • 通用药名与品牌药名映射
  • 不良反应查询
  • 药物相互作用搜索
Monarch 数据库函数
  • 生物医学实体搜索
  • 疾病与表型的关联
  • 基因与表型之间的关系
  • 多表型疾病查找器

快速开始

前提条件
  • Node.js 14 或更高版本
  • npm 或 yarn
安装
  1. 克隆代码仓库
git clone https://github.com/yourusername/medixhub-mcp-server.git
cd medixhub-mcp-server
  1. 安装依赖项
npm install
  1. 配置环境变量
cp .env.example .env
# Edit .env with your settings
  1. 启动服务
npm start

开发时启用自动重载:

npm run dev

使用方法

执行 API

使用 /execute 端点运行任何已注册的 MedixHub 函数:

POST /execute
Content-Type: application/json

{
  "name": "queryFDADrugLabel",
  "parameters": {
    "searchFields": {
      "drug_name": ["openfda.brand_name", "openfda.generic_name"]
    },
    "returnFields": ["openfda.generic_name", "warnings"],
    "arguments": {
      "drug_name": "ibuprofen",
      "limit": 1
    }
  }
}
直接调用 MedixHub API

使用 /medixhub 端点直接访问 API:

  • /medixhub/opentargets
  • /medixhub/opentargets-genetics
  • /medixhub/drug-by-name
  • /medixhub/fda-drug-label
  • /medixhub/drug-generic-name
  • /medixhub/monarch
  • /medixhub/diseases-for-phenotypes
函数元数据

获取可用函数的信息:

  • /functions - 所有可用函数
  • /functions/medixhub - MedixHub 专属函数
  • /functions/category/:category - 按类别列出函数

API 文档

完整的 API 文档位于 /functions/medixhub

开发

项目结构
medixhub-mcp-server/
├── server.js                   # Main server file
├── src/
│   ├── medixhub/               # MedixHub integration
│   ├── middleware/             # Middleware
│   ├── routes/                 # Route handlers
│   └── services/               # Services
├── examples/                   # Usage examples
└── tests/                      # Test suite
添加新函数

向注册表中添加新函数:

const { registerFunction } = require('./src/services/functionRegistry');

registerFunction('myNewFunction', {
  name: 'myNewFunction',
  description: 'Description of what this function does',
  parameters: {
    // Parameter schema
  },
  function: async (params) => {
    // Implementation
    return result;
  }
});
运行测试
npm test

身份验证

该服务支持两种身份验证方式:

  1. API 密钥:基于密钥的简单身份验证
  2. JWT 令牌:更精细的访问控制

在生产模式下,除函数发现端点外,所有端点都需要身份验证。

环境变量

通过以下环境变量配置服务:

  • PORT:服务端口(默认值:3000)
  • NODE_ENV:环境(development 或 production)
  • OLLAMA_API_URL:Ollama API 的 URL
  • API_KEYS:以逗号分隔的有效 API 密钥列表
  • FDA_API_KEY:FDA 药物数据库的 API 密钥

所有可用选项请参阅 .env.example。

性能注意事项

  • 服务对所有 API 调用进行异步处理
  • 启用速率限制以防止滥用
  • 超时处理可防止请求挂起
  • 通过高效处理流来优化内存使用

许可证

本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。