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 传输,也提供命令行界面。

主要功能

  1. 01查询 PBS API 端点
  2. 02支持 stdio 与 HTTP/SSE
  3. 03提供查询端点的命令行界面
  4. 04处理限流和认证错误

适用场景

  1. 01查询药品信息和 PBS 编码
  2. 02获取药品价格与供应数据
  3. 03筛选处方者或 PBS 项目

MCP 相关

该 MCP 服务将 PBS API 查询能力作为工具提供给 MCP 客户端,并返回结构化的药品相关数据。支持 stdio 和 HTTP/SSE 传输。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

澳大利亚药品福利计划(PBS)MCP AI 增强型 API 服务端 MCP Server

用于访问澳大利亚药品福利计划(PBS)API 的独立 Model Context Protocol(MCP)服务。

作者简介

此 PBS MCP 服务由 [Matthew Cage] 开发。他是 https://ai-advantage.au 的创始人,专长于自动化、AI 工程、AI 集成和医疗数据系统。

欢迎与我合作: https://www.linkedin.com/in/digitalmarketingstrategyexpert/

概述

此项目提供独立的 MCP 服务,允许 AI 模型访问澳大利亚药品福利计划(PBS)API,其中包含有关澳大利亚药品、价格和供应情况的信息。

此项目基于公共 API 构建,但如果你已获准访问开发者专用 API,也可以轻松将其改用该 API。

PBS API 提供对 PBS 数据的编程式访问,包括药品清单、价格和供应情况。此 MCP 服务可轻松将 PBS 数据集成到 AI 工作流中。

此 MCP 服务支持 HTTP 和命令行两种方式。

请注意 PBS 的速率限制,并相应调整请求频率。建议定期调用 API,存储所需信息,并每周更新一次。

MCP 服务功能 MCP Server

此 MCP 服务实现了以下 Model Context Protocol 功能:

  • 工具:提供用于查询 PBS API 端点的工具,让 AI 模型能够访问药品数据
  • 传输层:支持 stdio 和 HTTP/SSE 传输层
  • 错误处理:全面处理 API 速率限制和身份验证问题
  • 大模型集成:直接接收来自大模型组件的工具调用和提示词,实现与 PBS 数据的无缝 AI 交互
工作原理

MCP 客户端 MCP Client:

  1. 接收工具调用:当大模型(例如 Claude)需要药品数据时,会向此服务发送工具调用
  2. 处理提示词:解读有关药品信息的自然语言提示词
  3. 执行 API 查询:将请求转换为适当的 PBS API 调用
  4. 返回结构化数据:返回格式化的药品数据,供大模型在回复中使用

这样,AI 助手无需在训练数据中包含 PBS 信息,也能访问最新的 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/大模型服务
  • 其他支持 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 工具提供方
    • 助手会自动发现并使用此服务提供的工具
    • 大模型可以发送有关药物的自然语言提示词,由服务进行处理
  2. 对于自定义应用程序:

    • 使用下文所述的 HTTP API 端点
    • 连接到 SSE 端点以实时接收工具事件
    • 或启动服务进程并通过 stdin/stdout 通信
大模型提示词示例

服务可以解读大模型发送的各种提示词,例如:

"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 Server

以 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 秒只能请求一次。此限制由所有公共 API 用户共享。如需更高的频率限制或访问尚未公开的数据(未来的计划),你可能需要通过 PBS Developer Program 申请特殊访问权限。

限制

  • PBS Public API 的频率限制为每 20 秒只能请求一次(由所有用户共享)
  • 通过 Public API 只能访问当前计划以及过去 12 个月内发布的计划
  • 某些端点需要提供特定参数
  • API 的结构和端点可能会随时间变化

其他资源

许可证

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


MCP 服务 MCP 客户端 MCP 开发 已启用 MCP ❤️

评论

支持 Markdown

第一次接触 MCP?

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

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