mcpField
P
Pharmaceutical Benefits Scheme (PBS) MCP AI Enabled API Server

Pharmaceutical Benefits Scheme (PBS) MCP AI Enabled API Server

ローカル
github.com/matthewdcage開発ツール485 週間前に更新

Pharmaceutical Benefits Scheme (PBS) MCP AI Enabled API Server について

この独立型MCPサーバーは、オーストラリアのPharmaceutical Benefits Scheme(PBS)公開APIをAIモデルやアプリケーションから利用できるようにします。医薬品、価格、入手状況などを照会でき、stdioとHTTP/SSEに対応し、CLIも備えています。

主な機能

  1. 01PBS APIエンドポイントの照会
  2. 02stdioとHTTP/SSEに対応
  3. 03エンドポイント照会用CLI
  4. 04レート制限と認証エラーへの対応

活用シーン

  1. 01医薬品情報やPBSコードの検索
  2. 02医薬品の価格と入手状況の取得
  3. 03処方者やPBS項目の絞り込み

MCP 対応

MCPクライアントにPBS APIを照会するツールを提供し、構造化された医薬品データを返します。stdioとHTTP/SSEのトランスポートに対応しています。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Pharmaceutical Benefits Scheme (PBS) MCP AI Enabled API Server MCP Server

オーストラリアの Pharmaceutical Benefits Scheme(PBS)API にアクセスするための、スタンドアロンの Model Context Protocol(MCP)サーバーです。

作者について

この PBS MCP サーバーは、https://ai-advantage.au の創設者であり、自動化、AI エンジニアリング、AI 統合、医療データシステムを専門とする [Matthew Cage] が開発しました。

ぜひご協力ください: https://www.linkedin.com/in/digitalmarketingstrategyexpert/

概要

このプロジェクトは、AI モデルがオーストラリアの Pharmaceutical Benefits Scheme(PBS)API にアクセスできるスタンドアロンの MCP サーバーを提供します。この API には、オーストラリアの医薬品、価格、入手可能性に関する情報が含まれています。

このプロジェクトは Public API 向けに構築されていますが、開発者アクセスが許可されている場合は、Private API にも簡単に適応できます。

PBS API は、医薬品の掲載情報、価格、入手可能性など、PBS データへのプログラムによるアクセスを提供します。この MCP サーバーを使用すると、PBS データを AI ワークフローに簡単に統合できます。

MCP は HTTP と CLI で利用できます。

PBS のレート制限に注意し、リクエスト頻度を調整してください。API から必要な情報を取得して保存するため、定期的に呼び出し、週単位で更新することをおすすめします。

MCP サーバーの機能 MCP Server

この MCP サーバーは、以下の Model Context Protocol の機能を実装しています。

  • ツール:PBS API エンドポイントにクエリを実行するツールを提供し、AI モデルが医薬品データにアクセスできるようにします
  • トランスポート層:stdio と HTTP/SSE の両方のトランスポート層をサポートします
  • エラー処理:API のレート制限や認証の問題に対応する包括的なエラー処理を備えています
  • LLM 統合:LLM コンポーネントからツール呼び出しとプロンプトを直接受け取り、PBS データとのシームレスな AI 対話を可能にします
仕組み

MCP クライアント MCP Client は、次のように動作します。

  1. ツール呼び出しを受信:LLM(Claude など)が医薬品データを必要とすると、このサーバーにツール呼び出しを送信します
  2. プロンプトを処理:医薬品情報に関する自然言語のプロンプトを解釈します
  3. API クエリを実行:リクエストを適切な PBS API 呼び出しに変換します
  4. 構造化データを返す:LLM が応答に利用できる、形式を整えた医薬品データを返します

これにより、AI アシスタントは、学習データにこの情報を含めておく必要なく、最新の PBS 情報にアクセスできます。

インストール

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

    git clone <repository-url>
    cd pbs-mcp-standalone
    
  2. 依存関係をインストールします。

    npm install
    
  3. プロジェクトをビルドします。

    npm run build
    

使用方法

サーバーの起動 MCP Server

PBS MCP サーバーは、さまざまなモードで実行できます。

Stdio モード(デフォルト)

このモードは MCP プロトコルに対応しており、標準入出力ストリームを介して通信します。

npm start

または、付属の起動スクリプトを使用します。

./start.sh
SSE 対応の HTTP モード

このモードでは、Server-Sent Events(SSE)に対応した HTTP サーバーを起動します。

npm run start:http

または、付属の起動スクリプトを使用します。

./start.sh http 3000

3000 は待ち受けるポート番号です。

コマンドラインインターフェイス

PBS MCP サーバーは、コマンドラインツールとしても使用できます。

npm run cli -- <command>

または、付属の起動スクリプトを使用します。

./start.sh cli <command>

例:

./start.sh cli info
コマンドラインツールとしての使用

この MCP サーバーをコマンドラインツールとして使用するには、次の手順に従います。

  1. プロジェクトをビルドします。

    npm run build
    
  2. 使用するコマンドを指定して CLI を実行します。

    npm run cli -- <command>
    

    または、起動スクリプトを使用します。

    ./start.sh cli <command>
    
MCP クライアントとの統合 MCP Client

このサーバーは、次のような MCP 対応クライアントと統合できます。

  • ローカル AI エディターおよび AI/LLM サーバー
  • Model Context Protocol に対応したその他の AI アシスタント
  • MCP クライアントライブラリを使用するカスタムアプリケーション
クライアント設定例

このサーバーを MCP クライアントと設定する方法の例を示します。

{
  "mcpServers": {
    "pbs-api": {
      "command": "node",
      "args": ["path/to/pbs-mcp-standalone/build/index.js"],
      "env": {
        "PBS_API_SUBSCRIPTION_KEY": "your-subscription-key-here"
      }
    }
  }
}
クライアントからサーバーにアクセスする

クライアントからこの MCP サーバーにアクセスするには、次の手順に従います。

  1. Claude Desktop またはその他の MCP 互換 AI アシスタントの場合:

    • このサーバーを MCP ツールプロバイダーとして使用するよう、アシスタントを設定します
    • アシスタントは、このサーバーが提供するツールを自動的に検出して使用します
    • LLM は、薬剤に関する自然言語のプロンプトを送信でき、サーバーがそれを処理します
  2. カスタムアプリケーションの場合:

    • 以下で説明する HTTP API エンドポイントを使用します
    • SSE エンドポイントに接続して、ツールイベントをリアルタイムで受信します
    • または、サーバープロセスを起動して、標準入力/標準出力を介して通信します
LLM プロンプトの例

サーバーは、次のようなさまざまな LLM プロンプトを解釈できます。

"Find information about metformin in the PBS"
"What is the PBS code for insulin?"
"List all prescribers who can prescribe antibiotics"
"Get the latest pricing for asthma medications"

これらの自然言語のプロンプトは、適切な PBS API 呼び出しに変換されます。

API ツールのパラメーター

PBS API ツールは、次のパラメーターを指定して使用できます。

{
  "endpoint": "prescribers",
  "method": "GET",
  "params": {
    "get_latest_schedule_only": "true",
    "limit": "20"
  }
}
パラメーター
  • endpoint(文字列、必須):アクセスする特定の PBS API エンドポイント(例:「prescribers」、「item-overview」)
  • method(文字列、任意):使用する HTTP メソッド(ほとんどの PBS API 操作では GET を推奨します)。デフォルト:「GET」
  • params(オブジェクト、任意):リクエストに含めるクエリパラメーター
  • subscriptionKey(文字列、任意):カスタムサブスクリプションキー。指定しない場合は、デフォルトのパブリックキーが使用されます
  • timeout(数値、任意):リクエストのタイムアウト時間(ミリ秒)。デフォルト:30000

HTTP API MCP サーバー

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

ヘルスチェック
GET /health

サーバーのステータスを返します。

ツール一覧
GET /tools

利用可能なツールの一覧を返します。

SSE エンドポイント
GET /sse

SSE 接続を確立し、ツールイベントを送信します。

ツールの呼び出し(SSE)
POST /sse/:toolName

ツールを呼び出し、結果を SSE で送信します。

ツールの呼び出し(REST)
POST /api/:toolName

ツールを呼び出し、結果を JSON で返します。

コマンドラインインターフェース MCP Dev

PBS MCP サーバーは、次のコマンドを使用してコマンドラインツールとして利用できます。

エンドポイント一覧
./start.sh cli list-endpoints

利用可能な PBS API エンドポイントをすべて一覧表示します。

API 情報の取得
./start.sh cli info

PBS API に関する情報を返します。

処方者の検索
./start.sh cli prescribers [options]

オプション:

  • -l, --limit <number>:ページあたりの結果数(デフォルト:10)
  • -p, --page <number>:ページ番号(デフォルト:1)
  • -c, --pbs-code <code>:PBS コードで絞り込みます
  • -s, --schedule-code <code>:スケジュールコードで絞り込みます
  • -t, --prescriber-type <type>:処方者の種類で絞り込みます
  • -f, --fields <fields>:返すフィールドを指定します
  • --latest:最新のスケジュールのみを取得します
品目概要の検索
./start.sh cli item-overview [options]

オプション:

  • -l, --limit <number>:ページあたりの結果数(デフォルト:10)
  • -p, --page <number>:ページ番号(デフォルト:1)
  • -s, --schedule-code <code>:スケジュールコードで絞り込みます
  • -f, --fields <fields>:返すフィールドを指定します
  • --latest:最新のスケジュールのみを取得します
任意のエンドポイントを検索
./start.sh cli query <endpoint> [options]

オプション:

  • -m, --method <method>:HTTP メソッド(デフォルト:GET)
  • -p, --params <json>:JSON 文字列形式のクエリパラメーター
  • -k, --subscription-key <key>:カスタムサブスクリプションキー
  • -t, --timeout <milliseconds>:リクエストのタイムアウト時間(ミリ秒)
HTTP サーバーの起動
./start.sh cli serve [options]

オプション:

  • -p, --port <number>:リッスンするポート(デフォルト:3000)

利用可能なエンドポイント

PBS API には、さまざまな種類のデータにアクセスするための複数のエンドポイントがあります。

  • / - API 情報と変更履歴を提供するルートエンドポイント
  • /prescribers - 処方者に関する情報
  • /item-overview - PBS 項目に関する詳細情報
  • /items - PBS 項目に関する基本情報
  • /schedules - PBS スケジュールに関する情報
  • /atc-codes - 解剖治療化学(ATC)分類コード
  • /organisations - 組織に関する情報
  • /restrictions - 制限に関する情報
  • /parameters - パラメーターに関する情報
  • /criteria - 基準に関する情報
  • /copayments - 自己負担額に関する情報
  • /fees - 手数料に関する情報
  • /markup-bands - マークアップ区分に関する情報
  • /programs - プログラムに関する情報
  • /summary-of-changes - 変更の概要

エンドポイントの完全な一覧については、PBS API ドキュメントを参照してください。

使用例

API 情報を取得する
{
  "endpoint": ""
}
処方者を取得する
{
  "endpoint": "prescribers",
  "params": {
    "get_latest_schedule_only": "true",
    "limit": "10"
  }
}
最新のスケジュールとともに項目の概要を取得する
{
  "endpoint": "item-overview",
  "params": {
    "get_latest_schedule_only": "true",
    "limit": "5"
  }
}
特定の PBS コードを指定して処方者を取得する
{
  "endpoint": "prescribers",
  "params": {
    "pbs_code": "10001J",
    "get_latest_schedule_only": "true"
  }
}

認証

このツールは、PBS API にアクセスするためにサブスクリプションキーを使用します。PBS Developer Portal に登録すると、独自のキーを取得できます。

開発目的の設定については、.env.example ファイルを参照してください。

PBS API サブスクリプションキーを取得する

独自の PBS API サブスクリプションキーを取得するには、次の手順に従ってください。

  1. PBS Data API Portal にアクセスする:

  2. アカウントを作成する:

    • 「Sign Up」をクリックして、新しいアカウントを作成します
    • 詳細を入力し、メールアドレスを確認します
  3. PBS API をサブスクライブする:

    • ログインしたら、「Products」セクションに移動します
    • 「PBS Public API v3」製品を選択します
    • 「Subscribe」をクリックして、API へのアクセスをリクエストします
  4. サブスクリプションキーを取得する:

    • サブスクリプションが承認されたら、プロフィールに移動します
    • 「Subscriptions」または「API Keys」セクションに移動します
    • プライマリーキーまたはセカンダリーキーをコピーします
  5. 環境を設定する:

    • .env.example テンプレートを基に .env ファイルを作成します
    • your-subscription-key-here を実際のサブスクリプションキーに置き換えます:
      PBS_API_SUBSCRIPTION_KEY=your-actual-subscription-key
      

注:PBS Public API のリクエスト頻度は、20 秒あたり 1 回に制限されています。この制限は、Public API の全ユーザーで共有されます。より高いリクエスト頻度の上限や、公開前データ(今後のスケジュール)へのアクセスが必要な場合は、PBS Developer Program を通じて特別なアクセスを申請してください。

制限事項

  • PBS Public API のリクエスト頻度は、20 秒あたり 1 回に制限されています(全ユーザーで共有)
  • Public API で利用できるのは、現在のスケジュールと過去 12 か月以内に公開されたスケジュールのみです
  • 一部のエンドポイントでは、特定のパラメーターを指定する必要があります
  • API の構造やエンドポイントは、時間の経過とともに変更される場合があります

追加リソース

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルを参照してください。


MCP サーバー MCP クライアント MCP 開発 MCP 有効 ❤️

コメント

MCP は初めてですか?

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

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