Medicare fee schedule connector for AI assistants
This is a free, read-only connector that lets an AI assistant look up what the Medicare Physician Fee Schedule allows for a CPT or HCPCS code on a date of service. Each answer names the CMS release it came from, the CMS source files with their SHA-256 checksums, and the formula, so the figure can be checked. It needs no sign-in and no account. It is the same engine behind the Medicare rate lookup.
Connector address
Add this address to any assistant that supports remote MCP servers. It uses Streamable HTTP, issues no session and asks for no credentials.
https://s2reason.com/mcpThe two tools
medicare_get_physician_fee
Returns the Medicare-allowed amount for up to 25 service lines in one call. Each line has a code, an optional modifier (none for the whole service, 26 for the professional component, TC for the technical component, or 53 for a discontinued procedure) and a date of service. The call can also take a state, a locality inside that state, a setting (office or facility), and a level of detail (concise, or detailed to list every locality in the state). Answers come back one per line, in order. Each gives the national figure and, when a state is given, the state’s range or one locality’s figure, together with the CMS release in force on that date.
medicare_list_fee_releases
Takes no input. Returns every CMS release the archive holds, newest first, with effective dates, the CMS document that fixed them, the source files with SHA-256 checksums, and the coverage summary. The same list is printed on the release catalog.
Coverage and limits
- Dates of service: Jan 1, 2023 through Dec 31, 2026. The archive holds 17 quarterly CMS releases, the newest being pfs-2026-10. Each date is priced under the release in force that day. A date outside that span gets a reason and no figure.
- What an amount is: the Medicare-allowed amount per unit, before the 2% sequestration reduction and before any multiple-procedure reduction. It is what Medicare allows. It is not what a commercial carrier or an auto policy allows, and not what a provider billed.
- Codes without a rate: a code that is bundled, carrier-priced, a laboratory or drug code, or absent from that release returns a result kind and a reason instead of an amount. A malformed line returns an error for that line and the other lines are still answered.
- Not covered: hospital outpatient or inpatient facility payments, ambulatory surgery center fees, Medicaid, commercial or workers’ compensation rates, CPT code descriptions, and opinions on whether a charge is reasonable.
- Call limits: up to 25 lines per call. As an abuse limit, each network is limited to 60 calls per minute, and the networks that Anthropic and OpenAI use to reach connectors are limited to 600 calls per minute. A call over the limit gets a message that says when to retry.
Install steps
Each client changes its menus from time to time. The sources named below were read on October 6, 2026. Where a step is not confirmed on a client’s current page, this page says to check that page.
Claude (web and desktop)
- Open Customize > Connectors and select Add custom connector.
- Enter a name, then paste the connector address above as the URL, and select Continue.
- The connector needs no sign-in, so choose No sign in if Claude asks how people connect, then select Add.
- In a conversation, enable it from the + button, then Connectors.
On Team and Enterprise plans an owner adds the connector first under Organization settings, then members connect it. Free plans are limited to one custom connector. A listing in Claude’s connector directory is coming soon. Source: Claude Help Center, custom connectors.
Claude Code
claude mcp add --transport http s2reason https://s2reason.com/mcpThis adds the server to the current project. Add --scope user to make it available in every project. Source: Claude Code documentation, MCP.
ChatGPT
- Open chatgpt.com/plugins, select the plus button, then Add custom MCP server.
- Enter a name and description.
- Under Connection, enter the connector address above, including the
/mcppath. - Set authentication to none (the connector has no sign-in), review the warning, select I understand and want to continue, then select Create as a plugin.
- Start a new conversation, type @ and select the server.
OpenAI’s current documentation calls a connected MCP server a plugin. Earlier documentation called it an app or a connector. Account and workspace policies apply, so whether you can add a custom server depends on your plan and workspace. Check ChatGPT’s current documentation for the authentication option names. Source: OpenAI, connect and test your plugin.
Cursor
The button carries this server name and configuration (the configuration is base64 encoded in the link):
name: s2reason
config: {"url":"https://s2reason.com/mcp"}To add it by hand, put this in .cursor/mcp.json:
{
"mcpServers": {
"s2reason": {
"url": "https://s2reason.com/mcp"
}
}
}Source: Cursor documentation, MCP install links and Cursor documentation, MCP.
VS Code
The link carries this configuration (URL encoded in the link):
{"name":"s2reason","type":"http","url":"https://s2reason.com/mcp"}To add it by hand, put this in .vscode/mcp.json:
{
"servers": {
"s2reason": {
"type": "http",
"url": "https://s2reason.com/mcp"
}
}
}Source: VS Code documentation, MCP developer guide and VS Code documentation, MCP servers.
Gemini CLI
gemini mcp add --transport http s2reason https://s2reason.com/mcpOr put this in ~/.gemini/settings.json:
{
"mcpServers": {
"s2reason": {
"httpUrl": "https://s2reason.com/mcp"
}
}
}Example prompts
These are examples of questions the connector can answer. The assistant fills in the tool call.
- What does Medicare allow for CPT 97110 in the office setting in Texas for a service on March 4, 2025?
- Price these three lines for Florida in the office setting: 73721 on 2025-08-11, 20610 on 2025-08-11, and 71046 on 2025-09-02.
- What is the national Medicare amount for CPT 99203 in the facility setting for a service dated June 9, 2024?
- Show the amount for every Pennsylvania locality for CPT 97140 on February 17, 2026.
- Which CMS physician fee schedule releases does the connector hold, and which dates of service do they cover?
Current Procedural Terminology (CPT) is copyright 2019–2025 American Medical Association (AMA). All Rights Reserved. No fee schedules, basic units, relative values, or related listings are included in CPT. The AMA assumes no liability for the data contained herein. Applicable FARS/DFARS restrictions apply to government use. CPT® is a trademark of the American Medical Association.
How to verify a figure
Every answer names its CMS release by id (for example, the newest is pfs-2026-10), the CMS source files that release was built from with their SHA-256 checksums, the conversion factor, and the RVUs used. To check a figure:
- Find the release id on the release catalog. It lists the dates the release covers, the CMS document that fixed them, and each source file with its SHA-256. The checksum, not the web address, identifies the exact file archived.
- Compare the RVUs in the answer with CMS’s own file for that code and modifier.
- Take the three GPCIs for the locality (all 1.000 for the national figure) and the release’s conversion factor, and recompute:
payment = (work RVU x work GPCI + practice-expense RVU x practice-expense GPCI + malpractice RVU x malpractice GPCI) x conversion factor, rounded half up to the cent on the exact product. Where the OPPS cap for a locality is lower, the cap is the amount; the professional component (-26) is never capped. The national figure uses every GPCI = 1.000 and no cap.
The code pages and the Medicare rate lookup use the same calculation, so the same code and date give the same amount there.
Data handling
The connector keeps a usage record so we can see how it is used. For each line priced, it records:
- the tool called;
- the code asked about;
- the state asked about, or national when none was given;
- the CMS release used and the result kind;
- the number of lines in the call;
- a coarse client label (Claude, ChatGPT, Cursor, VS Code, Gemini or other);
- a time stamp and a random event id.
It does not record the date of service or the IP address. There is no account and the connector sets no cookies. The abuse limit counts calls using the connecting address for the current minute and the address is not written to the usage record. The full statement is in the AI assistant connector section of the privacy policy.
Support
Questions, a figure you cannot reproduce, or a connection problem: email support@s2reason.com.
Changelog
- October 6, 2026. First version. Two tools:
medicare_get_physician_feeandmedicare_list_fee_releases.