mymedi-ai-mcp-server
Summary: This MCP server provides medical coding, DME/prior-auth and claims, drug, provider, and clinical/public-health data tools.
Look up, suggest, validate, cross-reference, and estimate Medicare reimbursement for ICD-10, CPT, and HCPCS codes.
Predict prior-authorization approval likelihood and check tracked PA status.
Validate claims pre-submission and extract medical entities from de-identified clinical text.
Audit documentation/compliance; README describes DMEPOS order documentation audit, while the provided schema describes HIPAA/PHI scanning.
Query OpenFDA drug labels/adverse events, drug-drug interaction signals, and RxNorm normalization.
Search/enrich NPI providers, check CMS Open Payments, and analyze specialty market data by state.
Search clinical trials and CDC disease surveillance data.
README also documents free DME tools, batch lookups, fee schedules, denial/modifier guidance, prompts, resources, and credit/account tools; the schema exposes 20 of the advertised 32 tools.
Enables payment processing for purchasing credit packages to use the healthcare AI tools, allowing users to buy credits for medical billing services through Stripe payment integration.
@mymedi-ai/mcp-server
MCP server for DME billing and medical coding. Connect Claude, Cursor, VS Code or any MCP client to 32 tools — code lookup across a database of 90K+ ICD-10-CM, CPT and HCPCS codes, DMEPOS fee schedules, Medicare prior-authorization and face-to-face list checks, denial-code guidance and pre-submission claim checks — plus five DME billing prompts and three dataset resources. Six tools work with no API key.
PHI-free by design: the tools take codes, modifiers, dates of service and de-identified text, never patient identifiers. Apart from drawing credits for paid calls, no tool changes anything except buy_credits, which opens a Stripe checkout session (nothing is charged until checkout is completed in the browser).
Claude (web or desktop) users: on Free, Pro and Max plans, open Customize → Connectors → + Add → Add custom connector, give it a name and the URL https://mymedi-ai.com/mcp-stream, then Add → Connect. On Team and Enterprise plans an Owner adds it once under Organization settings → Connectors → Add → Custom → Web, and members then Connect it from Customize → Connectors. The endpoint is OAuth-protected: Claude registers itself and asks you to sign in to MyMedi-AI once, and the first connector sign-in comes with free starter credits. There is no API key to copy.
Quick Start
Requires Node.js 20 or later.
Install
claude mcp add mymedi-ai --env MCP_API_KEY=your-api-key -- npx -y @mymedi-ai/mcp-serverLeave out --env MCP_API_KEY=… to start with the six free tools. Other clients are under Client setup.
Get an API key (for the paid tools)
Registration is a POST request, not a web page:
curl -X POST https://mymedi-ai.com/bot-marketplace/register \
-H "Content-Type: application/json" \
-d '{"name": "my-agent"}'
# → { "apiKey": "...", "credits": ..., "quickStart": { ... } }Set the returned apiKey as MCP_API_KEY. (MYMEDI_API_KEY, the name the registration response prints, is accepted too; MCP_API_KEY wins when both are set.) A new key comes with free starter credits; the buy_credits tool adds more.
Or try a free endpoint
curl "https://mymedi-ai.com/agent/v1/demo?code=99213"Returns basic code metadata, rate-limited to 60 requests per hour per IP.
Related MCP server: LiveDataLink
Free tools (no API key)
Install the server without MCP_API_KEY and these work immediately (60 requests per hour per IP):
Tool | What it does |
| Is a HCPCS code on the CMS Required Prior Authorization List (42 CFR 414.234) on a date of service; phased-in items by state |
| DME denial code (CARC) explainer — meaning, common causes, fixes, appealability |
| Basic code metadata — code, type, description, category, active status |
| Medicare national PFS payment and DMEPOS fee-schedule ranges (rental/purchase) |
| Blank DMEPOS pre-delivery checklist — SWO elements, F2F/WOPD, prior authorization (42 CFR 410.38) |
| DMEPOS billing-modifier guidance — KX/GA/GY/GZ, RR/NU/UE, capped-rental months, laterality |
The other 26 tools need an API key (or the connector sign-in): 24 are paid — per call, or per code for code_lookup_batch, code_validate_batch and pa_exposure_report — and account_status and buy_credits are free but need the key to identify the account.
Client setup
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"mymedi-ai": {
"command": "npx",
"args": ["-y", "@mymedi-ai/mcp-server"],
"env": {
"MCP_API_KEY": "your-api-key"
}
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"mymedi-ai": {
"command": "npx",
"args": ["-y", "@mymedi-ai/mcp-server"],
"env": { "MCP_API_KEY": "your-api-key" }
}
}
}VS Code
Add to .vscode/mcp.json:
{
"servers": {
"mymedi-ai": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@mymedi-ai/mcp-server"],
"env": { "MCP_API_KEY": "your-api-key" }
}
}
}Claude Code
claude mcp add mymedi-ai --env MCP_API_KEY=your-api-key -- npx -y @mymedi-ai/mcp-serverTools (32)
Free (no API key)
Tool | Description | Price |
| Medicare DMEPOS prior-auth required check (42 CFR 414.234) | free |
| DME denial code (CARC) explainer | free |
| Basic code metadata lookup | free |
| Medicare national PFS payment + DMEPOS fee-schedule ranges | free |
| Blank DMEPOS pre-delivery checklist (SWO, F2F/WOPD, PA) | free |
| DMEPOS billing-modifier guidance (KX/GA/GY/GZ, RR/NU/UE, laterality) | free |
Account (free — uses your sign-in or API key)
Tool | Description | Price |
| Credit balance, usage and recent transactions | free |
| Returns a Stripe checkout link to add credits; charges nothing by itself | free |
Medical coding
Tool | Description | Price |
| Look up an ICD-10, CPT or HCPCS code; labeled DMEPOS fee schedule, optional state | $0.001 |
| Up to 25 codes per call, per-item results; refunded when every code misses | $0.001/code |
| Code suggestions from a clinical description (term search, coverage ranking; refunded on no match) | $0.01 |
| Is a code valid and active, optionally on a date of service | $0.005 |
| Up to 25 codes per call, per-item results | $0.005/code |
| Related codes across ICD-10, CPT and HCPCS | $0.02 |
| Medicare PFS rates: RVUs and estimated payment | $0.01 |
| DMEPOS fee schedule — rental/purchase, rural/non-rural, by state | $0.01 |
Prior auth and claims
Tool | Description | Price |
| Prior-auth approval rate from your organization's own decided PAs (10 or more), else the CMS list facts, refunded — never a made-up probability | $0.05 |
| Status of a PA tracked in your MyMedi-AI web workspace (does not query payers) | $0.02 |
| Map up to 100 HCPCS codes against the CMS PA and F2F/WOPD lists on a date of service, with documentation gates and denial-risk flags; pass a state for items phased in by state | $0.01/code |
| Pre-submission check of a claim's codes and date of service; does not assess medical necessity or prior authorization | $0.05 |
| ICD-10-CM, HCPCS Level II (with modifiers) and keyword-marked CPT codes found in de-identified text, each checked against the code sets, plus M/D/Y dates and a dose-unit flag; no drug names | $0.02 |
| Audit of one DMEPOS order's documentation (SWO elements, F2F/WOPD, prior authorization) for its HCPCS code and date of service, from true/false facts — never identifiers; pass or fail per requirement with its citation, and a result that fails when any requirement fails | $0.25 |
Drug data
Tool | Description | Price |
| OpenFDA drug label and adverse-event data | $0.01 |
| FAERS reports naming the drugs together, with a proportional reporting ratio (PRR) and 95% interval per reaction against each drug alone — statistical associations, not evidence of an interaction | $0.03 |
| Normalize a drug name with NIH RxNorm (RxCUI, term type) | $0.02 |
| First matching openFDA drug label plus a labelled LLM summary (class and the indications the label states); no treatment advice, no interaction check and no prior-auth, coverage or cost determination | $0.03 |
Providers and market
Tool | Description | Price |
| NPI registry (NPPES) search by name, specialty or location | $0.005 |
| NPPES record for an NPI plus a labelled LLM estimate of specialty demand, network gaps and referral categories | $0.05 |
| Industry payments to a physician (CMS Open Payments) | $0.02 |
| NPPES provider count for a specialty and state (a floor; one query returns at most 200) plus a labelled LLM estimate of demand and opportunities | $0.10 |
Clinical and public health
Tool | Description | Price |
| Clinical trials (ClinicalTrials.gov) | $0.03 |
| Notifiable-disease case counts (CDC NNDSS) | $0.02 |
Prompts
Prompt | Arguments | What it does |
|
| Decodes the denial with |
|
| Assembles the blank pre-delivery paperwork checklist with |
|
| Checks codes and date of service with |
|
| Decodes the denial and outlines a redetermination letter with the documents to attach |
|
| Pulls |
Resources
Resource | URI | Contents |
PA Required List |
| CMS Required Prior Authorization List (42 CFR 414.234) with categories and nationwide-since dates |
F2F + WOPD List |
| CMS face-to-face / written-order-prior-to-delivery list (42 CFR 410.38(d)) plus the standard written order elements |
Platform overview |
| What MyMedi-AI is, the tool catalog, pricing and integration paths (read from the public site; a short summary if it cannot be reached) |
Credits and billing
The per-tool price list is published as JSON at
https://mymedi-ai.com/bot-marketplace/credits/pricing.1 credit = $0.001. Paid tools cost from 1 credit (
code_lookup) to 250 credits (compliance_audit) per call;code_lookup_batch,code_validate_batchandpa_exposure_reportare priced per code. A failed call is refunded.Each successful paid call's result includes a
_billingfield:{ "creditsSpent": …, "creditsRemaining": …, "priceUSD": … }. (Over plain REST, without MCP, the same figures arrive asX-Credits-Spent/X-Credits-Remainingheaders.)account_statusshows the balance and recent transactions.buy_creditsreturns a Stripe checkout link — $1 buys 1,000 credits, packages run from $1 to $500 — and the credits arrive once checkout is completed.
Environment variables
Variable | Description | Default |
| API key from registration; omit it to use only the free tools | — |
| Accepted alias of | — |
| API base URL |
|
| Shared-egress rate-limit token for hosted multi-user deployments (not needed for individual installs) | — |
|
| — |
| Address the HTTP mode listens on |
|
| Port the HTTP mode listens on |
|
| Bearer token clients must send to the HTTP mode; required when | — |
| Hostnames or addresses clients use to reach the HTTP mode (comma-separated); with | — |
| Browser origins allowed to call the HTTP mode (comma-separated, e.g. | none |
| Most open HTTP sessions |
|
| An HTTP session unused this long is closed |
|
HTTP mode (--http)
The same server can run over Streamable HTTP for clients that connect by URL:
MCP_API_KEY=your-api-key npx -y @mymedi-ai/mcp-server --http
# MCP HTTP server listening on http://127.0.0.1:8080/mcpEvery call through it spends the key in MCP_API_KEY, so the endpoint is guarded:
Loopback by default. It listens on 127.0.0.1 unless
MCP_HOSTsays otherwise.A token off loopback. With a non-loopback
MCP_HOST(such as0.0.0.0) the server refuses to start unlessMCP_HTTP_TOKENis set — at least 32 characters, for exampleopenssl rand -hex 32. Clients then sendAuthorization: Bearer <token>; anything else gets 401. A token can be set on loopback too.Host check. A request must name the server as
localhost,127.0.0.1,[::1], theMCP_HOSTaddress, or a hostname or address inMCP_ALLOWED_HOSTS; any otherHostgets 403. This stops DNS-rebinding pages. WithMCP_HOST=0.0.0.0the server has no address of its own to match, so list every address clients use — the LAN IP, the Docker host's IP, a DNS name — inMCP_ALLOWED_HOSTS.Origin check. A request from a web page (it carries an
Originheader) gets 403 unless that origin is inMCP_ALLOWED_ORIGINS, and only listed origins receive CORS headers. Desktop clients send noOriginand are unaffected.Limits. Bodies over 1 MiB get 413, a body that is not JSON gets a JSON-RPC parse error, sessions are capped (
MCP_MAX_SESSIONS) and closed afterMCP_SESSION_IDLE_MSwithout use, and an unknown session id gets 404 so the client starts a new session.
Serving other machines:
MCP_HOST=0.0.0.0 MCP_HTTP_TOKEN="$(openssl rand -hex 32)" MCP_ALLOWED_HOSTS=mcp.example.com,192.168.1.20 \
MCP_API_KEY=your-api-key npx -y @mymedi-ai/mcp-server --httpPut TLS (a reverse proxy) in front of it when traffic leaves the machine: the token travels in a header.
Changes in 1.7.10
No configuration changes. Every tool repeats its title in annotations.title, where the Claude Connectors Directory reads it. provider_search (taxonomy) and market_analysis (specialty) describe the specialty they take as an NPPES (NUCC) taxonomy description, such as "Pulmonary Disease" or "Orthopaedic Surgery", where a trailing * matches a prefix; the API refuses a specialty NPPES cannot match (a 400, at no cost) instead of reporting zero providers.
Changes in 1.7.9
No configuration changes. Tool descriptions say what each tool returns and when it applies; none instructs the model or names another tool. drug_enrich and pa_predict describe what the API now returns: the drug_enrich summary restates the label (the therapeutic class and the indications it lists) and no longer names alternative therapies or adds clinical notes, so the tool gives no treatment advice; the pa_predict recommendation states the CMS requirement, whatever the approval rate. Neither makes a coverage or prior-authorization determination.
Changes in 1.7.8
No configuration changes, but update to use compliance_audit: it now takes an order, and the API refuses the free-form payload that 1.7.7 and earlier send (a 400, at no cost).
Three paid tools now do what their descriptions say. compliance_audit audits one DMEPOS order's documentation — the standard written order elements, the face-to-face encounter and written order before delivery, and prior authorization — for the order's HCPCS code and date of service (now required), from true/false facts that never carry identifiers; each requirement comes back pass or fail with its citation, and the result fails when one does. It no longer runs the identifier pattern checks it used to; auditType is optional and takes only dme_order. drug_interactions returns the number of FAERS reports naming the drugs together and, for each reaction, a proportional reporting ratio with a 95% interval against each drug alone, in place of a grade by report volume; drug names are normalized to what openFDA can search (accents, curly apostrophes, ® and ™, "+" and "&", and strengths such as 0.5% or 1:100,000), and a name with fewer than two letters or digits, or with quotes or other symbols, is refused. ner_extract reads whole ICD-10-CM codes (with extensions), HCPCS Level II codes with their modifiers, and CPT codes only where a keyword marks them, each checked against the code sets; entityTypes adds HCPCS_CODE.
The code tools rank and date their answers. code_suggest ranks by relevance: it reads common abbreviations and alternate forms (CPAP, OSA, COPD, IG for immune globulin, type 2) and a typed side, sex or "without", lists the best code for each separate thing a description names first, and leaves weak matches out instead of padding the list. code_crossref returns curated linkedCodes (the DME code family, and links across code systems that cite their CMS source) and crossReferences ranked by relevanceScore, weak matches left out; an answer with no related codes is refunded. code_validate and code_validate_batch take dateOfService (or date_of_service) at the top level as well as in context, refuse a date that is not YYYY-MM-DD or two dates that differ, and report asOf, the date a code was judged for. claims_validate states what it checks — codes active on the date of service, well-formed modifiers, a date not in the future — and that it applies no NCCI edits.
Changes in 1.7.7
No configuration changes. Tool descriptions now match what the API returns: drug_enrich lists the label fields and the labelled LLM summary it returns, and says a failed call is refunded (the API no longer returns a model-made prior-auth likelihood or cost tier); pa_predict says its approval rate comes only from your organization's own decided prior authorizations and that payerId is a payer category; ner_extract names the patterns it matches (it extracts no drug names), and its entityTypes filter now applies; code_suggest takes up to 500 characters (the search never read more; longer text is now refused instead of silently cut); data sources are named without licence claims. The support address is info@mymedi-ai.com.
Upgrading to 1.7.6
Breaking for remote --http deployments only. Up to 1.7.5 the HTTP mode listened on every interface, served any caller without a token and sent Access-Control-Allow-Origin: *. From 1.7.6 it listens on 127.0.0.1; to serve other machines set MCP_HOST, MCP_HTTP_TOKEN (required off loopback) and MCP_ALLOWED_HOSTS with every hostname or address clients use (with MCP_HOST=0.0.0.0 that includes LAN and Docker-host IPs); browser-based clients also need MCP_ALLOWED_ORIGINS. An unknown session id now gets 404 instead of 400. stdio installs (Claude Desktop, Cursor, VS Code, Claude Code) are unaffected.
1.7.6 also requires Node.js 20 or later (Node 18 is past end of life, and the SDK's dependencies need 20). Also in 1.7.6: the server sends its instructions at initialize; scrub-claim takes an optional dateOfService and no longer asks about medical necessity; MYMEDI_API_KEY is accepted as an alias of MCP_API_KEY; and a paid call without a key explains how to register.
SDK
For programmatic use without MCP, install the SDK:
npm install @mymedi-ai/sdkimport { MyMediAI } from '@mymedi-ai/sdk';
const client = new MyMediAI({ apiKey: 'your-api-key' });
const result = await client.codeLookup('M79.3');Data sources
ICD-10-CM and HCPCS Level II: CMS and CDC code sets
CPT®: from the CMS physician fee schedule (RVU) files. CPT® is a registered trademark of the American Medical Association (AMA); CPT codes and descriptions are AMA copyright.
Fee schedules and lists: CMS DMEPOS fee schedule, Medicare physician fee schedule (RVU), the Required Prior Authorization List and the F2F/WOPD list
Providers: CMS NPI registry (NPPES) and CMS Open Payments
Drugs: openFDA (labels, adverse events) and NIH RxNorm
Clinical and public health: ClinicalTrials.gov and CDC NNDSS
Troubleshooting
402 "payment_required" — without an API key, a paid tool answers with the registration request to send (see Get an API key); with a key, it means the credits ran out: call
buy_credits. The six free tools never need a key."invalid_api_key" — the key in
MCP_API_KEY(orMYMEDI_API_KEY) was not recognised: check it for a typo or a missing part and restart the server, or register a new key.429 on free tools — free endpoints allow 60 requests per hour per IP. Wait, or use a key and the paid equivalents.
Connector won't connect — the hosted endpoint is
https://mymedi-ai.com/mcp-stream(Streamable HTTP) and it is OAuth-protected. An unauthenticated request returns{"error":"unauthorized","error_description":"OAuth required"}— that is the endpoint working, not a fault, and a bareinspector --cli … --method tools/listshows it because it holds no token. To confirm the service is up, read the discovery document:curl -s https://mymedi-ai.com/.well-known/oauth-protected-resourcenames.../mcp-streamas the protected resource. Claude performs dynamic client registration and the sign-in itself.--httpanswers 401, 403 or refuses to start — see HTTP mode: send the bearer token, add the hostname toMCP_ALLOWED_HOSTSor the web origin toMCP_ALLOWED_ORIGINS, and setMCP_HTTP_TOKENbefore listening off loopback.Code not found — lookups expect bare codes (
E1390,99213,M79.3). Denial codes acceptCO-50,co50or50.Data currency — reference data follows CMS release cycles; prior-authorization and F2F/WOPD answers carry the list version they were checked against.
Still stuck? Email info@mymedi-ai.com or open an issue at https://github.com/MyMedi-AI/mymedi-ai-mcp-server/issues.
Links
API key registration:
POST https://mymedi-ai.com/bot-marketplace/register(a request, not a page)Hosted connector:
https://mymedi-ai.com/mcp-stream
License
MIT
Available Tools
32 toolsaccount_statusAccount status — credit balance and usage (free)ARead-onlyIdempotentInspect
Check your MyMedi-AI account: current credit balance, USD equivalent, transaction count, recent transactions, and last activity. Free — never bills credits. Uses your connector sign-in (or X-API-Key when self-hosted).
Inputs: no named parameters.
buy_creditsBuy credits — get a Stripe checkout linkAInspect
Top up your MyMedi-AI credits. Creates a Stripe Checkout session and returns a checkoutUrl for you to open and complete payment in the browser — calling this tool charges nothing by itself. It takes an amount (USD, min $1 = 1,000 credits) or a package (starter $1, basic $5, standard $25, professional $100, enterprise $500). 1 credit = $0.001; credits are added automatically after checkout.
Inputs: amount, package.
claims_validatePre-submission claim code and date checkARead-onlyInspect
Pre-submission check of a claim's codes and dates — no patient or provider identifiers needed or accepted. Checks that the diagnosis (ICD-10-CM) and procedure (CPT/HCPCS Level II) codes exist and are active on the date of service, that modifiers are well-formed, and that the date of service is not in the future; returns whether the claim passed, with the errors and warnings found. A CPT code missing from the loaded CMS fee schedule file, or a modifier this reference does not list for DMEPOS, is a warning, not an error. Up to 25 diagnosis codes, 50 procedure codes and 20 modifiers per claim. It applies no NCCI edits — neither procedure-to-procedure (PTP) pairs nor MUE unit limits — and does not assess medical necessity or prior authorization.
Inputs: claim (required).
code_crossrefMedical code cross-reference (ICD-10 / CPT / HCPCS)ARead-onlyInspect
Related codes for an ICD-10-CM, CPT or HCPCS Level II code, across the three code systems. linkedCodes are curated: the DME code family (base item, accessories and supplies) and links across code systems that cite their CMS source — obstructive sleep apnea (G47.33) with the PAP devices CMS LCD L33718 covers and the sleep tests NCD 240.4.1 covers. crossReferences are other active codes whose descriptions best match this one, grouped by code system (up to 5 each) with a relevanceScore (0-1); weaker matches are left out, so a group can be empty, and a code with no related codes at all is refunded. Source: the MyMedi-AI code database (ICD-10-CM, CPT and HCPCS Level II code sets).
Inputs: code (required).
code_lookupMedical code lookup (ICD-10 / CPT / HCPCS)ARead-onlyInspect
Look up a medical code (ICD-10, CPT, HCPCS). Returns description, category, active status, and related codes. For DMEPOS (HCPCS) codes it also returns a labeled fee schedule: per-modifier (RR/NU/UE) national min–max ranges, or — when a state is given — that state's exact non-rural and rural rates. Source: the current CMS DMEPOS fee schedule quarter.
Inputs: code (required), state, codeType.
code_lookup_basicBasic medical code lookup (free)ARead-onlyIdempotentInspect
Look up basic metadata for a medical code: code, codeType, description, category, isActive. Basic metadata only. Free, no API key required.
Inputs: code (required).
code_lookup_batchBatch medical code lookup (up to 25 codes)ARead-onlyInspect
Look up a list of medical codes (ICD-10, CPT, HCPCS) in one call. Each item returns what a single lookup does (description, category, active status, related codes, DMEPOS fee schedule with optional state filter). Priced per code — $0.001 × number of codes, max 25 per call; the full charge is refunded automatically when every code misses.
Inputs: codes (required), state, codeType.
code_reimbursementMedicare reimbursement rates (CMS PFS + OPPS)BRead-onlyInspect
Look up Medicare reimbursement rates for a medical code. Returns RVU values and estimated payment amounts using the PFS conversion factor. Source: the current Medicare PFS (CMS RVU files).
Inputs: code (required), codeType.
code_suggestMedical code suggestions from clinical textARead-onlyInspect
Suggest ICD-10-CM, CPT and HCPCS Level II codes from a clinical or equipment description — a term search over the 90K-code CMS database, no language model. Works with natural sentences ("patient with obstructive sleep apnea prescribed CPAP" lists G47.33 and E0601 first), common abbreviations and alternate forms (CPAP, OSA, COPD, IG for immune globulin, type 2), and a typed side, sex or "without". Ranked by relevance (relevanceScore 0-1: how much of the description a code matches, and how closely), with two exceptions: the best code for each separate thing a description names (a diagnosis and a device) comes first, so the list is grouped rather than strictly sorted by relevanceScore; and a bare common condition ("hypertension") lists its ICD-10-CM default code first. Weak matches are left out rather than listed. Up to 500 characters, of which up to 10 distinct terms are searched, common words left out. Automatically refunds the call when nothing matches.
Inputs: description (required), limit, codeType.
code_validateMedical code validationARead-onlyInspect
Check that an ICD-10-CM, CPT or HCPCS Level II code exists and is valid on a date of service: termination and effective dates are applied, so a code deleted after that date still validates. dateOfService is YYYY-MM-DD (default today); asOf in the result is the date the code was judged for. Returns valid, active, warnings and errors.
Inputs: code (required), context, codeType, dateOfService, +1 more.
code_validate_batchBatch medical code validation (up to 25 codes)ARead-onlyInspect
Validate up to 25 medical codes in one call, each judged as in a single validation: exists, and is valid on the date of service (dateOfService, YYYY-MM-DD, applied to every code; default today). Each item returns valid, active, asOf, warnings, errors and codeDetails. Priced per code — $0.005 × number of codes, max 25 per call. An invalid code is a billable answer (valid:false).
Inputs: codes (required), context, codeType, dateOfService, +1 more.
compliance_auditDMEPOS order documentation audit (SWO, F2F/WOPD, prior auth)ARead-onlyInspect
Audit one DMEPOS order's documentation against the Original Medicare requirements that apply to its HCPCS code on the date of service: the standard written order (SWO) elements (42 CFR 410.38(d)(1)(i)); for items on the current CMS Required Face-to-Face Encounter & Written Order Prior to Delivery List, a face-to-face encounter within the 6 months before the order and the written order before delivery, otherwise the written order before the claim; and for items on the current CMS Required Prior Authorization List, an affirmed decision before delivery. Some items are phased in by state: without a state such an order is refused (refunded) unless an affirmed decision is reported. A code the HCPCS set does not hold, one not valid on the date of service, or one the CMS DMEPOS Jurisdiction List bills to the A/B MAC (Part B) rather than a DME MAC, or a discontinued code that list does not show, is refused (refunded); for a code under joint jurisdiction the answer gives CMS's wording of when the A/B MAC takes it. Each fact is a true/false flag; no names, identifiers, signatures or other values are taken. Each requirement comes back pass or fail with its citation; a fact not reported fails, and any failed requirement fails the order (result: fail). It checks the facts reported, not the documents themselves. Not checked: LCD coverage criteria and medical-necessity documentation, proof of delivery and billing modifiers. Costs 250 credits per call.
Inputs: data (required), auditType.
denial_code_infoDME denial code explainer (free)ARead-onlyIdempotentInspect
Explain a DME claim denial code (CARC). Returns title, meaning, common DME causes, fixes, appealability, and related codes. Free, no API key required.
Inputs: code (required).
disease_surveillanceDisease surveillance case counts (CDC NNDSS)ARead-onlyInspect
Look up disease surveillance data including case counts and trends by condition and geography. Source: CDC National Notifiable Diseases Surveillance System (NNDSS) weekly data on data.cdc.gov.
Inputs: code, state, condition.
drug_enrichDrug label data with an LLM summary (openFDA)ARead-onlyInspect
Look up a drug by brand or generic name in openFDA and return its first matching FDA label: brand and generic name, manufacturer, NDCs, route, substance, product type, and the label's indications, warnings, dosage and administration, adverse reactions and drug-interactions sections (null when the label has no such section). Adds an LLM-generated summary, labelled as such: the therapeutic class and the indications the label states. It gives no treatment advice, does not check interactions between drugs, and makes no prior-authorization, coverage or cost determination. A failed call (drug not found, openFDA or the model unavailable) is refunded.
Inputs: drugName (required), searchField.
drug_interactionsDrug-combination adverse-event disproportionality (FDA FAERS)ARead-onlyInspect
Adverse event reports that name drugs together: coReportCount, the number of FAERS reports naming every listed drug; the reactions most often named in them; and for each reaction a proportional reporting ratio (PRR) with a 95% confidence interval against the reports of each drug without the others. A reaction is marked disproportionate when it has at least 3 co-reports and the lower bound exceeds 1 against every drug (null when a comparison cannot be computed). Drugs are matched by the product name as reported: a brand name such as Coumadin is not merged with its generic, warfarin. A name no FAERS report names is refused (refunded), naming it. FAERS reports are unverified and can be duplicated: report counts and disproportionality are statistical associations, not evidence of an interaction or of causation, and no substitute for a clinical drug-interaction reference. Source: the FDA Adverse Event Reporting System (FAERS), via openFDA.
Inputs: drugs (required).
drug_lookupDrug label and adverse-event lookup (OpenFDA)CRead-onlyInspect
Look up drug information including label data, adverse events, and related diagnosis codes. Source: openFDA (FDA drug labels and adverse-event reports); related diagnosis codes come from the MyMedi-AI code database.
Inputs: drugName (required), searchField.
drug_rxnormRxNorm drug normalization (NIH)ARead-onlyInspect
Normalize a drug name with NIH RxNorm: returns the matching RxNorm concepts (RxCUI, name, synonym, term type) and the primary RxCUI. It does not check interactions. Source: RxNorm, from the U.S. National Library of Medicine (RxNav API).
Inputs: drugName (required).
fee_schedule_lookupDMEPOS fee schedule (state + modifier specific)ARead-onlyInspect
Look up the CMS DMEPOS fee schedule for a DME/orthotic/prosthetic HCPCS code: rental (RR) vs purchase (NU new / UE used), non-rural vs rural, per state. With a state it returns that state's exact rates, without one national min–max ranges; a modifier narrows the answer to rental or purchase. Source: the current CMS DMEPOS fee schedule quarter. It has no professional-service (CPT) rates.
Inputs: code (required), state, modifier.
market_analysisHealthcare specialty market analysis by stateARead-onlyInspect
Specialty snapshot for a US state: how many providers one CMS NPPES registry query matches for the specialty (the query returns at most 200 records, so the figure is a floor, not a provider count), plus an LLM-generated estimate, labelled as such, of demand outlook, likely underserved areas and opportunities. Not a CMS or quality measure. A failed call (model unavailable) is refunded.
Inputs: state (required), specialty (required).
modifier_advisorDMEPOS billing-modifier advisor (free)ARead-onlyIdempotentInspect
Editorial guidance on DMEPOS billing modifiers: the KX/GA/GY/GZ medical-necessity and liability family, RR/NU/UE rental-vs-purchase, capped-rental month markers (KH/KI/KJ), and RT/LT laterality. A HCPCS code scopes the guidance to that item's DMEPOS category (a category can also be given directly), and a scenario phrase (e.g., "ABN on file", "bilateral") surfaces the relevant modifiers. Original editorial content, not payer policy. PHI-free. Free, no API key required.
Inputs: code, category, scenario.
ner_extractExtract ICD-10-CM, HCPCS and CPT codes and dates from clinical textARead-onlyInspect
Extract the medical codes already present in de-identified text and check each against the MyMedi-AI code database: ICD-10-CM codes whole, dotted or undotted, with their 7th-character extensions (S72.001A, S72001A); HCPCS Level II codes (a letter A–V and four digits), with modifiers attached (E0601RR, E0601-RR) reported as modifiers — a glued suffix only when it is a known DMEPOS modifier; and CPT codes only where a keyword such as CPT or procedure code marks them (Category II and III and PLA codes such as 0001U included), so ZIP codes and other numbers are not read as codes, and a five-digit number that continues a marked list is kept only when the CPT set holds it. Codes are read in upper case, as code sets print them; lower-case text is not read as a code. Each code entity says whether the code set holds it (inCodeSet) and, when it does, gives its description and whether it is active; an undotted ICD-10-CM shape is returned only when the code set holds it, so words such as B12 are not read as codes. codeSets names the code-set releases checked. Also returns M/D/Y dates and one MEDICATION_INDICATOR entity when a dose unit (mg, mcg or mL) appears. It does not extract drug names and does not infer or suggest codes. PHI-free: for de-identified text only.
Inputs: text (required), entityTypes.
order_readiness_checklistDMEPOS order-readiness checklist (free)ARead-onlyIdempotentInspect
Blank pre-delivery checklist for a HCPCS DMEPOS code: the universal standard written order (SWO) elements (42 CFR 410.38(d)), whether the code is on the current CMS Required Face-to-Face Encounter & Written Order Prior to Delivery List (F2F/WOPD), and whether it is on the current CMS Required Prior Authorization List, on a date of service (default today). Some items are phased in by state: for those, paRequired is null until a state is given. Requirement definitions only; it takes no patient data (PHI-free). Free, no API key required.
Inputs: code (required), state, dateOfService.
pa_exposure_reportPA/WOPD catalog exposure report (up to 100 codes)ARead-onlyInspect
Map a supplier HCPCS catalog against the current CMS Required Prior Authorization List and Required Face-to-Face Encounter & Written Order Prior to Delivery List on a date of service (default today). Per code: PA requirement and the date it applies from, F2F/WOPD requirement, documentation gates (SWO, UTN-before-claim, F2F/WOPD sequencing), and deterministic denial-risk flags — plus a catalog-level exposure summary. Some items are phased in by state: with a state the answer is definitive; without one they are reported as required in some states (paRequiredInSomeStates). Unknown or non-HCPCS codes are flagged and count as billable answers. Priced per code — $0.01 × number of codes, max 100 per call. Returns JSON. Original Medicare FFS scope. PHI-free: codes in, rules out.
Inputs: codes (required), state, dateOfService.
pa_predictPrior-auth approval rate + CMS requirement factsARead-onlyInspect
Historical prior-authorization approval rate for a procedure code, computed only from your organization's own decided prior authorizations for that code — never from other customers' records — and only from at least 10; an API key or account with no organization has no cohort. With a cohort it returns the rate with cohort size and confidence; without one it returns the verifiable facts instead — CMS Required Prior Authorization List status, category, and published review timeframes — and reports that no rate was computed (the call is refunded on this path). Either way its recommendation states the CMS requirement only. It reports past decisions and makes no coverage or prior-authorization determination. Original Medicare FFS scope.
Inputs: procedureCode (required), payerId.
pa_required_checkMedicare DMEPOS prior-auth required check (free)ARead-onlyIdempotentInspect
Check whether a HCPCS code is on the current CMS Required Prior Authorization List (42 CFR 414.234) on a date of service (default today). Returns paRequired flag, category, nationwide-since date, and list version. Some items are phased in by state: for those, paRequired is null until a state is given. Original Medicare FFS scope. Free, no API key required.
Inputs: code (required), state, dateOfService.
pa_statusPrior authorization status checkARead-onlyInspect
Check the status of a prior authorization request tracked in your MyMedi-AI web workspace (by its MyMedi-AI PA id). Returns current status, dates, and expiration info. It does not query payers or say whether a code requires prior authorization, and returns not-found (refunded) if the PA was never entered in the web app.
Inputs: trackingNumber, authorizationId.
provider_enrichAI-enriched provider intelligence (NPI)ARead-onlyInspect
Look up a provider by NPI in the CMS NPPES registry (name, credential, primary and other taxonomies, practice address, enumeration date) and add an LLM-generated estimate, labelled as such, of specialty demand, network gaps and referral categories for that type of provider. The model is given the provider type — specialty, taxonomy, credential, state, entity type and enumeration date — never the name or NPI. Not a CMS or quality measure. A failed call (unknown NPI, model unavailable) is refunded.
Inputs: npi (required).
provider_paymentsPhysician industry payments (CMS Open Payments)ARead-onlyInspect
Look up pharmaceutical and device company payments to a physician (Sunshine Act data). Returns total payments, breakdown by type, and top paying companies. Source: CMS Open Payments.
Inputs: npi (required).
provider_searchNPI provider directory searchARead-onlyInspect
Search the NPI provider directory. Find healthcare providers by name, specialty, or location.
Inputs: city, limit, state, lastName, +3 more.
reimbursement_basicMedicare national payment rate (free)ARead-onlyIdempotentInspect
Look up Medicare payment for a code. Returns the national facility and non-facility payment under the current Medicare PFS (CMS RVU × conversion factor) for professional services, plus ranges from the current CMS DMEPOS fee schedule quarter (rental/purchase, min–max across state fees) for DME items like E/K/L codes. Free, no API key required.
Inputs: code (required).
trials_searchClinical trials search (ClinicalTrials.gov)ARead-onlyInspect
Search active clinical trials by condition, ICD-10 code, or intervention. Returns trial details including NCT ID, phase, enrollment, and eligibility. Source: ClinicalTrials.gov.
Inputs: code, limit, status, condition, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 32 tools
Descriptions are unusually explicit about what each tool does not do, which rescues many near-neighbors, but real overlaps remain: reimbursement_basic vs code_reimbursement vs fee_schedule_lookup (and code_lookup's embedded DMEPOS rates) all answer 'what does Medicare pay,' and code_lookup vs code_lookup_basic vs code_lookup_batch differ mainly by price and payload size. The PA family (pa_required_check, pa_predict, pa_status, pa_exposure_report, plus PA checks inside order_readiness_checklist and compliance_audit) is distinguishable only after careful reading. An agent can get there, but misselection is plausible.
Overwhelmingly snake_case with a domain-ish prefix (code_*, drug_*, pa_*, provider_*), which is readable and mostly predictable. Deviations are ordering inconsistencies — reimbursement_basic vs code_reimbursement, fee_schedule_lookup vs code_lookup, denial_code_info — and a 'basic' suffix convention applied unevenly. Still far more consistent than not.
32 tools is well past the 25+ threshold where a surface starts to feel heavy, and the count is inflated by tiered duplicates (basic/full/batch variants of lookup, validate and reimbursement) rather than genuinely distinct operations. A broad domain justifies many tools, but several here earn their place only as billing tiers, not as new capabilities.
Coverage of the medical coding lifecycle is strong: lookup, suggest, validate, crossref, batch variants, reimbursement/fee schedules, PA checks, claims pre-submission validation, compliance audit and NER extraction, plus adjacent drug, provider, trial and surveillance data. Gaps are acknowledged rather than hidden (no NCCI PTP/MUE edits, no payer-specific policy, drug interactions only statistical), so agents hit few dead ends for core workflows.
Maintenance
Related MCP Connectors
270 pay-per-call AI tools for agents, paid via x402 (USDC on Base). No signup, no API keys.
17 pay-per-call web, finance, legal and onchain tools for AI agents. USDC on Base via x402/MPP.
10 pay-per-call tools for AI agents: QR, screenshots, DNS, OCR, PDF, email & more. USDC on Base.
40+ Lightning-paid AI tools for agents: calls, SMS, fax, voice, translation. No signup, no keys.
Related MCP Servers
- AlicenseAqualityBmaintenanceOfficial Backwork MCP server for Medicare and commercial payer coverage policies, medical code lookup, prior authorization research, and claim validation with cited sources. Supports hosted OAuth and local stdio.889 npm1MIT
- AlicenseNot gradedqualityBmaintenance62 real-time data tools for AI agents via MCP. Finance, crypto, FMCSA, sanctions, courts, weather, vehicles, cybersecurity. One bearer token, one bill. Free tier available.MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to look up medical billing codes, denial reasons, and payer rules for faster claim resolution.66MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform medical-billing tasks like prior authorization checks, claim denial decoding, unpaid claim triage, appeal assessments, and PHI de-identification using deterministic rules engines with per-call payments via the x402 protocol.62 npmMIT