PBS Chat MCP Server

PBS Chat MCP Server

Enables AI assistants to query the Australian Pharmaceutical Benefits Scheme (PBS) API for medicine pricing, prescriber information, schedules, and more.

Category
Visit Server

README

PBS Chat MCP Server

A Model Context Protocol (MCP) server for querying the Australian Pharmaceutical Benefits Scheme (PBS) API. This server allows AI assistants like Claude to access real-time PBS data including medicine pricing, prescriber information, schedules, and more.

Features

  • Query PBS items (medicines, pricing, forms, brands)
  • Search prescribers and prescribers by PBS code, type, schedule
  • Get item overviews with detailed pricing
  • Access schedules, ATC codes, organisations, restrictions, criteria
  • Get copayment, fee, markup band, program information
  • View summary of changes

Quick Start

1. Get a PBS API Subscription Key

  1. Visit PBS Data API Portal
  2. Sign up for an account
  3. Subscribe to "PBS Public API v3"
  4. Get your subscription key from the developer portal

2. Local Development

# Clone and install
git clone https://github.com/rakeshnirzari1/pbs-chat-mcp.git
cd pbs-chat-mcp
npm install

# Configure environment
cp .env.example .env
# Edit .env and add your PBS_API_SUBSCRIPTION_KEY

# Build and run
npm run build
npm start

3. Using with Claude Desktop (Local)

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "pbs-chat": {
      "command": "node",
      "args": ["/path/to/pbs-chat-mcp/dist/index.js"],
      "env": {
        "PBS_API_SUBSCRIPTION_KEY": "your-subscription-key-here"
      }
    }
  }
}

Remote Deployment (Render)

1. Push to GitHub

git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/rakeshnirzari1/pbs-chat-mcp.git
git push -u origin main

2. Deploy on Render

  1. Go to Render Dashboard
  2. Click "New" → "Web Service"
  3. Connect your GitHub repo rakeshnirzari1/pbs-chat-mcp
  4. Configure:
    • Name: pbs-chat-mcp
    • Build Command: npm install && npm run build
    • Start Command: npm start
    • Instance Type: Free (or Starter for better reliability)
  5. Add Environment Variable:
    • Key: PBS_API_SUBSCRIPTION_KEY
    • Value: your-pbs-subscription-key
  6. Deploy!

3. Use as Remote MCP in Claude

Once deployed, you'll get a URL like https://pbs-chat-mcp.onrender.com

In Claude Desktop config:

{
  "mcpServers": {
    "pbs-chat": {
      "command": "npx",
      "args": ["mcp-remote", "https://pbs-chat-mcp.onrender.com"],
      "env": {
        "PBS_API_SUBSCRIPTION_KEY": "your-subscription-key-here"
      }
    }
  }
}

Note: For remote MCP, you'll need the mcp-remote package. The server runs via stdio transport through the remote connection.

Available Tools

pbs_api

Query any PBS API endpoint.

Parameters:

  • endpoint (required): PBS API endpoint name
  • method: HTTP method (GET/POST, default: GET)
  • params: Query parameters object
  • subscriptionKey: Override default API key
  • timeout: Request timeout in ms (default: 30000)

Available Endpoints:

  • items - Medicine items with pricing, brands, forms
  • prescribers - Prescriber information
  • item-overview - Detailed item information
  • schedules - PBS schedules
  • atc-codes - Anatomical Therapeutic Chemical codes
  • organisations - Pharmaceutical organisations
  • restrictions - Prescribing restrictions
  • parameters - API parameters
  • criteria - Prescribing criteria
  • copayments - Patient copayment information
  • fees - Dispensing fees
  • markup-bands - Wholesale markup bands
  • programs - PBS programs
  • summary-of-changes - Schedule changes

Example Queries

// Search for metformin items
{
  "endpoint": "items",
  "params": {
    "drug_name": "metformin",
    "get_latest_schedule_only": "true",
    "limit": "20"
  }
}

// Get prescribers for a specific PBS code
{
  "endpoint": "prescribers",
  "params": {
    "pbs_code": "10001J",
    "get_latest_schedule_only": "true",
    "limit": "10"
  }
}

// Get item overview with pricing
{
  "endpoint": "item-overview",
  "params": {
    "get_latest_schedule_only": "true",
    "limit": "5"
  }
}

API Rate Limits

The PBS Public API has rate limits:

  • Public API: 1 request per 20 seconds (shared across all users)
  • Private API: Higher limits (requires special access)

Project Structure

pbs-chat-mcp/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── schemas.ts         # Zod schemas for validation
│   └── tools/
│       └── pbsApi.ts      # PBS API client & handler
├── dist/                  # Compiled output
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
└── README.md

License

MIT License - see LICENSE file for details.

Author

Rakesh Nirzari - GitHub

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured