autoicd-mcp
AutoICD-MCP connects AI assistants to the AutoICD API for medical coding, code lookup, and clinical text processing.
Code Clinical Text (
code_diagnosis): Extract diagnoses from clinical text (progress notes, discharge summaries, etc.) and map to ICD-10-CM or ICD-11 codes, with negation detection, historical mentions, and confidence scores.Search ICD-10 Codes (
search_codes): Full-text search across 74,000+ ICD-10-CM 2025 codes by description keyword, with pagination.Get ICD-10 Code Details (
get_code): Retrieve descriptions, billable status, SNOMED CT/UMLS synonyms, parent/child hierarchy, and ICD-11 crosswalk mappings for a specific code.Search ICD-11 Codes (
search_icd11_codes): Search the ICD-11 directory by description, returning codes with descriptions and Foundation URIs.Get ICD-11 Code Details (
get_icd11_code): Retrieve synonyms, hierarchy, chapter classification, and ICD-10 crosswalk mappings for a specific ICD-11 code.De-identify PHI (
anonymize): Detect and mask Protected Health Information (names, dates, SSNs, MRNs, etc.) in clinical text, replacing them with type labels (e.g.,[NAME],[DATE]) for HIPAA-compliant de-identification.ICF Coding (
icf_code,icf_lookup,icf_search,icf_core_set): Code clinical text to WHO ICF categories, look up ICF codes, and retrieve ICF Core Sets for specific diagnoses.Translate Codes (
translate_code): Translate between ICD-10, ICD-11, SNOMED CT, UMLS, and ICF.Audit Clinical Text (
audit_clinical_text): Check submitted codes against clinical text for HCC gaps, unsupported codes, specificity upgrades, and denial risk.
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_lookupnow 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_referenceskeyed 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 entityinclude_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 descriptionslimit(optional, 1-100, default: 20) - Maximum resultsoffset(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 descriptionslimit(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 descriptionslimit(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 |
I10 | Essential (primary) hypertension | |
E11.9 | Type 2 diabetes mellitus without complications | |
F41.1 | Generalized anxiety disorder | |
F32.9 | Major depressive disorder, single episode | |
M54.5 | Low back pain | |
J44.9 | Chronic obstructive pulmonary disease | |
I50.9 | Heart failure, unspecified | |
N39.0 | Urinary tract infection | |
J18.9 | Pneumonia, unspecified organism | |
I48.91 | Unspecified atrial fibrillation |
Browse the full ICD-10-CM Code Directory or find codes by condition.
Configuration
Environment Variable | Required | Description |
| Yes | Your AutoICD API key (starts with |
| No | Custom API base URL (default: |
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
Node.js 18+
An AutoICD API key - Get one free at autoicdapi.com
Links
AutoICD API - autoicdapi.com
API Documentation - autoicdapi.com/docs
ICD-10-CM Code Directory - autoicdapi.com/reference/icd-10 - Browse all 74,000+ codes
ICD-11 Code Directory - autoicdapi.com/reference/icd-11 - Browse the WHO ICD-11 MMS hierarchy
ICD-10 ↔ ICD-11 Crosswalk - autoicdapi.com/icd10-to-icd11 - Map codes between revisions
ICD-10 Codes by Condition - autoicdapi.com/reference/icd-10/condition - Find codes for common conditions
TypeScript SDK - npmjs.com/package/autoicd
Python SDK - pypi.org/project/autoicd
SNOMED CT & UMLS Cross-References - autoicdapi.com/snomed-ct-umls
ICD-10-CM Reference - CMS.gov
License
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fcggamou/autoicd-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server