{
  "markdown": "<div align=\"center\">\n\n<img src=\"https://qinisolabs.github.io/icdwise/logo.svg\" width=\"96\" height=\"96\" alt=\"Qiniso\" />\n\n# icdwise\n\n**Verified ICD-10-CM code lookup & validation for AI agents — official descriptions, not guesses.**\n\n*Verified, trustworthy data tools for AI agents. \"Qiniso\" means \"truth\" in Zulu.*\n\n[Website](https://qinisolabs.github.io/icdwise/) · [npm](https://www.npmjs.com/package/icdwise) · [MCP endpoint](https://icdwise.qinisolabs.workers.dev/mcp) · [MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=icdwise)\n\n</div>\n\n---\n\nAsk an LLM what an ICD-10-CM code means and it will answer confidently — and often **wrongly**: the wrong laterality, the wrong severity, the wrong condition entirely, and it will happily invent a description for a code that doesn't exist. **icdwise** looks the code up in the official U.S. ICD-10-CM code set and returns the real description — or an honest *\"not found\"* instead of a guess.\n\n> Asked to describe real ICD-10-CM codes, a frontier model with no tools was **wrong ~38% of the time** — e.g. it called `H40.1131` *\"severe stage, right eye\"* (it's *mild, bilateral*) and `T63.011A` *\"ingested mushrooms\"* (it's *rattlesnake venom*) — and it **fabricated a description for a code that doesn't exist**. icdwise: the official text, or \"not found.\" Never a guess.\n\n## Add it to Claude\n\nSettings → Connectors → **Add custom connector**, and paste — no login, no key:\n\n```\nhttps://icdwise.qinisolabs.workers.dev/mcp\n```\n\nStateless, reads no user data, requires no secrets. Prefer to run it locally over stdio? Add `{ \"command\": \"npx\", \"args\": [\"-y\", \"icdwise\"] }` under `mcpServers` in your client config.\n\n## Use it as a library\n\n```bash\nnpm i icdwise\n```\n\n```ts\nimport { lookupIcd10, validateIcd10, searchIcd10 } from \"icdwise\";\n\nlookupIcd10(\"E11.9\").description;     // \"Type 2 diabetes mellitus without complications\"\nlookupIcd10(\"H40.1131\").description;  // \"Primary open-angle glaucoma, bilateral, mild stage\"\nvalidateIcd10(\"E11.99\").valid;        // false — well-formed but not a real code\nsearchIcd10(\"generalized anxiety\");   // → [{ code: \"F41.1\", description: \"Generalized anxiety disorder\" }, ...]\n```\n\nCodes are accepted with or without the dot (`E11.9` or `E119`). A well-formed code that isn't in the official set returns `found: false` with a clear note — it never invents a description.\n\n## Tools — 3\n\n| Tool | What it answers |\n| --- | --- |\n| **lookup_icd10** | The official description of a code (+ canonical form and 3-char category) |\n| **validate_icd10** | Is this a real ICD-10-CM code? (well-formed *and* in the official set) |\n| **search_icd10** | Reverse lookup — find the code(s) for a condition by keywords |\n\n## Data\n\nICD-10-CM is U.S. **public-domain** data (NCHS/CMS). The full code set (~74,000 codes) is bundled and generated from the official CMS release via `npm run build-data <icd10cm-codes-YYYY.txt>` (see `scripts/build-data.mjs`); every response reports the `datasetVersion` it used. Descriptions are the official text — the curated, versioned dataset kept current is the moat.\n\n## What it is *not*\n\n- **Not medical advice**, and not a determination of billability, coverage, or clinical appropriateness.\n- **Not ICD-10 (WHO) or ICD-11** — this is ICD-10-**CM** (the U.S. Clinical Modification).\n- **Not a guesser** — unknown/retired/non-leaf codes return an honest \"not found\", never a fabricated description.\n\n## Architecture\n\nA single TypeScript package exposing one MCP server over two transports — **stdio** (local / `npx`) and a **Cloudflare Worker** (hosted edge endpoint) — both driven by the same `core.ts` tool definitions, which also power the importable library.\n\n```bash\nnpm install\nnpm run build\nnpm test\n```\n\n## Privacy\n\nThis tool runs locally on your machine and is built not to collect, store, or transmit your data — no analytics, no telemetry, no account. All reference data is bundled — no network calls, and nothing leaves your device. Full policy: <https://qinisolabs.github.io/privacy.html>.\n\n## License\n\nApache-2.0. ICD-10-CM data is U.S. public domain (NCHS/CMS); see `NOTICE`.\n",
  "bytes": 4119,
  "sha": "ee5eb95859af3f6a486d106277c421957e6c1c379b6ce75d1a10ae0b02a4e74b",
  "repo_slug": "qinisolabs/icdwise",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_qinisolabs_icdwise_fb9db9c4/readme"
}