autoicd-mcp
MCP server for automated ICD-10 medical coding. Code clinical text to ICD-10-CM diagnoses, search 74,000+ codes, and de-identify PHI via the AutoICD API.
README
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 |
|---|---|---|
| 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
- 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.