MCP Server

Ask Claude for Medicare Part B pricing in plain language, instead of calling the API yourself.

Server URL
https://www.medpharmdata.com/mcp

Add it to claude.ai

  1. Open Settings → Connectors
  2. Click Add custom connector
  3. Enter https://www.medpharmdata.com/mcp
  4. Sign in to your MedPharmData account and approve the connection

No API key to paste. Access is tied to your own account, is read-only, and you can revoke it at any time. Team and Enterprise workspaces have an owner add the connector first, then members connect individually.

Add it to Claude Code

Claude Code uses an API key rather than signing in:

claude mcp add --transport http medpharmdata https://www.medpharmdata.com/mcp \
  --header "X-API-Key: $MPD_API_KEY"

Get a key from the API documentation — the same key works for both.

What Claude can do

ToolWhat it doesAsk it like…
search_hcpcs_codes Drug name to HCPCS code "what's the code for infliximab?"
get_payment_limit Payment limit and ASP, current or historical "what does Medicare pay for J1745?"
get_ndcs_for_hcpcs NDCs, labelers, package sizes and billing units "which NDCs bill under Q5102?"
list_quarters Which CMS quarters are loaded "how current is this data?"

All four are read-only. Nothing Claude does here can change your account or the data.

Reading the ASP through Claude

CMS publishes the payment limit, not the ASP. Every ASP figure is MedPharmData's estimate, and the tools say so with each number. If Claude summarises a figure without the caveat, ask it what basis was used.

  • Ordinary drugs — payment limit ÷ 1.06.
  • Biosimilars are different — the payment limit minus a percentage of the reference product's ASP. Dividing a biosimilar payment limit by 1.06 overstates the ASP by the whole add-on, so never do that arithmetic yourself.
  • Some codes have no ASP — vaccines, blood products and clotting factors are not priced on ASP. The tool returns nothing rather than a misleading number. Treat that as "unknown", not zero.

Technical details

ProtocolModel Context Protocol, Streamable HTTP transport
Endpointhttps://www.medpharmdata.com/mcp (POST)
AuthenticationOAuth 2.1 for claude.ai; API key as a bearer token for other clients
CapabilitiesTools only — no resources or prompts
AccessRead-only

More on the protocol itself at modelcontextprotocol.io.

If it does not connect

SymptomLikely cause
Asked to sign in repeatedly Approval did not complete — reconnect and finish the consent screen.
Connector added but no tools appear Remove and re-add it; the tool list is fetched once at connect time.
Claude Code returns 401 Key missing, revoked, or the header name is wrong. It is X-API-Key.
"Rate limit exceeded" 1000 requests per hour per key. Ask if you need more.

Source data is published by CMS. MedPharmData loads it and derives ASP as described above; we do not alter published payment limits. Questions or a key request: get in touch.