Healthcare Data Tools — ICD-10, NPI, NDC, DEA

Created By
easysolutions9063 months ago
Healthcare data tools for AI agents. Search 74,000+ ICD-10 diagnosis codes, look up providers in the NPI registry, search 111,000+ drugs in the FDA NDC directory, and validate DEA registration numbers. 10 tools in one server.
Overview

MCP Healthcare Server

A Model Context Protocol (MCP) server that bundles healthcare data tools for use with Claude Desktop, Cursor, and other MCP clients.

Tools (10 total)

ICD-10-CM Diagnosis Codes (74,260 codes from CMS 2025)

ToolDescription
icd10_lookupLook up an ICD-10-CM code by code string (e.g., E11.9)
icd10_searchSearch codes by keyword (e.g., "diabetes", "chest pain")
icd10_validateCheck if a code exists in the 2025 code set

NPI Provider Registry (live NPPES queries)

ToolDescription
npi_searchSearch providers by name, specialty, city, state, ZIP
npi_lookupLook up a provider by 10-digit NPI number

NDC Drug Directory (111,655 FDA products)

ToolDescription
ndc_lookupLook up a drug by NDC code (e.g., 0002-1433-80)
ndc_searchSearch drugs by name, generic name, or manufacturer
ndc_search_ingredientSearch drugs by active ingredient

DEA Number Validation (algorithm-based)

ToolDescription
dea_validateValidate a DEA number using the official checksum algorithm
dea_generate_testGenerate a valid test DEA number for development

Setup

Prerequisites

  • Node.js 18+
  • The ICD-10 and NDC data files from sibling API directories

Install

cd mcp-healthcare
npm install
npm run link-data   # creates symlinks to ICD-10 and NDC data files

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "healthcare": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-healthcare/src/index.js"]
    }
  }
}

Cursor Configuration

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "healthcare": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-healthcare/src/index.js"]
    }
  }
}

Data Sources

DatasetSourceUpdate Frequency
ICD-10-CMCMS (Centers for Medicare & Medicaid)Annually (October)
NDCFDA National Drug Code DirectoryWeekly
NPINPPES Registry (live API)Real-time
DEAChecksum algorithm (no dataset)N/A

Transport

This server uses stdio transport (stdin/stdout), which is the standard for local MCP integrations with Claude Desktop and Cursor. No HTTP server is started.

Architecture

The server imports pure business logic extracted from four Express-based REST APIs:

  • src/tools/icd10.js — ICD-10 code lookup, search, validation (loads 6MB JSON dataset)
  • src/tools/ndc.js — NDC drug lookup and search (loads 53MB JSON dataset)
  • src/tools/npi.js — NPI provider search via live NPPES API
  • src/tools/dea.js — DEA number validation (pure algorithm, no dataset)

Data files are symlinked from sibling API directories to avoid duplication.

Server Config

{
  "mcpServers": {
    "healthcare": {
      "command": "npx",
      "args": [
        "-y",
        "@easysolutions906/mcp-healthcare"
      ]
    }
  }
}
Project Info
Created At
3 months ago
Updated At
3 months ago
Author Name
easysolutions906
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Bring your real authenticated browser session to AI coding agents. Local-first MCP server + Chrome MV3 extension. No cloud. No telemetry.
@Cubenest

peek records the user's actual logged-in browser (DOM via rrweb, console events, network metadata, optional response bodies via opt-in Deep capture) through a Chrome MV3 extension. The extension ships events through a native-messaging stdio bridge to a local MCP server (peek-mcp), which persists them to a SQLite database at ~/.peek/sessions.db. AI coding agents (Claude Code, Cursor, Cline, Windsurf) read sessions from the database via 10 MCP tools: Tool What it does list_recent_sessions List recently recorded sessions (id, origin, ts, event count). get_session_summary LLM-readable narrative summary of a session. get_session_console_errors Console errors recorded in a session. get_session_network_errors Failed/notable network requests in a session. get_user_action_before_error Last N user actions before a console error. generate_playwright_repro Generate a runnable Playwright test from a session. get_dom_snapshot Reconstruct the DOM at a given timestamp. query_dom_history Timeline of attribute/text changes for a selector. request_authorization Side-panel consent for write actions (Level 3). execute_action Dispatch a UI action (gated by permission level + destructive blocklist). Why local-first matters Every other "browser session for AI" tool ships to a vendor cloud. peek's SQLite + extension live on the user's machine — no remote endpoints, no telemetry. The privacy policy (docs/peek/PRIVACY_POLICY.md) is the source of truth. Install # 1. Add the MCP server to Claude Code claude mcp add peek -- npx -y @peekdev/mcp # 2. Install the Chrome extension from the Chrome Web Store # (link added once the CWS listing is approved)

a day ago