mcpField
H
Healthcare MCP Server

Healthcare MCP Server

ローカル
github.com/Cicatriizデータ・分析13263 週間前に更新

Healthcare MCP Server について

Healthcare MCP Server は、FDA の医薬品情報、PubMed、medRxiv、臨床試験、ICD-10 コード、DICOM メタデータ、BMI 計算などの医療・健康情報ツールを AI アシスタントに提供する MCP サーバーです。公的なデータソースに基づいて医療関連の質問に答える開発者やアプリケーションに向いています。DXT 拡張機能、npm パッケージ、ソースからの導入に対応しています。

主な機能

  1. 01FDA 医薬品情報の検索
  2. 02PubMed、medRxiv、NCBI Bookshelf の文献検索
  3. 03臨床試験と ICD-10 コードの検索
  4. 04DICOM メタデータの抽出と BMI 計算
  5. 05stdio と HTTP/SSE のインターフェース

活用シーン

  1. 01アシスタントからの医薬品ラベルや有害事象報告の確認
  2. 02医学文献と進行中の臨床試験の調査
  3. 03ICD-10 コードの検索や DICOM ファイルからのメタデータ読み取り

MCP 対応

本プロジェクトは MCP サーバーであり、fda_drug_lookup、pubmed_search、clinical_trials_search、lookup_icd_code、calculate_bmi などのツールを MCP クライアントに公開します。DXT、npm、stdio で導入できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"healthcare-mcp-public": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

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

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

詳細

ヘルスケア MCP サーバー

smithery badge AI アシスタントがヘルスケアデータや医療情報ツールにアクセスできるようにする、Model Context Protocol(MCP)サーバーです。

概要

Healthcare MCP Server は、Model Context Protocol(MCP)を実装し、AI アシスタントがヘルスケアデータや医療情報ツールにアクセスできるようにする、Node.js 製の専用サーバーです。AI モデルは、信頼できる情報源から正確で最新の医療情報を取得できます。このリポジトリには、Node.js による完全な実装を含む単一の DXT パッケージが用意されています。

DXT 拡張機能

このリポジトリには、対応する開発環境に簡単にインストールできる、パッケージ化された DXT(Desktop Extension)ファイルが含まれています。ワンクリックでインストールするには、healthcare-mcp.dxt をダウンロードしてください。

機能

  • FDA 医薬品情報:FDA データベースから包括的な医薬品情報を検索して取得します(応答の解析を改善)
  • PubMed 研究論文:PubMed の科学論文データベースから医学文献を検索します
  • 健康トピック:Health.gov のエビデンスに基づく健康情報にアクセスします(API v4 に更新)
  • 臨床試験:進行中および完了済みの臨床試験を検索します(API パラメーターを更新)
  • 医療用語:ICD-10 コードと医療用語の定義を検索します
  • medRxiv 検索:medRxiv のプレプリント論文を検索します
  • 医療計算機:ボディマス指数(BMI)を計算します
  • NCBI Bookshelf 検索:NCBI Bookshelf で生物医学関連の書籍や文書を検索します
  • DICOM メタデータ抽出:DICOM ファイルからメタデータを抽出します
  • キャッシュ:コネクションプーリングを備えた効率的なキャッシュシステムにより、API 呼び出しを減らし、パフォーマンスを向上させます
  • 使用状況の追跡:API の使用状況を監視するため、匿名で使用状況を追跡します
  • エラー処理:堅牢なエラー処理とログ記録
  • 複数のインターフェース:stdio(CLI 用)と HTTP/SSE インターフェースの両方をサポートします
  • API ドキュメント:Swagger UI によるインタラクティブな API ドキュメント
  • 包括的なテスト:Node.js によるテストと API 検証を含む広範なテストスイート

インストール

オプション 1:DXT 拡張機能(推奨)
  1. このリポジトリから healthcare-mcp.dxt をダウンロードします
  2. 対応する MCP クライアント(Claude Desktop など)で開きます
  3. インストールの案内に従います
  4. GUI から任意の設定を構成します
オプション 2:Smithery 経由でのインストール

Smithery 経由で、Claude Desktop 用の Healthcare Data and Medical Information Server を自動的にインストールするには:

npx -y @smithery/cli install @Cicatriiz/healthcare-mcp-public --client claude
オプション 3:npm によるインストール
  1. パッケージをインストールします:

    npm install healthcare-mcp
    
  2. サーバーを実行します:

    npx healthcare-mcp
    
オプション 4:ソースからの手動インストール
  1. リポジトリをクローンします:

    git clone https://github.com/Cicatriiz/healthcare-mcp-public.git
    cd healthcare-mcp-public/server
    
  2. 依存関係をインストールします:

    npm install
    
  3. 環境変数を設定します(任意):

    # Create .env file from example
    cp .env.example .env
    # Edit .env with your API keys (optional)
    
  4. サーバーを実行します:

    npm start
    

使用方法

サーバーの実行
  • stdio モード(デフォルト、MCP クライアント用):

    npm start
    
  • HTTP/SSE モード(ウェブクライアント用):

    npm run server:http
    
ツールのテスト

組み込みのテストスクリプトを使用して、MCP ツールをテストできます:

# Test all tools
npm test

# Test individual tools
npm run test:fda        # Test FDA drug lookup
npm run test:pubmed     # Test PubMed search
npm run test:health     # Test Health Topics
npm run test:trials     # Test Clinical Trials search
npm run test:icd        # Test ICD-10 code lookup

API リファレンス

Healthcare MCP Server は、直接統合するためのプログラム API と、ウェブクライアント用の RESTful HTTP API の両方を提供します。

RESTful API エンドポイント

HTTP モードで実行すると、次のエンドポイントを利用できます:

ヘルスチェック
GET /health

サーバーとそのサービスの状態を返します。

FDA 医薬品検索
GET /api/fda?drug_name={drug_name}&search_type={search_type}

パラメーター:

  • drug_name:検索する医薬品の名前
  • search_type:取得する情報の種類
    • general:基本的な医薬品情報(デフォルト)
    • label:医薬品のラベル情報
    • adverse_events:報告された有害事象

応答例:

{
  "status": "success",
  "drug_name": "aspirin",
  "search_type": "general",
  "total_results": 25,
  "results": [
    {
      "brand_name": "ASPIRIN",
      "generic_name": "ASPIRIN",
      "manufacturer": "Bayer Healthcare",
      "product_type": "HUMAN OTC DRUG",
      "route": "ORAL",
      "active_ingredients": [
        {
          "name": "ASPIRIN",
          "strength": "325 mg/1"
        }
      ]
    }
  ]
}
PubMed 検索
GET /api/pubmed?query={query}&max_results={max_results}&date_range={date_range}

パラメーター:

  • query:医学文献の検索クエリ
  • max_results:返す結果の最大数(デフォルト:5、最大:50)
  • date_range:指定した年数以内に発行された論文に限定します(例:過去5年間の場合は「5」)

レスポンスの例:

{
  "status": "success",
  "query": "diabetes treatment",
  "total_results": 123456,
  "date_range": "5",
  "articles": [
    {
      "pmid": "12345678",
      "title": "New advances in diabetes treatment",
      "authors": ["Smith J", "Johnson A"],
      "journal": "Journal of Diabetes Research",
      "publication_date": "2023-01-15",
      "abstract": "This study explores new treatment options...",
      "url": "https://pubmed.ncbi.nlm.nih.gov/12345678/"
    }
  ]
}
健康トピック
GET /api/health_finder?topic={topic}&language={language}

パラメーター:

  • topic:情報を検索する健康トピック
  • language:コンテンツの言語(en または es、デフォルト:en)

レスポンスの例:

{
  "status": "success",
  "search_term": "diabetes",
  "language": "en",
  "total_results": 15,
  "topics": [
    {
      "title": "Diabetes Type 2",
      "url": "https://health.gov/myhealthfinder/topics/health-conditions/diabetes/diabetes-type-2",
      "last_updated": "2023-05-20",
      "section": "Health Conditions",
      "description": "Information about managing type 2 diabetes",
      "content": ["Diabetes is a disease...", "Treatment options include..."]
    }
  ]
}
臨床試験の検索
GET /api/clinical_trials?condition={condition}&status={status}&max_results={max_results}

パラメーター:

  • condition:検索する病状または疾患
  • status:試験のステータス(recruiting、completed、active、not_recruiting、または all)
  • max_results:返す結果の最大数(デフォルト:10、最大:100)

レスポンスの例:

{
  "status": "success",
  "condition": "breast cancer",
  "search_status": "recruiting",
  "total_results": 256,
  "trials": [
    {
      "nct_id": "NCT12345678",
      "title": "Study of New Treatment for Breast Cancer",
      "status": "Recruiting",
      "phase": "Phase 2",
      "study_type": "Interventional",
      "conditions": ["Breast Cancer", "HER2-positive Breast Cancer"],
      "locations": [
        {
          "facility": "Memorial Hospital",
          "city": "New York",
          "state": "NY",
          "country": "United States"
        }
      ],
      "sponsor": "National Cancer Institute",
      "url": "https://clinicaltrials.gov/study/NCT12345678",
      "eligibility": {
        "gender": "Female",
        "min_age": "18 Years",
        "max_age": "75 Years",
        "healthy_volunteers": "No"
      }
    }
  ]
}
ICD-10 コードの検索
GET /api/medical_terminology?code={code}&description={description}&max_results={max_results}

パラメーター:

  • code:検索する ICD-10 コード(description を指定した場合は省略可能)
  • description:検索する病状の説明(code を指定した場合は省略可能)
  • max_results:返す結果の最大数(デフォルト:10、最大:50)

レスポンスの例:

{
  "status": "success",
  "search_type": "description",
  "search_term": "diabetes",
  "total_results": 25,
  "codes": [
    {
      "code": "E11",
      "description": "Type 2 diabetes mellitus",
      "category": "Endocrine, nutritional and metabolic diseases"
    },
    {
      "code": "E10",
      "description": "Type 1 diabetes mellitus",
      "category": "Endocrine, nutritional and metabolic diseases"
    }
  ]
}
汎用ツールの実行
POST /mcp/call-tool

リクエスト本文:

{
  "name": "fda_drug_lookup",
  "arguments": {
    "drug_name": "aspirin",
    "search_type": "general"
  },
  "session_id": "optional-session-id"
}
MCP ツール

互換性のあるクライアントを通じて MCP サーバーを使用する場合、次のツールを利用できます。

FDA 医薬品の検索
fda_drug_lookup(drug_name, search_type = "general")

パラメーター:

  • drug_name:検索する医薬品の名前
  • search_type:取得する情報の種類
    • general:基本的な医薬品情報(デフォルト)
    • label:医薬品のラベル情報
    • adverse_events:報告された有害事象
PubMed 検索
pubmed_search(query, max_results = 5, date_range = "")

パラメーター:

  • query:医学文献の検索クエリ
  • max_results:返す結果の最大数(デフォルト:5)
  • date_range:指定した年数以内に発行された論文に限定します(例:過去5年間の場合は「5」)
健康トピック
health_topics(topic, language = "en")

パラメーター:

  • topic:情報を検索する健康トピック
  • language:コンテンツの言語(en または es、デフォルト:en)
臨床試験の検索
clinical_trials_search(condition, status = "recruiting", max_results = 10)

パラメーター:

  • condition:検索する病状または疾患
  • status:試験のステータス(recruiting、completed、active、not_recruiting、または all)
  • max_results:返す結果の最大数
ICD-10 コードの検索
lookup_icd_code(code = null, description = null, max_results = 10)

パラメーター:

  • code:検索する ICD-10 コード(description を指定した場合は省略可能)
  • description:検索する病状の説明(code を指定した場合は省略可能)
  • max_results:返す結果の最大数
medRxiv 検索
medrxiv_search(query, max_results = 10)

パラメーター:

  • query:medRxiv 論文の検索クエリ
  • max_results:返す結果の最大数
BMI の計算
calculate_bmi(height_meters, weight_kg)

パラメーター:

  • height_meters:身長(メートル)
  • weight_kg:体重(キログラム)
NCBI Bookshelf 検索
ncbi_bookshelf_search(query, max_results = 10)

パラメーター:

  • query:NCBI Bookshelf の検索クエリ
  • max_results:返す結果の最大数
DICOM メタデータの抽出
extract_dicom_metadata(file_path)

パラメーター:

  • file_path:DICOM ファイルへのパス

データソース

この MCP サーバーでは、一般公開されている複数の医療関連 API を利用しています。

ライセンス

MIT License

コメント

MCP は初めてですか?

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

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