PBS Chat MCP Server
Enables AI assistants to query the Australian Pharmaceutical Benefits Scheme (PBS) API for medicine pricing, prescriber information, schedules, and more.
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
- Visit PBS Data API Portal
- Sign up for an account
- Subscribe to "PBS Public API v3"
- 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
- Go to Render Dashboard
- Click "New" → "Web Service"
- Connect your GitHub repo
rakeshnirzari1/pbs-chat-mcp - Configure:
- Name:
pbs-chat-mcp - Build Command:
npm install && npm run build - Start Command:
npm start - Instance Type: Free (or Starter for better reliability)
- Name:
- Add Environment Variable:
- Key:
PBS_API_SUBSCRIPTION_KEY - Value:
your-pbs-subscription-key
- Key:
- 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 namemethod: HTTP method (GET/POST, default: GET)params: Query parameters objectsubscriptionKey: Override default API keytimeout: Request timeout in ms (default: 30000)
Available Endpoints:
items- Medicine items with pricing, brands, formsprescribers- Prescriber informationitem-overview- Detailed item informationschedules- PBS schedulesatc-codes- Anatomical Therapeutic Chemical codesorganisations- Pharmaceutical organisationsrestrictions- Prescribing restrictionsparameters- API parameterscriteria- Prescribing criteriacopayments- Patient copayment informationfees- Dispensing feesmarkup-bands- Wholesale markup bandsprograms- PBS programssummary-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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.