AutoICD MCP Server
Give AI assistants the power of medical coding — ICD-10-CM diagnosis coding, code search, and 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 automated ICD-10 medical coding.
Why AutoICD API?
Feature | Details |
AI-Powered Coding | Clinical text → ICD-10-CM codes with NLP entity extraction |
74,000+ Codes | Full ICD-10-CM 2025 code set with descriptions and hierarchy |
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, and chapter classification.
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].
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/icd10 — Browse all 74,000+ codes
ICD-10 Codes by Condition — autoicdapi.com/icd10/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
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.