Fhirfly

io.fhirflyPublished by fhirfly.iov0.9.0Updated Oct 25, 2026

Healthcare reference data for AI agents: providers, drugs, diagnoses, labs, codes, claims.

VerifiedSTDIODesktop onlyKnowledge & MemoryData & Analytics

Overview

AI-generated overview

Fhirfly is a local MCP server that lets Claude Desktop look up US and UK healthcare reference data — drugs, providers, diagnoses, lab codes and claims rules —,

What you can do
Look up and search drug data by NDC, RxNorm, drug class and FDA label, including safety, dosing and interaction sections, and check drug-drug interactions across several drugs at once. Look up and search healthcare providers by NPI, including their FHIR endpoints and Direct addresses. Look up and search clinical codes: ICD-10 diagnoses and procedures, LOINC labs, SNOMED CT concepts and mappings, CVX/MVX vaccines, HCPCS and modifiers, MS-DRG, Place of Service, HCC risk adjustment, UK OPCS-4 and dm+d. Look up, validate and convert UCUM units of measure. Check claims rules: NCCI code-pair edits, MUE limits, Medicare fee schedule and RVU data, and LCD/NCD coverage determinations. Run batch look‑
When to use it
Useful when you want an assistant to answer questions about medications, providers, clinical terminology or billing codes from current reference sources rather than from model memory, for example verifying an NDC, resolving an NPI, checking whether two codes can be billed together, or checking interactions between drugs.
Requirements
Runs locally through npx, so Node.js 18+ and Claude Desktop are needed. A FHIRfly API key is required in the FHIRFLY_API_KEY environment variable; a free tier exists. Network access to the FHIRfly API is required, and optional variables set the API base URL, debug logging and fetch timeout.
Before you install
The FHIRFLY_API_KEY secret is stored in the Claude Desktop config file and sent to FHIRfly over HTTPS, so keep the config file private. Requests and lookups go to a third-party cloud API, and usage is subject to plan rate limits. Reference data is informational and not a substitute for clinical or billing judgment.

Installation

In SourceWeft

  1. Open Fhirfly in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@fhirfly-io/mcp-server

MCP (Model Context Protocol) server for connecting Claude Desktop to FHIRfly healthcare reference data APIs.

What is this?

This package lets Claude Desktop look up real healthcare reference data including:

  • NDC - Drug products and packages (FDA)
  • NPI - Healthcare provider identifiers (CMS)
  • RxNorm - Drug terminology (NLM)
  • LOINC - Laboratory codes (Regenstrief Institute)
  • ICD-10 - Diagnosis and procedure codes (CMS)
  • CVX/MVX - Vaccine codes (CDC)
  • FDA Drug Labels - Prescribing information
  • SNOMED CT - Clinical concepts (IPS free set)
  • HCC - CMS Hierarchical Condition Category risk adjustment mappings
  • OPCS-4 - UK NHS procedure classification codes
  • dm+d - UK Dictionary of Medicines and Devices (NHS)
  • UCUM - Unified Code for Units of Measure (NLM)
  • RxClass - Drug classification hierarchy (NLM)
  • HCPCS - Level II procedure and supply codes (CMS)
  • MS-DRG - Diagnosis Related Groups for inpatient payment (CMS)
  • POS - Place of Service codes for claims submission (CMS)
  • J-Code/NDC Crosswalk - Bidirectional HCPCS J-code to NDC mapping (CMS)
  • DDI Reference — Drug-drug interaction text from FDA labels + RxNorm enrichment
  • Connectivity - Provider FHIR endpoints and Direct addresses
  • SMA - State Medicaid Agency FHIR endpoint directory (CMS)
  • Claims Intelligence - NCCI edits, MUE limits, PFS/RVU data, coverage determinations

When you ask Claude about medications, providers, or clinical codes, it can look up accurate, current information instead of relying on training data.

Prerequisites

  1. Claude Desktop - Download from claude.ai/download
  2. Node.js 18+ - Download from nodejs.org
  3. FHIRfly API Key - Get one at fhirfly.io (free tier available)

Quick Setup

Step 1: Get a FHIRfly API Key

  1. Go to fhirfly.io and sign up
  2. Navigate to Dashboard > Credentials
  3. Click Create Credential and select MCP (Claude Desktop)
  4. Copy your API key (starts with ffly_)

Step 2: Configure Claude Desktop

Find your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the FHIRfly server configuration:

json
{  "mcpServers": {    "fhirfly": {      "command": "npx",      "args": ["-y", "@fhirfly-io/mcp-server"],      "env": {        "FHIRFLY_API_KEY": "ffly_live_your_key_here"      }    }  }}

Replace ffly_live_your_key_here with your actual API key.

Step 3: Restart Claude Desktop

Completely quit Claude Desktop and reopen it. The FHIRfly tools should now be available.

Verify It Works

Try asking Claude:

  • "What is NDC 0069-0151-01?"
  • "Look up NPI 1234567893"
  • "Search for COVID vaccines in the CVX database"
  • "What are the drug interactions for Lipitor?"
  • "Which states have implemented Medicaid FHIR endpoints?"
  • "Show me the FHIR endpoint details for California's Medicaid program"
  • "What is the UCUM code for milligrams per deciliter?"
  • "Convert 100 mg to grams"
  • "What drugs are in the HMG-CoA Reductase Inhibitors class?"
  • "Check interactions between aspirin and warfarin"

Claude should use the FHIRfly tools to look up real data.

Available Tools

ToolDescription
ndc_getLook up drug by NDC code
ndc_searchSearch drugs by name, ingredient, etc.
npi_getLook up provider by NPI number
npi_searchSearch providers by name, specialty, location
rxnorm_getLook up drug by RxCUI
rxnorm_searchSearch drug terminology
loinc_getLook up lab test by LOINC code
loinc_searchSearch lab codes
icd10_getLook up diagnosis/procedure code
icd10_searchSearch ICD-10 codes
cvx_getLook up vaccine by CVX code
cvx_searchSearch vaccine codes
mvx_getLook up vaccine manufacturer
mvx_searchSearch manufacturers
fda_label_lookupLook up FDA drug label
fda_label_searchSearch drug labels
fda_label_safetyGet safety info (boxed warnings, contraindications)
fda_label_interactionsGet drug interaction info
fda_label_dosingGet dosing information
fda_label_sectionsGet specific label sections
snomed_getLook up clinical concept by SNOMED CT ID
snomed_searchSearch SNOMED CT IPS concepts
snomed_mappingsFind cross-terminology mappings for a SNOMED concept
npi_connectivityLook up provider connectivity (FHIR endpoints)
sma_list_statesList states with Medicaid FHIR endpoint status
sma_get_stateGet SMA FHIR endpoint details for a state
sma_statsGet aggregate SMA implementation statistics
ncci_validateCheck if two codes can be billed together (NCCI)
mue_lookupLook up max units of service (MUE limits)
pfs_lookupLook up Medicare fee schedule / RVU data
coverage_checkCheck LCD/NCD coverage determinations
HCPCS / MS-DRG / POS / J-Code Tools
hcpcs_getLook up an HCPCS Level II procedure/supply code
hcpcs_modifier_getLook up an HCPCS modifier code
hcpcs_searchSearch HCPCS Level II codes
msdrg_getLook up an MS-DRG code
msdrg_searchSearch MS-DRG codes
pos_getLook up a Place of Service code
jcode_by_hcpcsFind NDCs mapped to a J-code/HCPCS code
jcode_by_ndcFind HCPCS codes mapped to an NDC
HCC / OPCS-4 Tools
hcc_getLook up HCC risk adjustment mappings for an ICD-10 code
hcc_reverseFind all ICD-10 codes mapping to a given HCC category
hcc_searchSearch the HCC crosswalk by code, model, or category
opcs4_getLook up an OPCS-4 UK NHS procedure code
opcs4_searchSearch OPCS-4 procedure codes
dm+d Tools
dmd_getLook up a UK dm+d medicine/device by SNOMED code
dmd_searchSearch UK dm+d medicines and devices
UCUM Tools
ucum_getLook up a UCUM unit code (e.g., mg, mL, kg/m2)
ucum_searchSearch units of measure by name or description
ucum_validateValidate a UCUM expression for correctness
ucum_convertConvert a value between compatible UCUM units
RxClass Tools
rxclass_getLook up a drug class by class ID
rxclass_searchSearch drug classifications by name or type
rxclass_membersList drugs belonging to a drug class
DDI Tools
check_drug_interactionsCheck drug-drug interactions for multiple drugs (FDA label text + RxNorm)
Batch Tools
ndc_batchLook up multiple NDC codes (max 500)
npi_batchLook up multiple NPI numbers (max 100)
icd10_batchLook up multiple ICD-10 codes (max 100)
rxnorm_batchLook up multiple RxCUIs (max 100)
loinc_batchLook up multiple LOINC codes (max 100)
cvx_batchLook up multiple CVX codes (max 100)
mvx_batchLook up multiple MVX codes (max 100)
fda_label_batchLook up multiple FDA labels (max 50)

Configuration Options

Environment VariableDescriptionDefault
FHIRFLY_API_KEYYour FHIRfly API key (required)-
FHIRFLY_API_URLAPI base URLhttps://api.fhirfly.io
FHIRFLY_DEBUGEnable debug logging (1 or true)false
FHIRFLY_TIMEOUTFetch timeout in milliseconds30000

Troubleshooting

"FHIRFLY_API_KEY environment variable is required"

Your API key isn't configured. Make sure:

  1. You have a valid API key from fhirfly.io
  2. It's set in the env section of your Claude Desktop config
  3. The key starts with ffly_

"Invalid API key format"

FHIRfly API keys start with ffly_. Check that you copied the full key.

"Authentication failed"

Your API key may be invalid or expired. Generate a new one at fhirfly.io/dashboard/credentials.

Claude doesn't show FHIRfly tools

  1. Make sure you completely quit and restarted Claude Desktop
  2. Check your config file syntax (must be valid JSON)
  3. Enable debug mode to see what's happening:
json
{  "mcpServers": {    "fhirfly": {      "command": "npx",      "args": ["-y", "@fhirfly-io/mcp-server"],      "env": {        "FHIRFLY_API_KEY": "your_key",        "FHIRFLY_DEBUG": "1"      }    }  }}

"Rate limit exceeded"

You've hit your plan's rate limit. Wait a moment and try again, or upgrade your plan at fhirfly.io.

How It Works

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐│  Claude Desktop │────▶│  This Package   │────▶│  FHIRfly API    ││                 │     │  (runs locally) │     │  (cloud)        ││  "What is       │◀────│                 │◀────│                 ││   NDC 123..."   │     │  Translates MCP │     │  Returns drug   ││                 │     │  ↔ HTTPS        │     │  data           │└─────────────────┘     └─────────────────┘     └─────────────────┘

This package runs on your computer as a bridge between Claude Desktop and the FHIRfly API. It:

  1. Receives requests from Claude Desktop via stdin
  2. Translates them to HTTPS requests to FHIRfly
  3. Returns the results to Claude via stdout

Your API key is sent to FHIRfly over HTTPS. No healthcare data is stored locally.

Links

Data Sources & Licensing

Data SourceProviderLicense
NDC DirectoryFDAPublic domain
NPPES (NPI)CMSPublic domain
RxNormNLM (NIH)UMLS license (free)
LOINCRegenstrief InstituteFree with attribution
ICD-10-CM/PCSCMSPublic domain
CVX/MVXCDCPublic domain
FDA Drug LabelsFDA/openFDAPublic domain
SNOMED CT IPSSNOMED InternationalCC BY 4.0
HCC CrosswalkCMSPublic domain
OPCS-4NHS EnglandOGL v3.0 (Crown copyright)
dm+dNHS England / NHSBSAOGL v3.0 (Crown copyright)
UCUMNLM (NIH) / Regenstrief InstituteFree with attribution
RxClassNLM (NIH)UMLS license (free)
SMA Endpoint DirectoryCMSPublic domain
HCPCS Level IICMSPublic domain
MS-DRGCMSPublic domain
Place of ServiceCMSPublic domain
J-Code/NDC CrosswalkCMSPublic domain
NCCI/MUE/PFSCMSPublic domain
DDI ReferenceFDA + NLMPublic domain

FHIRfly aggregates and indexes these data sources. See fhirfly.io/docs for details.

Changelog

See CHANGELOG.md for release history.

License

MIT - see LICENSE

Source: README.md at commit d2c7c42

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.9.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts