npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

autoicd-mcp

v0.8.0

Published

MCP server for medical coding — give AI assistants the ability to code clinical text to ICD-10-CM, ICD-11, ICF, and LOINC, audit charts for HCC gap capture / RADV / specificity / denial risk, translate between coding systems, and look up canonical referen

Readme

AutoICD MCP Server

Give AI assistants the power of medical coding — ICD-10-CM, ICD-11, ICF, and LOINC diagnosis and functioning coding, chart audit (HCC gap capture, RADV, specificity, denial risk), cross-standard translate, unified reference lookup across ICD-10, ICD-11, ICF, LOINC, SNOMED CT, UMLS, and RxNorm, plus PHI de-identification via the AutoICD API.

An MCP (Model Context Protocol) server that connects AI assistants like Claude Desktop, Cursor, VS Code, and Windsurf to the AutoICD API for AI-powered medical coding, audit, and terminology lookup.

What's new — 2026-05-05

  • reference_lookup now covers SNOMED CT, UMLS, and RxNorm in addition to ICD-10-CM, ICD-11, ICF, and LOINC.
  • reference_search — new tool for free-text search of SNOMED CT, UMLS, and RxNorm.
  • The unified reference resource gives every record cross_references keyed by target system, so AI agents can pivot across vocabularies without extra calls.

Why AutoICD API?

| Feature | Details | |---------|---------| | AI-Powered Coding | Clinical text → ICD-10-CM, ICD-11, or ICF codes with NLP entity extraction | | 74,000+ ICD-10 Codes | Full ICD-10-CM 2025 code set with descriptions and hierarchy | | ICD-11 Support | Search and look up ICD-11 codes with full ICD-10 ↔ ICD-11 crosswalk | | ICF Functioning Codes | Code clinical text to WHO ICF categories, search 1,400+ codes, and access Core Sets for 12+ conditions | | Negation Detection | Identifies negated, historical, uncertain, and family history mentions | | Confidence Scoring | High/moderate confidence labels with cosine similarity scores | | Spell Correction | Handles misspelled medical terms automatically | | PHI De-identification | HIPAA-compliant removal of names, dates, SSNs, and more | | Code Search | Full-text search across all ICD-10-CM codes and descriptions | | SNOMED CT & UMLS | Cross-references and synonyms from standard medical terminologies |

Get your API key at autoicdapi.com.

Setup

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "autoicd": {
      "command": "npx",
      "args": ["-y", "autoicd-mcp"],
      "env": {
        "AUTOICD_API_KEY": "sk_your_api_key"
      }
    }
  }
}

Cursor

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

{
  "mcpServers": {
    "autoicd": {
      "command": "npx",
      "args": ["-y", "autoicd-mcp"],
      "env": {
        "AUTOICD_API_KEY": "sk_your_api_key"
      }
    }
  }
}

VS Code

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

{
  "servers": {
    "autoicd": {
      "command": "npx",
      "args": ["-y", "autoicd-mcp"],
      "env": {
        "AUTOICD_API_KEY": "sk_your_api_key"
      }
    }
  }
}

Windsurf

Add to your Windsurf MCP configuration:

{
  "mcpServers": {
    "autoicd": {
      "command": "npx",
      "args": ["-y", "autoicd-mcp"],
      "env": {
        "AUTOICD_API_KEY": "sk_your_api_key"
      }
    }
  }
}

Available Tools

code_diagnosis

Extract medical diagnoses from clinical text and map them to ICD-10-CM codes.

Parameters:

  • text (required) — Clinical text to process (progress notes, discharge summaries, etc.)
  • top_k (optional, 1-25, default: 5) — Number of top ICD-10 candidates per entity
  • include_negated (optional, default: true) — Include negated entities in results

Example prompts:

  • "Code this note: Patient presents with acute lower back pain radiating to the left leg. Denies any numbness or tingling."
  • "What ICD-10 codes apply to: 65-year-old male with type 2 diabetes, hypertension, and chronic kidney disease stage 3"
  • "Code the following discharge summary: Patient admitted for COPD exacerbation with acute respiratory failure. History of CHF and atrial fibrillation."

The tool will extract medical entities, detect negations ("denies numbness"), and return ranked ICD-10 code candidates with confidence scores.

search_codes

Search the ICD-10-CM 2025 code set by description.

Parameters:

  • query (required) — Search text to match against code descriptions
  • limit (optional, 1-100, default: 20) — Maximum results
  • offset (optional, default: 0) — Pagination offset

Example prompts:

  • "Search for ICD-10 codes related to congestive heart failure"
  • "Find all ICD-10 codes for diabetes"
  • "What ICD-10 codes are there for anxiety disorders?"
  • "Look up hypertension ICD-10 codes"

get_code

Get comprehensive details for a specific ICD-10-CM code.

Parameters:

  • code (required) — ICD-10-CM code (e.g., "E11.9", "I10", "J44.1")

Example prompts:

  • "Look up the details for ICD-10 code M54.5"
  • "What does ICD-10 code I10 mean?"
  • "Is E11.9 a billable code? What are its synonyms?"
  • "Show me the SNOMED CT mappings for code J44.1"

Returns descriptions, billable status, SNOMED CT and UMLS synonyms, parent/child hierarchy, chapter classification, and ICD-11 crosswalk mappings.

search_icd11_codes

Search the ICD-11 code set by description.

Parameters:

  • query (required) — Search text to match against ICD-11 code descriptions
  • limit (optional, 1-100, default: 10) — Maximum results

Example prompts:

  • "Search for ICD-11 codes related to diabetes"
  • "Find ICD-11 codes for respiratory infections"
  • "What are the ICD-11 codes for anxiety disorders?"

get_icd11_code

Get comprehensive details for a specific ICD-11 code, including ICD-10 crosswalk mappings.

Parameters:

  • code (required) — ICD-11 code (e.g., "5A11", "BA00", "CA40.0")

Example prompts:

  • "Look up ICD-11 code 5A11"
  • "What is the ICD-10 equivalent of ICD-11 code BA00?"
  • "Show me the details and crosswalk for ICD-11 code CA40.0"

Returns descriptions, Foundation URI, synonyms, parent/child hierarchy, chapter classification, and ICD-10 crosswalk mappings.

anonymize

De-identify Protected Health Information (PHI) in clinical text.

Parameters:

  • text (required) — Clinical text containing PHI

Example prompts:

  • "Remove all patient identifiers from this note: John Smith (DOB 03/15/1980) was seen at 123 Main St..."
  • "De-identify this clinical text before I share it: Maria Garcia, MRN 789012, SSN 123-45-6789, diagnosed with pneumonia"

Detects and replaces names, dates, SSNs, phone numbers, emails, addresses, MRNs, and ages with type labels like [NAME], [DATE], [SSN].

icf_lookup

Look up details for a specific ICF code.

Parameters:

  • code (required) — ICF code (e.g., "b730", "d450", "s110")

Example prompts:

  • "Look up ICF code b730"
  • "What does ICF code d450 mean?"
  • "Show me the definition of ICF code s110"

Returns title, definition, component, chapter, parent/child hierarchy, inclusions, exclusions, and index terms.

icf_search

Search ICF codes by keyword.

Parameters:

  • query (required) — Search text to match against ICF code descriptions
  • limit (optional, 1-100, default: 20) — Maximum results

Example prompts:

  • "Search for ICF codes related to mobility"
  • "Find ICF codes for cognitive functions"
  • "What ICF codes are there for self-care activities?"

icf_core_set

Get the ICF Core Set for an ICD-10 diagnosis — a curated list of ICF categories relevant to a specific condition.

Parameters:

  • icd10_code (required) — ICD-10-CM code (e.g., "E11.9", "I63.9", "G35")

Example prompts:

  • "What ICF Core Set applies to diabetes (E11.9)?"
  • "Show me the ICF Core Set for stroke (I63.9)"
  • "Get the brief and comprehensive ICF Core Sets for multiple sclerosis (G35)"

Returns condition name, brief Core Set (key categories), and comprehensive Core Set (full assessment categories).

translate_code

Translate a code between healthcare coding systems. Forward from ICD-10 to ICD-11, SNOMED CT, UMLS, and ICF, plus reverse ICD-11 → ICD-10 and ICF → ICD-10. Built on CMS-published crosswalks, code-level SNOMED / UMLS concept IDs, and WHO ICF Core Sets.

Parameters:

  • code (required) — The source code (e.g., "E11.9" for ICD-10, "5A11" for ICD-11).
  • system (required) — "icd10", "icd11", "snomed", "umls", or "icf".
  • to (optional) — Array of target systems. Omit for every system reachable from the source.

Example prompts:

  • "Translate ICD-10 E11.9 to ICD-11 and SNOMED."
  • "What's the SNOMED CT and ICD-11 equivalent of diabetes code E11.9?"
  • "Reverse-translate ICD-11 5A11 back to ICD-10."
  • "Show me the ICF categories that map to ICD-10 I63.9."

Targets not reachable from the source are returned in unsupported_targets rather than as errors, so a broad target list is safe.

reference_lookup

Look up canonical reference data for a code in any supported coding system through a single tool. Returns the same detail payload as the per-system tools (get_code, get_icd11_code, icf_lookup, loinc_lookup), which remain available but are now deprecated.

Parameters:

  • system (required) — One of "icd-10-cm", "icd-11", "icf", "loinc", "snomed-ct", "umls", "rxnorm".
  • code (required) — Code in the chosen system.

Example prompts:

  • "Look up SNOMED CT concept 44054006."
  • "What is UMLS CUI C0011860?"
  • "Show me the RxNorm record for 860975 (metformin)."
  • "Use reference_lookup to get the canonical record for ICD-11 5A11."

SNOMED, UMLS, and RxNorm records carry cross_references to ICD-10, ICD-11, LOINC, and each other so agents can pivot across vocabularies without extra calls.

reference_search

Free-text search the Neon-backed reference vocabularies (SNOMED CT, UMLS, RxNorm). Returns matching codes with display labels and a system-specific meta field (semantic tag for SNOMED, term type for RxNorm). JSON-backed systems (ICD-10-CM, ICD-11, ICF, LOINC) keep their per-system search tools.

Parameters:

  • system (required) — One of "snomed-ct", "umls", "rxnorm".
  • query (required) — Free-text search query.
  • limit (optional, 1-100, default: 20) — Maximum results.

Example prompts:

  • "Search SNOMED CT for 'chronic systolic heart failure'."
  • "Find UMLS concepts related to metformin."
  • "Look up RxNorm codes for 'lisinopril 10 mg tablet'."

audit_clinical_text

Audit a chart against submitted codes. Surfaces missed HCCs with RAF-weighted revenue estimates, unsupported codes (RADV exposure), specificity upgrades, denial risk flags, and a reconciled problem list. Every finding carries extractive evidence spans.

Parameters:

  • text (required) — Clinical text (progress note, discharge summary, H&P).
  • codes (required) — Array of { code, kind } the clinician submitted (e.g., [{ "code": "E11.9", "kind": "icd10" }]).
  • capabilities (optional) — Subset of ["hcc", "radv", "specificity", "denial", "problem_list"]. Defaults to all five.
  • patient_age, patient_sex, coverage (optional) — Enrich denial and HCC reasoning.
  • hcc_model (optional) — "v22", "v28", or "both" (default). Note: V24 is the ESRD-specific model and is not accepted here.

Example prompts:

  • "Audit this progress note. Codes submitted: E11.9, I50.9. Text: 68yo M, type 2 diabetes, chronic systolic CHF on furosemide, stage 3 CKD, proliferative diabetic retinopathy."
  • "Run an HCC-only gap analysis on this discharge summary. Submitted codes: [...]."
  • "Check this encounter for unsupported codes and denial risk. Patient is male, age 45."

Uses the CMS PY2026 V22 and V28 community models for HCC gap capture.

Common ICD-10 Codes

Here are some of the most commonly coded conditions you can look up with this MCP server:

| Condition | Code | Description | |-----------|------|-------------| | Hypertension | I10 | Essential (primary) hypertension | | Type 2 Diabetes | E11.9 | Type 2 diabetes mellitus without complications | | Anxiety | F41.1 | Generalized anxiety disorder | | Depression | F32.9 | Major depressive disorder, single episode | | Low Back Pain | M54.5 | Low back pain | | COPD | J44.9 | Chronic obstructive pulmonary disease | | Heart Failure | I50.9 | Heart failure, unspecified | | UTI | N39.0 | Urinary tract infection | | Pneumonia | J18.9 | Pneumonia, unspecified organism | | Atrial Fibrillation | I48.91 | Unspecified atrial fibrillation |

Browse the full ICD-10-CM Code Directory or find codes by condition.

Configuration

| Environment Variable | Required | Description | |---------------------|----------|-------------| | AUTOICD_API_KEY | Yes | Your AutoICD API key (starts with sk_) | | AUTOICD_BASE_URL | No | Custom API base URL (default: https://autoicdapi.com) |

Use Cases

  • EHR/EMR Integration — Automate diagnosis coding in electronic health record workflows
  • Medical Billing — Accelerate revenue cycle management with AI-assisted code assignment
  • Clinical Decision Support — Look up ICD-10 codes and hierarchies during clinical documentation
  • Health-Tech Development — Build and test medical coding features with live API access in your IDE
  • Research & Analytics — Search and explore the ICD-10-CM code set for epidemiological analysis
  • Compliance — De-identify clinical text before processing or sharing

Requirements

Links

License

MIT