@upstream-intelligence/mcp
v0.1.0
Published
Model Context Protocol server for Upstream. CARC/RARC decoding, NCCI edit checking, CMS fee schedules, payer scorecards, and claim scrubbing for AI agents.
Downloads
64
Maintainers
Readme
@upstream-intelligence/mcp
Model Context Protocol server for Upstream healthcare billing intelligence.
Gives any MCP compatible AI agent (Claude Desktop, Claude Code, Cursor, ChatGPT desktop apps, etc.) direct access to Upstream's free public healthcare intelligence endpoints.
No authentication required. No credit card. Rate limited per IP.
What it does
The server exposes Upstream's free public API as MCP tools. Ask your agent in plain English; the agent will pick the right tool and call it for you.
lookup_carc: decode any CARC (Claim Adjustment Reason Code) with plain English meaning, recommended action, and appeal strategy.check_ncci_edit: check whether two CPT or HCPCS codes are subject to NCCI bundling, MUE unit limits, or modifier allowed overrides.fee_schedule_lookup: CMS Medicare Physician Fee Schedule rates and RVU components, with optional locality adjustment.payer_scorecard: public Payer Behavior Scorecard with denial rate, days to pay, overturn rate, and top denial reasons.list_payer_scorecards: list every payer Upstream tracks, filterable by vertical (ABA, SNF, PT/OT, dental, etc.).compare_payers: side by side comparison of 2 to 5 payers on the same metrics.scan_claim: run the free claim scrubber, which catches NCCI conflicts, MUE overflow, missing modifiers, Dx-CPT mismatches, and timely filing risk before submission.explain_denial: structured explanation combining CARC decoding with payer context and recommended appeal arguments.upstream_status: health check of every wrapped endpoint from your current network.
Install
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"upstream": {
"command": "npx",
"args": ["-y", "@upstream-intelligence/mcp"]
}
}
}Restart Claude Desktop. The Upstream tools appear in the tools menu.
Claude Code
claude mcp add upstream -- npx -y @upstream-intelligence/mcpCursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"upstream": {
"command": "npx",
"args": ["-y", "@upstream-intelligence/mcp"]
}
}
}Any MCP client
npx -y @upstream-intelligence/mcpThe server speaks MCP over stdio. Connect any client that supports stdio transport.
Example prompts
Once installed, try these in your agent:
"What does CARC CO-197 mean? Give me the appeal strategy for Aetna."
"Are CPT 97110 and 97140 bundled? If so, what modifier lets us bill both?"
"Compare denial rates and days to pay across Aetna, Anthem, UnitedHealthcare, and Cigna for ABA claims."
"Here's a claim: 97153 plus 97155 on the same day for Aetna, dx F84.0, DOS 2026-03-15. Run it through the scrubber and tell me if it will pay."
"Medicare allowable for 99214 in Manhattan?"
Configuration
Environment variables:
| Variable | Default | Purpose |
|---|---|---|
| UPSTREAM_API_BASE | https://api.upstream.cx/api/v1 | Point at a different Upstream instance (must resolve to an *.upstream.cx or localhost host). |
| UPSTREAM_API_KEY | (unset) | If set, sent as X-API-Key on every request to the Upstream API. Raises your rate limit from 500 calls/month (free tier) to your plan tier. Never sent to public federal data sources (NPPES, NIH, Federal Register). |
| UPSTREAM_MCP_LOG | (unset) | Set to 1 to emit structured JSON logs to stderr for every tool call, retry, and failure. Default is silent. Log lines never include request bodies, response bodies, headers, or URL query params. |
Rate limits
The free public endpoints are rate limited per IP. Set UPSTREAM_API_KEY to raise your rate limit from 500 calls/month (free tier) to your plan tier. Get a key at upstream.cx/developers.
Links
- Developer docs: upstream.cx/developers
- Source: github.com/byteworthy/Upstream/tree/main/packages/mcp-server
- Issues: github.com/byteworthy/Upstream/issues
License
MIT. Do anything you want with it.
