# Medicare Fee Schedule Rates

> Medicare Physician Fee Schedule amounts by code, date and locality, traced to archived CMS files.

- name: com.s2reason/medicare-fee-schedule
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 81/100 flags: no-repository
- quality: 97/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.s2reason%2Fmedicare-fee-schedule
- tools: https://api.protogrid.dev/v1/servers/com.s2reason%2Fmedicare-fee-schedule/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "medicare-fee-schedule": {
      "type": "http",
      "url": "https://s2reason.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 96
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-91% +updated-14d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 97/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 2 of 2 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,104 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 2 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 2, about 1,104 tokens to load them all
- tool set hash: 734effd63823307cadca82cb9162aec7
- tools last changed: 2026-10-15T19:01:48.939Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.s2reason/medicare-fee-schedule.svg)](https://protogrid.dev/servers/com.s2reason/medicare-fee-schedule)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-15 `medicare_list_fee_releases` changed (annotations)
- 2026-10-15 `medicare_get_physician_fee` changed (annotations)

Full history: https://api.protogrid.dev/v1/servers/com.s2reason%2Fmedicare-fee-schedule/changes

## Remotes

- https://s2reason.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9056604)

## Packages

_none_

## Tools (2)

- `medicare_get_physician_fee`: Use this when you need what Medicare's Physician Fee Schedule allows for a CPT or HCPCS code on a given date of service, for the nation or for one state or locality, in the office or facility setting. It takes up to 25 lines (code, modifier, date of service) and returns one answer per line, in order: CMS's allowed amount (national figure, plus the state range or one locality's figure when a state is given), the CMS release in force on that date, its source files with SHA-256 checksums, and the release catalog URL. It covers dates of service from Jan 1, 2023 through Dec 31, 2026; each date is priced under the quarterly CMS release in force that day, and a date outside that span gets a reason instead of a figure. A code with no national rate on this schedule (bundled, carrier-priced, laboratory, drug, anesthesia, ambulance, supplies, or absent from that release) returns a result_kind and a reason, not an error, and a malformed line returns an error for that line only. Do not use it for hospital outpatient or inpatient facility payments, ambulatory surgery center fees, Medicaid, commercial or workers' compensation rates, CPT code descriptions, or opinions on whether a charge is reasonable. It is read-only; amounts are Medicare-allowed amounts per unit, before sequestration and multiple-procedure reductions.
- `medicare_list_fee_releases`: Use this when you need to know which CMS Medicare Physician Fee Schedule releases the archive holds, with their effective dates, CMS source files, SHA-256 checksums and any gaps in coverage, before or instead of looking up a fee. It takes no input and returns every release, newest first (id, label, effective and end dates, the CMS document that fixed the dates, source files, the hosted data bundle), plus the coverage summary and the release catalog URL. Coverage runs from Jan 1, 2023 through Dec 31, 2026, and the list changes only when a new CMS release is archived. Do not use it to get a fee amount (use medicare_get_physician_fee), or for other Medicare schedules such as hospital outpatient, ambulatory surgery center, laboratory, ambulance or DMEPOS, or for Medicaid or commercial rates. It is read-only.
