CMS Medicare Coverage Database

Search and retrieve National Coverage Determinations (NCDs), Local Coverage Determinations (LCDs), articles, and MEDCAC records from the CMS Medicare Coverage Database.

CMS Medicare Coverage Database is a Naftiko capability published by CMS — Centers for Medicare & Medicaid Services, one of 10 capabilities the APIs.io network indexes for this provider. It bundles 3 operations.

The capability includes 3 read-only operations. Lead operation: Search National Coverage Determinations. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include CMS, Medicare, Coverage, NCD, and LCD.

Run with Naftiko CMSMedicareCoverageNCDLCDPolicy

MCP Tools

cms-mcd-search-ncds

Search National Coverage Determinations.

read-only idempotent
cms-mcd-search-lcds

Search Local Coverage Determinations.

read-only idempotent
cms-mcd-search-articles

Search Local Coverage Articles.

read-only idempotent

Capability Spec

medicare-coverage-database.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: CMS Medicare Coverage Database
  description: Search and retrieve National Coverage Determinations (NCDs), Local Coverage Determinations
    (LCDs), articles, and MEDCAC records from the CMS Medicare Coverage Database.
  tags:
  - CMS
  - Medicare
  - Coverage
  - NCD
  - LCD
  - Policy
  created: '2026-05-25'
  modified: '2026-05-25'
capability:
  consumes:
  - type: http
    namespace: medicare-coverage-database
    baseUri: https://www.cms.gov/medicare-coverage-database/api
    description: CMS MCD search and lookup surface.
    resources:
    - name: ncds
      path: /ncds
      operations:
      - name: searchncds
        method: GET
        description: Search National Coverage Determinations.
        inputParameters:
        - { name: keyword, in: query, type: string }
        - { name: hcpcsCode, in: query, type: string }
        - { name: status, in: query, type: string }
        outputRawFormat: json
        outputParameters:
        - { name: result, type: object, value: $. }
    - name: ncd
      path: /ncds/{ncdId}
      operations:
      - name: getncd
        method: GET
        inputParameters:
        - { name: ncdId, in: path, type: string, required: true }
        outputRawFormat: json
        outputParameters:
        - { name: result, type: object, value: $. }
    - name: lcds
      path: /lcds
      operations:
      - name: searchlcds
        method: GET
        description: Search Local Coverage Determinations.
        inputParameters:
        - { name: keyword, in: query, type: string }
        - { name: state, in: query, type: string }
        - { name: contractor, in: query, type: string }
        - { name: hcpcsCode, in: query, type: string }
        outputRawFormat: json
        outputParameters:
        - { name: result, type: object, value: $. }
    - name: lcd
      path: /lcds/{lcdId}
      operations:
      - name: getlcd
        method: GET
        inputParameters:
        - { name: lcdId, in: path, type: string, required: true }
        outputRawFormat: json
        outputParameters:
        - { name: result, type: object, value: $. }
    - name: articles
      path: /articles
      operations:
      - name: searcharticles
        method: GET
        description: Search Local Coverage Articles.
        inputParameters:
        - { name: keyword, in: query, type: string }
        - { name: state, in: query, type: string }
        outputRawFormat: json
        outputParameters:
        - { name: result, type: object, value: $. }
  exposes:
  - type: mcp
    namespace: mcd-mcp
    port: 9090
    transport: http
    description: MCP adapter for CMS Medicare Coverage Database.
    tools:
    - name: cms-mcd-search-ncds
      description: Search National Coverage Determinations.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: medicare-coverage-database.searchncds
      outputParameters: [ { type: object, mapping: $. } ]
    - name: cms-mcd-search-lcds
      description: Search Local Coverage Determinations.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: medicare-coverage-database.searchlcds
      outputParameters: [ { type: object, mapping: $. } ]
    - name: cms-mcd-search-articles
      description: Search Local Coverage Articles.
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: medicare-coverage-database.searcharticles
      outputParameters: [ { type: object, mapping: $. } ]