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. 01Open Targets GraphQLクエリ
  2. 02FDA医薬品ラベル検索
  3. 03一般名とブランド名の対応付け
  4. 04Monarch生物医学エンティティ検索
  5. 05関数パラメーターの検証
  6. 06APIキーとJWTによる認証

活用シーン

  1. 01医薬品ラベルと副作用の確認
  2. 02疾患と標的の関連性の調査
  3. 03表現型に関連する疾患の検索
  4. 04遺伝子や生物医学エンティティの検索

MCP 対応

標準メタデータとパラメーター検証を備えた医療機能をMCPクライアントに提供します。Open Targets、FDAの医薬品情報、Monarch検索などが含まれ、関数メタデータは検出用エンドポイントから取得できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MedixHub Model Context Protocol(MCP)サーバー

MedixHub を通じて医療・ヘルスケア API に統合アクセスできる Model Context Protocol(MCP)サーバーです。

特長

  • JavaScript のみで実装
  • 標準化された MCP メタデータを備えた関数を公開
  • パラメーターを検証して関数を実行
  • Ollama などの LLM とシームレスに統合
  • 認証によって保護された 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

認証

このサーバーは、次の 2 種類の認証方式に対応しています。

  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 ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。