Skip to main content
Glama

Umls Crosswalk

umls_crosswalk
Read-onlyIdempotent

Crosswalk a code from one vocabulary to others. Given a code in a source vocabulary (e.g. an ICD-10-CM code), returns the concepts that share the same UMLS CUI in other vocabularies (SNOMED CT, RxNorm, LOINC, etc.). Example: umls_crosswalk({ source: "ICD10CM", code: "I21.9", _apiKey: "your-key" })

Input Schema

NameRequiredDescriptionDefault
codeYesThe code within that source vocabulary, e.g. "I21.9"
sourceYesSource vocabulary abbreviation (SAB) the code belongs to, e.g. "ICD10CM", "SNOMEDCT_US", "RXNORM", "LNC", "MSH".
_apiKeyYesFree UMLS UTS API key

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnly, idempotent, openWorld and non-destructive traits, so the bar is lower. The description still adds real value by explaining the CUI-based mapping behavior (same CUI across vocabularies) and giving a worked example, information not present in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus an example, front-loaded with the core action. The example is somewhat redundant with the schema's own examples array, keeping it just short of a 5, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description states what is returned (concepts with the same CUI in other vocabularies), which is enough for an agent to know the result shape. Missing only pagination/result-count behavior, a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents source, code, and _apiKey. The inline example re-maps params to values but adds no syntax or format detail beyond what the schema descriptions and examples already provide. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Crosswalk a code from one vocabulary to others') and clarifies the mechanism (shared UMLS CUI). This distinguishes it conceptually from umls_search/umls_concept/umls_atoms, though it never names those siblings explicitly to make the routing decision airtight.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the description ('Given a code in a source vocabulary... returns concepts in other vocabularies'), but there is no explicit when-to-use, when-not-to-use, or comparison against umls_search/umls_concept. An agent can infer the scenario but must guess the boundary versus siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.