PBS MCP AI Enabled API Server

PBS MCP AI Enabled API Server

一个独立的模型上下文协议服务器,使人工智能模型能够访问澳大利亚药物福利计划 (PBS) API 数据,包括药物清单、定价和可用性信息。

数据库交互
AI集成系统
访问服务器

README

药物福利计划 (PBS) MCP AI 赋能 API 服务器 MCP Server

一个独立的模型上下文协议 (MCP) 服务器,用于访问澳大利亚药物福利计划 (PBS) API。

关于作者

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

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

概述

该项目提供了一个独立的 MCP 服务器,允许 AI 模型访问澳大利亚药物福利计划 (PBS) API,其中包含有关澳大利亚药物、定价和可用性的信息。

该项目是为公共 API 构建的,但如果您已获得开发者访问权限,则可以轻松地适应私有 API。

PBS API 提供对 PBS 数据的编程访问,包括药物清单、定价和可用性。 此 MCP 服务器可以轻松地将 PBS 数据集成到 AI 工作流程中。

MCP 可通过 HTTP 和 CLI 访问。

请注意 PBS 的速率限制,并调整您的请求频率。 我建议定期调用以存储您需要从 API 获取的信息,并每周更新一次。

MCP 服务器功能 MCP Server

此 MCP 服务器实现了以下模型上下文协议功能:

  • 工具: 提供用于查询 PBS API 端点的工具,允许 AI 模型访问药物数据
  • 传输层: 支持 stdio 和 HTTP/SSE 传输层
  • 错误处理: 针对 API 速率限制和身份验证问题的全面错误处理
  • LLM 集成: 直接从 LLM 组件接收工具调用和提示,从而实现 AI 与 PBS 数据的无缝交互

工作原理

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 模式

此模式启动一个支持服务器发送事件 (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 服务器
  • 其他支持模型上下文协议的 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 端点以获取实时工具事件
    • 或生成服务器进程并通过 stdin/stdout 进行通信

LLM 提示示例

服务器可以解释来自 LLM 的各种提示,例如:

"查找有关 PBS 中二甲双胍的信息"
"胰岛素的 PBS 代码是什么?"
"列出所有可以开抗生素的处方者"
"获取哮喘药物的最新定价"

这些自然语言提示被转换为适当的 PBS API 调用。

API 工具参数

PBS API 工具可以与以下参数一起使用:

{
  "endpoint": "prescribers",
  "method": "GET",
  "params": {
    "get_latest_schedule_only": "true",
    "limit": "20"
  }
}

参数

  • endpoint (string, required): 要访问的特定 PBS API 端点(例如,“prescribers”、“item-overview”)
  • method (string, optional): 要使用的 HTTP 方法(建议对大多数 PBS API 操作使用 GET)。 默认值:“GET”
  • params (object, optional): 要包含在请求中的查询参数
  • subscriptionKey (string, optional): 自定义订阅密钥。 如果未提供,将使用默认公钥
  • timeout (number, optional): 请求超时(以毫秒为单位)。 默认值: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 开发者门户上注册来获取自己的密钥。

对于开发目的,请参阅 .env.example 文件以获取配置详细信息。

获取 PBS API 订阅密钥

要获取您自己的 PBS API 订阅密钥,请按照以下步骤操作:

  1. 访问 PBS 数据 API 门户:

  2. 创建帐户:

    • 单击“注册”以创建一个新帐户
    • 填写您的详细信息并验证您的电子邮件地址
  3. 订阅 PBS API:

    • 登录后,导航到“产品”部分
    • 选择“PBS Public API v3”产品
    • 单击“订阅”以请求访问 API
  4. 检索您的订阅密钥:

    • 您的订阅获得批准后,转到您的个人资料
    • 导航到“订阅”或“API 密钥”部分
    • 复制您的主密钥或辅助密钥
  5. 配置您的环境:

    • 基于 .env.example 模板创建一个 .env 文件
    • your-subscription-key-here 替换为您实际的订阅密钥:
      PBS_API_SUBSCRIPTION_KEY=your-actual-subscription-key
      

注意: PBS Public API 的速率限制为每 20 秒一个请求。 此限制在公共 API 的所有用户之间共享。 对于更高的速率限制或访问禁运数据(未来计划),您可能需要通过 PBS 开发者计划申请特殊访问权限。

局限性

  • PBS Public API 的速率限制为每 20 秒一个请求(在所有用户之间共享)
  • 只有当前计划和过去 12 个月内发布的计划才能通过 Public API 获得
  • 某些端点需要提供特定参数
  • API 结构和端点可能会随着时间的推移而更改

附加资源

许可证

此项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。


MCP Server MCP Client MCP Dev MCP Enabled ❤️

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
https://github.com/Streen9/react-mcp

https://github.com/Streen9/react-mcp

react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

精选
本地
MCP Atlassian

MCP Atlassian

适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

精选
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选