Skip to main content
Glama

ヘルスケアMCPサーバー

AI アシスタントにヘルスケア データと医療情報ツールへのアクセスを提供するモデル コンテキスト プロトコル (MCP) サーバー。

概要

ヘルスケアMCPサーバーは、モデルコンテキストプロトコル(MCP)を実装した専用サーバーで、AIアシスタントにヘルスケアデータと医療情報ツールへのアクセスを提供します。これにより、AIモデルは信頼できる情報源から正確で最新の医療情報を取得できるようになります。

Related MCP server: MCP Toolkit

特徴

  • FDA医薬品情報: FDAデータベースから包括的な医薬品情報を検索および取得します

  • PubMed Research : PubMedの科学論文データベースから医学文献を検索します

  • 健康トピック: Health.gov からエビデンスに基づいた健康情報にアクセスします

  • 臨床試験:進行中および完了した臨床試験を検索

  • 医学用語: ICD-10コードと医学用語の定義を調べます

  • キャッシュ: API呼び出しを減らし、パフォーマンスを向上させる接続プールを備えた効率的なキャッシュシステム

  • 使用状況追跡: API の使用状況を監視するための匿名の使用状況追跡

  • エラー処理: 堅牢なエラー処理とログ記録

  • 複数のインターフェース: stdio (CLI用) と HTTP/SSE インターフェースの両方をサポート

  • APIドキュメント: Swagger UIを使用したインタラクティブなAPIドキュメント

  • 包括的なテスト: pytestとカバレッジレポートを備えた広範なテストスイート

インストール

手動インストール

  1. リポジトリをクローンします。

    git clone https://github.com/Cicatriiz/healthcare-mcp-public.git
    cd healthcare-mcp-public
  2. 仮想環境を作成します。

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. 依存関係をインストールします:

    pip install -r requirements.txt
  4. 環境変数を設定します(オプション):

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

    python run.py

使用法

さまざまなトランスポートモードでの実行

  • stdio モード(デフォルト、Cline の場合):

    python run.py
  • HTTP/SSE モード(Web クライアント用):

    python run.py --http --port 8000

ツールのテスト

新しい pytest ベースのテスト スイートを使用して MCP ツールをテストできます。

# Run all tests with pytest and coverage
python -m tests.run_tests --pytest

# Run a specific test file
python -m tests.run_tests --test test_fda_tool.py

# Test the HTTP server
python -m tests.run_tests --server --port 8000

下位互換性のために、古いテストを引き続き実行できます。

# Run all tests (old style)
python -m tests.run_tests

# Test individual tools (old style)
python -m tests.run_tests --fda        # Test FDA drug lookup
python -m tests.run_tests --pubmed     # Test PubMed search
python -m tests.run_tests --health     # Test Health Topics
python -m tests.run_tests --trials     # Test Clinical Trials search
python -m tests.run_tests --icd        # Test ICD-10 code lookup

APIリファレンス

Healthcare MCP サーバーは、直接統合用のプログラム API と、Web クライアント用の 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 : トライアルのステータス (募集中、完了、アクティブ、非募集中、またはすべて)

  • 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 : 検索する病状の説明(コードが提供されている場合はオプション)

  • 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"
}

プログラムAPI

MCP サーバーをプログラムで使用する場合、次の機能が利用できます。

FDA医薬品検索

fda_drug_lookup(drug_name: str, search_type: str = "general")

パラメータ:

  • drug_name : 検索する薬剤の名前

  • search_type : 取得する情報の種類

    • general :基本的な医薬品情報(デフォルト)

    • label :医薬品の添付文書情報

    • adverse_events : 報告された有害事象

PubMed検索

pubmed_search(query: str, max_results: int = 5, date_range: str = "")

パラメータ:

  • query : 医学文献の検索クエリ

  • max_results : 返される結果の最大数(デフォルト: 5)

  • date_range : 年内に公開された記事に限定します(例:過去 5 年間の場合は「5」)

健康トピック

health_topics(topic: str, language: str = "en")

パラメータ:

  • topic : 健康に関する情報を検索するトピック

  • language : コンテンツの言語(en または es、デフォルト: en)

臨床試験検索

clinical_trials_search(condition: str, status: str = "recruiting", max_results: int = 10)

パラメータ:

  • condition : 検索する病状または疾患

  • status : トライアルのステータス (募集中、完了、アクティブ、非募集中、またはすべて)

  • max_results : 返される結果の最大数

ICD-10コード検索

lookup_icd_code(code: str = None, description: str = None, max_results: int = 10)

パラメータ:

  • code : 検索する ICD-10 コード (説明が提供されている場合はオプション)

  • description : 検索する病状の説明(コードが提供されている場合はオプション)

  • max_results : 返される結果の最大数

データソース

この MCP サーバーは、公開されているいくつかのヘルスケア API を利用します。

プレミアムバージョン(まだ構築中)

これは、使用制限のあるHealthcare MCP Serverの無料版です。高度な機能とより高い使用制限をご希望の場合は、プレミアム版をご覧ください。

  • 無制限のAPI呼び出し

  • 高度なヘルスケアデータツール

  • カスタム統合

  • 優先サポート

ライセンス

MITライセンス

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cicatriiz/healthcare-mcp-public'

If you have feedback or need assistance with the MCP directory API, please join our Discord server