Claims desk MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claims desk MCP Server What are the Medicare documentation requirements for CPT 99213?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Claims desk — MCP Apps
Personal demo by Andrew Espira.
A claims reviewer MCP App: one tool returns structured prior-auth / attachment / filing guidance plus doc:// citation URIs (never document bytes). The App streams the live CMS LCD or claims-manual pages beside that answer.
Implements the current MCP Apps extension (io.modelcontextprotocol/ui).
What a reviewer should see
Check | Where |
Tool bound to a UI |
|
UI resource |
|
Capability |
|
App-only tools |
|
Split | Tool JSON has citation URIs only; the App fetches bytes via app-only tools |
Related MCP server: Medical Billing MCP
Run (local Apps host)
Python 3.10+ (3.12 recommended). Needs network for live cms.gov fetches. PDF page preview uses pdftoppm (poppler).
python3.12 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
python scripts/serve_app.pyLeave Medicare / 27447, click Ask MCP tool.
Confirm First Coast Jurisdiction N + 12-month / 1 calendar year filing on the left, LCD L33618 on the right.
Try 70553 (claims-manual PDF), E0601 (no DMEPOS PA; CMNs discontinued), and UHC commercial outpatient MRI (UHC PA list, not a Medicare manual).
The local host resources/reads the ui:// HTML, loads it in an iframe, and proxies tools/call over postMessage. The view never POSTs /mcp.
Stdio (Claude Desktop or any Apps-capable client)
python -m mcp_pdf_demo.serverPoint the client at that command. Optional Streamable HTTP: python -m mcp_pdf_demo.server --http → http://127.0.0.1:3001/mcp.
Optional enrichment (not required to review the Apps wiring):
export RCI_API_KEY=...
export RCI_API_URL=https://api-dev.rcintell.comHow to replicate the implementation
Always two parts: a tool that returns data, and a ui:// resource the host renders.
Python SDK Apps extension —
Apps()+MCPServer(..., extensions=[apps])so the server advertisesio.modelcontextprotocol/ui.Bind the result tool —
@apps.tool(resource_uri="ui://claims-desk/app.html", meta={"ui/resourceUri": "..."})onreview_claim_requirements.Serve the view —
FunctionResource/add_html_resourceat that URI with MIMEtext/html;profile=mcp-app. Bundle CSS + JS into one HTML file (app_html.py+app/view.js).App-only helpers — same
resource_uri,visibility=["app"], for chunked reads and PDF rasterization.View talks to the host, not the server —
ui/initializethentools/calloverwindow.parent.postMessage(app/view.js).Host is the MCP client — fetch
ui://HTML, iframe it, handleui/initialize, proxytools/call/resources/read(app/host.js+scripts/serve_app.py). Production hosts (Claude, VS Code,ext-appsbasic-host) do this step for you.
Policy URLs live in fixtures/catalog.json. Fetch/cache is src/mcp_pdf_demo/live.py.
Layout
Path | Role |
| MCP server: Apps tools, |
| Live CMS fetch + optional RCI |
| Bundles the view into one HTML document |
| MCP App view ( |
| Local Apps host |
| Runs that host on |
| CPT → CMS URL map |
License
MIT
Available Tools
4 toolslist_policy_libraryA
List live CMS policy documents wired into this claims desk.
Inputs: no named parameters. Returns: result
preview_pdf_pagesARead-only
App-only: rasterize the first pages of a cited policy PDF for the reviewer.
Inputs: uri (required), pages. Returns: result
read_document_bytesARead-only
App-only: stream a fetched policy document in base64 chunks (offset/length/hasMore). Used by the claims App to render source docs.
Inputs: uri (required), length, offset. Returns: result
review_claim_requirementsA
Resolve claim documentation requirements for a payer + CPT. Fetches live cataloged policy sources (CMS or payer) and optionally enriches from an RCI knowledge API when RCI_API_KEY is set. Returns structured requirements plus document URIs — never PDF/HTML bytes.
Inputs: cpt (required), payer (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a distinct primary purpose, and the names/descriptions are mostly clear. However, read_document_bytes and preview_pdf_pages both operate on cited policy documents for app rendering, and their raw-bytes vs. rasterized-preview distinction could cause minor selection confusion.
All tools follow a consistent verb_noun pattern: review_claim_requirements, read_document_bytes, preview_pdf_pages, and list_policy_library. No casing or style inconsistencies exist, and each name clearly suggests its action.
Four tools is well-scoped for a focused claims document and requirements server. Each tool covers a distinct step in the workflow: resolving requirements, reading document bytes, previewing PDFs, and listing the policy library.
The core workflow is covered end-to-end: review claim requirements, access document content, preview PDFs, and browse the policy library. Minor gaps remain, such as no general search/filter over the library and no non-app-facing document retrieval path.
Maintenance
Related MCP Connectors
Deterministic CMS NCCI/MUE claim scrubbing and CARC/RARC denial explanations, cited to source.
Medicare national and local coverage policy from the official CMS Coverage API.
Medicare coverage and fee-schedule amounts for CPT/HCPCS codes against a diagnosis
DME billing and medical coding: code lookup, DMEPOS fee schedules, Medicare prior-auth checks
Related MCP Servers
- AlicenseAqualityBmaintenanceHealthcare billing AI for agents — 12 tools for ICD-10/CPT/HCPCS code lookup (80K+ codes), prior auth prediction, medical NER, claims validation, HIPAA compliance auditing, and provider/drug enrichment. Pay-per-call via credits or USDC.32187 npm3MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to look up medical billing codes, denial reasons, and payer rules for faster claim resolution.66MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to analyze insurance denial appeals, providing win probabilities, appeal strategies, payer behavioral intelligence, and regulatory leverage for any CPT code.564 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and retrieving Medicare coverage policies including National and Local Coverage Determinations, National Coverage Analyses, and recent CMS coverage changes.310 npmMIT