Formulary MCP Server
Provides unified access to drug formulary data from US ACA marketplace health insurance plans, enabling drug search, coverage details, restriction info, and plan comparison across thousands of plans.
README
Unofficial US Commercial Insurance Formulary MCP Server
Model Context Protocol (MCP) server providing unified access to drug formulary data from US ACA marketplace health insurance plans.
Features
- Unified drug search across ~15,000 plans from ~735 issuers
- Coverage details: tier levels, copays, coinsurance
- Restriction info: prior authorization, step therapy, quantity limits
- Plan comparison: compare drug coverage across plans
- State filtering: filter results by state
- Full-text search: fast drug name search with FTS5
Installation
cd formulary-mcp-server
npm install
Option 1: Download Pre-built Database
npm run download:db
Option 2: Build Database from Source
# Download issuer index from CMS
npm run download:index
# Download formulary files for all issuers
npm run download:files
# Build SQLite database
npm run build:db
Build and Run
npm run build
npm start
Usage
{
"mcpServers": {
"formulary": {
"command": "node",
"args": ["/path/to/formulary-mcp-server/build/index.js"]
}
}
}
Tool: formulary_info
Single unified tool with multiple methods:
Methods
| Method | Description | Required Params |
|---|---|---|
search_drug |
Search drugs by name | drug_name |
get_drug_details |
Get full drug info with coverage | rxnorm_id |
get_plan_formulary |
Get drugs covered by a plan | plan_id |
get_plan_details |
Get plan info and tier structure | plan_id |
compare_coverage |
Compare drug across plans | rxnorm_id |
search_plans |
Search plans by state/issuer | - |
get_restrictions |
Get PA/ST/QL requirements | rxnorm_id |
get_alternatives |
Find drugs in same tier | rxnorm_id, plan_id |
get_statistics |
Get database statistics | - |
Example Usage
Search for a drug:
{
"method": "search_drug",
"drug_name": "metformin",
"state": "CA",
"limit": 10
}
Get drug details:
{
"method": "get_drug_details",
"rxnorm_id": "860975",
"state": "CA"
}
Compare coverage:
{
"method": "compare_coverage",
"rxnorm_id": "860975",
"state": "TX",
"limit": 20
}
Get plan formulary:
{
"method": "get_plan_formulary",
"plan_id": "12345VA0010001",
"tier": "GENERIC"
}
Get restrictions:
{
"method": "get_restrictions",
"rxnorm_id": "860975",
"plan_id": "12345VA0010001"
}
Response Format
Drug Search Response
{
"method": "search_drug",
"query": "metformin",
"count": 5,
"results": [
{
"rxnorm_id": "860975",
"drug_name": "Metformin Hydrochloride 500 MG Oral Tablet",
"plan_count": 245,
"tiers": ["GENERIC", "PREFERRED-BRAND"]
}
]
}
Drug Details Response
{
"method": "get_drug_details",
"drug": {
"rxnorm_id": "860975",
"drug_name": "Metformin Hydrochloride 500 MG Oral Tablet"
},
"coverage_summary": {
"total_plans": 245,
"plans_with_pa": 12,
"plans_with_st": 5,
"plans_with_ql": 89
},
"coverage": [
{
"plan_id": "12345CA0010001",
"drug_tier": "GENERIC",
"prior_authorization": false,
"step_therapy": false,
"quantity_limit": true,
"marketing_name": "Blue Shield Gold",
"issuer_name": "Blue Shield of California",
"copay_amount": 10.00,
"coinsurance_rate": 0.20
}
]
}
Data Coverage
| Aspect | Coverage |
|---|---|
| Plans | ~5,500 ACA marketplace plans |
| Issuers | ~150 insurance companies |
| Drugs | ~13,000 unique medications |
| Templates | ~800 unique formulary templates |
| States | 15+ states |
| Data | Tier, PA, step therapy, quantity limits |
Data Source
Data is sourced from the CMS QHP (Qualified Health Plan) Provider & Formulary APIs:
- https://github.com/CMSgov/QHP-provider-formulary-APIs
- https://data.healthcare.gov/
Note: This covers ACA marketplace plans only. Employer-sponsored and Medicare Advantage plans are not included.
License
MIT
References
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.