- Home
- MCP servers
- Medical
Medical
- typescript
3
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You run a medical Model Context Protocol (MCP) server that aggregates data from FDA, WHO, PubMed, RxNorm, Google Scholar, and Australia’s PBS public API. It exposes 22 medical tools to let you search drugs, explore health statistics, retrieve literature, access drug nomenclature, and query PBS data. Use a compatible MCP client to send requests and receive structured results that combine authoritative sources for medical information and decision support.
How to use
Connect your MCP client to the server endpoint and use any of the 22 medical tools to retrieve information. You can search FDA drug data, obtain drug details by NDC, fetch WHO health statistics, discover indicators, pull PubMed articles, search Google Scholar, look up RxNorm nomenclature, and access a wide range of PBS items and schedules. Each tool returns both human‑readable output and structured data to support downstream processing. Use the tools to build medical dashboards, optimize formulary workflows, or support clinical research with consolidated, authoritative sources.
For stable operation, run the server with a supported transport (Streamable HTTP) and leverage automatic session management. Enable security features like DNS rebinding protection in production and configure any optional keys (for Google Scholar SERPAPI or PBS access) as environment variables on your host. Start and stop sessions through the MCP client, which will manage requests, responses, and lifecycle events.
How to install
Prerequisites you need before starting: Node.js installed on your system, and a compatible MCP client to consume the server.
Step 1: Clone the project and enter the directory.
Step 2: Install dependencies.
Step 3: Build the project.
Step 4: Configure environment variables as needed for your deployment (PBS base, API keys, default country, etc.).
Configuration and runtime notes
The server supports both an HTTP endpoint and a local stdio transport for running the MCP server. The HTTP endpoint is the default method for remote clients, while the stdio transport runs as a local process and is started directly by the client.
HTTP endpoint example is provided for connecting clients. The server URL is ready to use once the server is running on your host.
If you prefer a local stdio setup, you can start the server with a command that runs the built JavaScript entry point. This is useful for embedded deployments or when you want to manage the process entirely from a client side.
Examples and end-to-end flow
Use an MCP client to issue tool requests in JSON-RPC format. Each request specifies the tool name and arguments. The server responds with structured data and human-readable text, suitable for UI presentation or programmatic consumption.
Typical workflows include querying drug information from FDA, retrieving PBS schedules and item details, and cross-referencing health indicators from WHO to support clinical or formulary decisions.
Troubleshooting and notes
If you encounter timeouts, adjust MCP_REQUEST_TIMEOUT and network timeout settings. If you see DNS rebinding warnings in production, ensure DNS protection is enabled and the ALLOWED_ORIGINS policy matches your deployment.
Check that PBS API base URLs and keys are correctly configured in your environment when you need PBS data. Review rate limits and caching policies to avoid excessive requests to PBS endpoints.
Code examples to connect and run (config snippets)
{
"mcpServers": {
"medical_mcp_http": {
"type": "http",
"url": "http://127.0.0.1:3200/mcp",
"args": []
}
}
}
{
"mcpServers": {
"medical_mcp_stdio": {
"type": "stdio",
"command": "node",
"args": ["/path/to/medical-mcp/build/index.js"],
"env": {
"PBS_API_BASE": "https://data-api.health.gov.au/pbs/api/v3",
"PBS_SUBSCRIPTION_KEY": "YOUR_PBS_KEY_HERE",
"DEFAULT_COUNTRY_ISO3": "AUS"
}
}
}
}
Notes on security and environment
Environment variables control critical features such as PBS access, default geographic scope for WHO queries, and optional SERPAPI usage for Google Scholar. Set these in your deployment environment to tailor the server to your needs.
Available tools
search-drugs
Query FDA drug database with input validation and return of basic drug information such as brand name, generic name, manufacturer, route, dosage form, and purpose.
get-drug-details
Retrieve comprehensive drug information by National Drug Code (NDC), including warnings and interactions.
get-health-statistics
Fetch WHO Global Health Observatory indicators with optional country filtering and result limits.
list-who-indicators
Discover available health indicators from the WHO data catalog.
search-medical-literature
Query PubMed for medical research articles with result metadata like titles, PMIDs, journals, and publication dates.
search-google-scholar
Search Google Scholar for academic papers with titles, authors, abstracts, journals, years, and URLs (web scraping with optional SerpAPI fallback).
search-drug-nomenclature
Query RxNorm to obtain standardized drug names, RxCUI codes, synonyms, and term types.
pbs-list-schedules
List PBS schedules with optional latest-only filter and limits.
pbs-get-item
Fetch PBS item details by PBS item code and optional schedule code.
pbs-search-item-overview
Search PBS item overview using a filter expression and return concise summaries.
pbs-search
Query PBS public API endpoints with various filters for schedules, items, item-overview, organisations, and fees.
pbs-get-fees-for-item
Retrieve PBS dispensing fees for a given item by PBS code and optional schedule.
pbs-list-dispensing-rules
List dispensing rules applicable to PBS items.
pbs-get-organisation-for-item
Get manufacturer or responsible party information for a PBS item.
pbs-get-copayments
Fetch PBS copayment information for items.
pbs-get-restrictions-for-item
Provide detailed item restrictions for PBS items.
pbs-get-schedule-effective-date
Obtain the effective date for a PBS schedule.
pbs-list-programs
List PBS programs available in the public API.
pbs-get-item-restrictions
Return composite item restrictions for PBS items.