ICD-10 MCP Server
A Model Context Protocol server that gives any compatible AI client access to the CMS ICD-10-CM and ICD-10-PCS code sets, so coding questions are answered from reference data, not model memory.
- MCP server
A Model Context Protocol server that lets AI assistants look up, search and validate ICD-10-CM diagnosis and ICD-10-PCS procedure codes.
- Model Context Protocol
- Server-Sent Events (SSE) transport
- JSON
- ICD-10-CM diagnosis codes
- ICD-10-PCS procedure codes
- CMS annual code files
- Fiscal-year versioned database
The challenge
Medical coders and revenue cycle teams check diagnosis and procedure codes all day. A wrong, outdated or non-billable code can send a claim back, and looking each one up in separate tools slows the work.
When teams ask a general AI model for a code, the answer comes from model memory and can be wrong or out of date. Healthcare teams need code answers grounded in the official code files, with a clear way to tell valid, billable codes from category headers.
What it does
Code lookup
Returns the description, type, billable status, chapter and fiscal year for a single ICD-10-CM diagnosis code or ICD-10-PCS procedure code.
Code validation
Checks whether a code exists and whether it is billable, and tells a header code from a specific code so incomplete codes are caught before a claim.
Keyword search
Finds codes by condition or procedure wording in plain language, with an option to return billable codes only and to page through results.
Category browsing
Lists every code under a three-character category, such as a diabetes or heart failure category, to help choose the right level of specificity.
Chapter lookup
Finds the ICD-10-CM chapter for a code or searches within a clinical chapter, such as respiratory or circulatory conditions.
Database status
Reports whether the code database is ready, its code counts, the fiscal year and when it was last updated, so users know what they are querying.
How it works
Connect the client
Add the server to an MCP-compatible AI client, such as Claude, Cursor, Windsurf or Continue, using the server address and the SSE transport.
Ask in plain language
The user types a request, for example to validate a code or find codes for a condition. The client chooses the matching server tool.
Server queries the data
The server looks the request up in its ICD-10-CM and ICD-10-PCS database built from the CMS code files and returns structured results.
Review and confirm
The assistant presents the codes with billable status. The coder confirms in an encoder or the official CMS files before submitting a claim.
Under the hood
- Protocol
- Model Context Protocol
- Server-Sent Events (SSE) transport
- JSON
- Code sets
- ICD-10-CM diagnosis codes
- ICD-10-PCS procedure codes
- Data source
- CMS annual code files
- Fiscal-year versioned database
- Clients
- Claude
- Cursor
- Windsurf
- Continue
Inside the harness
Data transfer
The code database is loaded from the published CMS files, a defined and checkable source, rather than from model memory or ad hoc copies.
Guardrails
Validation separates valid billable codes from headers and unknown codes, so an assistant is steered to confirmed codes instead of invented ones.
Observability
A database status tool reports readiness, fiscal year and last update, so teams can see which code version their assistant answered from.
Audit
Because answers come from tool calls against a versioned code set, a lookup can be traced and repeated, which supports review of coding decisions.
Business outcome
Code answers grounded in reference data. Assistants return codes from the official code files, which reduces reliance on model recall for a task where small errors matter.
Fewer non-billable codes reach claims. Validation flags header and unknown codes early, so coders correct them during work instead of after a payer response.
Faster everyday lookups. Coders and revenue cycle staff can search by condition, category or chapter in the AI client they already use, without switching tools.
A pattern for other reference data. The same approach of exposing a trusted reference set through MCP tools can be reused for other lookups in a governed AI setup.
Where it is used
- A medical coder checks whether a diagnosis code is valid and billable before it goes on a claim.
- A revenue cycle analyst browses a category to compare specificity options and pick the final code.
- A clinical documentation team finds likely procedure codes from a plain-language description of a procedure.
- A developer connects a healthcare assistant to a trusted code lookup instead of relying on model memory.
Frequently asked questions
How do I use it?
Add the server to an MCP-compatible client using its SSE address, start a new conversation, and ask for the database status to confirm the connection. The repo README lists setup steps for several clients.
What licence is it under?
The repository does not state a licence at the time of writing. Check the repo before reuse, and ask the owner if you need clear terms.
Is it ready for production use?
The repo includes a test report of its own checks, but it does not claim a production certification. Treat it as a starting point and review it against your own requirements.
Does it replace an encoder or official coding guidance?
No. The README states it is for quick lookups, validation and research. Confirm codes in your encoder or the official CMS files before claim submission.
Using this in a governed AI setup?
Talk to us about running it inside the harness, with policy, guardrails and audit around it.