# Reported issues for medical-codes-mcp-server

Pod holds 14 of 14 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [medical-codes-mcp-server](/mcp/medical-codes-mcp-server).

## Most discussed

### bug(map_codes): the system-token recovery on rxcui_to_* offers inputs those directions reject

### Server version

0.3.0

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

A code-system name sent as `from` on an `rxcui_to_*` direction gets the drug-direction recovery — "`from` takes a drug name, an NDC, or an RXCUI" — but those directions take an RXCUI only, so following the hint with a drug name or NDC misses again.

### Steps to reproduce

1. `medcode_map_codes` with `{ "from":…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/56) · 2026-09-24 · closed · 1 comment

### bug(map_codes): explicit-system miss on parents/children says no bundled code matches a code another system holds

### Server version

0.3.0

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.0

### Transport

stdio

### Description

`medcode_map_codes` `parents` / `children` under an explicit `system` answers a code another bundled system holds with the generic `no_mapping` message, `No bundled code matches "<from>"`, which is false, and recovers to `medcode_get_code`. `medcode_check_code` (#48) and `medcode_get_code` (#49) name the holding system in the same case.

### Steps…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/52) · 2026-09-24 · closed · 1 comment

### bug(map_codes): ndc_to_rxcui misses recover to get_code, which refuses the same spelling

### Server version

0.2.9

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

An `ndc_to_rxcui` miss on `medcode_map_codes` uses the generic `no_mapping` wording — `No bundled code matches "<value>"` — and recovers to `medcode_get_code`. The value is an NDC, not a code, and `medcode_get_code` refuses the same malformed spellings, so the recovery sends the caller to a second miss. Once…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/50) · 2026-09-24 · closed · 1 comment

### bug(get_code): no_codes_found says "any bundled system" when an explicit system limited the lookup

### Server version

0.2.9

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

`medcode_get_code` with an explicit `system` looks each code up in that system only, but `no_codes_found` still reads "None of the N requested code(s) resolved in any bundled system", and the error contract's `when` says the same. A code another bundled system holds is reported as absent from all of them.

###…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/49) · 2026-09-24 · closed · 1 comment

### bug(check_code): an explicit RXNORM system gives the CPT hint for codes other systems hold

### Server version

0.2.9

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

`medcode_check_code` with an explicit `system: "RXNORM"` words every miss as a possible CPT / HCPCS Level I code (#8's sentence), whatever the value's shape — including codes another bundled system holds. The caller gets a licensing explanation instead of a pointer to the system that actually has the code.

###…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/48) · 2026-09-24 · closed · 1 comment

### bug(rxnorm): search and name_to_rxcui match the stored term type, not only the drug name

### Server version

0.2.9

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

For RxNorm rows the index's `short_desc` column stores the term type (`IN`, `SCD`, `SBD`, `BN`, …), not a description (#42). Two query paths still match against it, so a query equal to or contained in a term type returns every concept of that type whatever its name:

- `searchFts()` indexes `short_desc` in…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/45) · 2026-09-24 · closed · 1 comment

### bug(check_code): an NDC is reported as matching no bundled code shape

### Server version

0.2.9

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

`medcode_check_code` answers an NDC with an `unknown_code` error saying the value "matches no bundled code shape" and recovers to `medcode_search_codes`. NDC is a product identifier, not a code system (#10), so `check_code` rightly has no billability verdict for it — but `medcode_get_code` decodes the same…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/43) · 2026-09-24 · closed · 1 comment

### bug(rxnorm): shortDescription carries the term type, not a description

### Server version

0.2.9

### mcp-ts-core version

^0.13.6

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

For every RxNorm concept, `shortDescription` holds the RxNorm term type (`SBD`, `IN`, `SCD`, …) rather than a description. `parseRxNav()` in `scripts/ingest/parsers.ts` stores `shortDesc: c.tty`, and the field is advertised as the official short/abbreviated description, so `medcode_get_code` renders `_Short:_…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/42) · 2026-09-24 · closed · 1 comment

## Most recent

### feat(map_codes): name the mistake when `from` is a code system token, not a code

### Use case

Callers put a system token in `medcode_map_codes`' `from` — `{ "from": "ICD10CM", "direction": "children" }` — and get the generic `no_mapping`, whose recovery ("Check the code, or decode it with medcode_get_code first") sends them to decode a string that was never a code.

Related: #38

### Proposed behavior

When `from` resolves nothing and, compared case-insensitively with `-`, `.`, and whitespace removed, equals a bundled system's id or display label (`ICD10CM` / `ICD-10-CM`,…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/39) · 2026-08-21 · closed · 1 comment

### feat(map_codes,get_code): name CPT / HCPCS Level I as out of scope on a bare-integer miss

### Use case

A CPT / HCPCS Level I code sent to `medcode_map_codes` or `medcode_get_code` gets a generic not-found; `map_codes`' recovery points to `get_code`, which fails the same way. Only `medcode_check_code` says these AMA-licensed codes are out of scope (#8).

Related: #8, #39

### Proposed behavior

When a bare-integer source (`^\d+$`, #8's shape) resolves in no bundled system, both tools carry #8's out-of-scope sentence ("If this is a CPT or HCPCS Level I code, those are out of scope —…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/38) · 2026-08-21 · closed · 1 comment

### bug(rxnorm): billability fields misclassify every RxNorm concept

### Server version

0.2.7

### mcp-ts-core version

0.11.1

### Runtime

Bun

### Runtime version

Bun 1.3.14 / Node v26.5.0

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

Every bundled RxNorm concept decodes as `billable: false`, and `medcode_check_code` reports a valid RXCUI as `valid_not_billable` with advice to find a more specific code. The RxNav data RxNorm is built from (`rxcui`, `name`, `tty`) carries no billability signal. `parseRxNav()` in…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/37) · 2026-08-11 · closed · 1 comment

### bug(map_codes): direction-incompatible inputs are silently ignored

### Server version

0.2.7

### mcp-ts-core version

0.11.1

### Runtime

Bun

### Runtime version

Bun 1.3.14 / Node v26.5.0

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

`medcode_map_codes` accepts `system`, `limit`, and `cursor` on every direction, but each direction reads only some and silently drops the rest, returning a normal success.

| Direction | `system` | `limit` / `cursor` |
|:--|:--|:--|
| `parents` | read | dropped |
| `children` | read | read |
|…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/36) · 2026-08-11 · closed · 1 comment

### bug(map_codes): malformed NDC separators bypass segment validation

### Server version

0.2.7

### mcp-ts-core version

0.11.1

### Runtime

Bun

### Runtime version

Bun 1.3.14 / Node v26.5.0

### Transport

HTTP (Streamable HTTP)

### OS

macOS 26.1

### Description

`medcode_map_codes` `ndc_to_rxcui` bypasses the NDC segment-width contract from #23. When `ndcCandidates()` rejects a value, `mapDrug()` strips every non-digit and looks up the rest, so any string whose digits spell a bundled NDC resolves to that product. `medcode_get_code` rejects the same…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/35) · 2026-08-11 · closed · 1 comment

### feat(map_codes): rxcui_to_classes and class_to_rxcuis directions over bundled RxClass edges

### Use case

`medcode_map_codes` says what a drug *is* but not what it *does* — pharmacologic class, mechanism, indications, contraindications, CSA schedule — or which drugs share a class. [RxClass](https://lhncbc.nlm.nih.gov/RxNav/APIs/RxClassAPIs.html) publishes those edges keyed on the RXCUIs this index already bundles.

### Proposed behavior

New capability: two directions, baked from RxClass at index-build time.

- `rxcui_to_classes` — an RXCUI to its classes. RxClass attaches most…

[Read the thread](https://github.com/cyanheads/medical-codes-mcp-server/issues/34) · 2026-08-11 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/cyanheads/medical-codes-mcp-server/issues).
