Public leaderboard

Public assessment

SidneyBissoli/medical-terminologies-mcp (medical-terminologies-mcp)

medical-terminologies-mcp · v1.5.7 · scanned

What changed in the harness

Selection accuracy 100%, destructive-action safety rate 100% (baseline only -- no rewrite pass applied).

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

30.0 / 30

30.0 out of 30
02Legibility

25.8 / 30

25.8 out of 30
03Economics

9.2 / 20

9.2 out of 20
04Discoverability

14.0 / 20

14.0 out of 20

Highest-impact fix

Estimated gain +11 points

Reduce the tool-definition and task token payload

Consolidate overlapping tools and trim repetitive schema text while preserving behavior, parameter, and return semantics.

Description evidence

Defects and rewrites.

0 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
No description defects were flagged in this assessment.

Selection evidence

Confusable tool pairs.

16 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
cid10_chapters cid10_chapter high Nearly identical names (plural list-all vs singular get-by-number); a request like 'show CID-10 chapter info' doesn't clearly signal whether the user wants the full list or one chapter by number, and an agent could call the wrong one or supply a bogus 'num' to the plural-intent request.
icd11_search icd11_lookup medium Both resolve an ICD-11 disease reference to details; if a user's query names a disease in plain text but the agent mistakenly treats it as a code (or vice versa), it may call lookup instead of search or skip the necessary search-then-lookup sequence.
loinc_search loinc_details medium loinc_details requires an exact 'XXXXX-X' code while loinc_search takes free text; if a user's query contains something that looks like a code fragment or a lab test name loosely resembling a code, the agent could pick details prematurely instead of searching.
mesh_search mesh_descriptor medium Search-by-term vs get-details-by-ID is a common confusion pattern; a task like 'get info on the MeSH term for diabetes' could plausibly trigger descriptor lookup with a guessed/wrong ID instead of a proper search.
rxnorm_search rxnorm_concept medium rxnorm_search finds drugs by name while rxnorm_concept needs an RxCUI; a request phrased as 'get details on drug X' could cause the agent to call concept with a fabricated or mis-derived RxCUI instead of first searching.
atc_classify atc_lookup medium Both resolve ATC classification information, but atc_classify takes a drug name and atc_lookup takes a code; a task like 'what's the ATC classification of metformin' could tempt an agent to call atc_lookup with the drug name instead of atc_classify.
atc_classify atc_members medium These are inverse operations (drug→codes vs code→drugs); a task like 'find other drugs in the same class as metformin' requires chaining classify then members, and an agent might call only atc_classify believing it returns member drugs.
atc_lookup atc_members medium Both take an atc_code and return information about that class; a vague request like 'tell me about ATC class A10BA' is ambiguous between getting just the class name (lookup) and getting the full member drug list (members).
icd11_chapters cid10_chapters medium Users unfamiliar with the CID-10/ICD-10 naming distinction may ask for 'ICD-10 chapters', which has no dedicated tool — the agent could route to either the Brazilian cid10_chapters or mistakenly the icd11_chapters tool for a different revision.
icd11_lookup icd11_hierarchy medium Both take an ICD-11 code and return descriptive info about it; a request like 'tell me about this ICD-11 category and its place in the classification' blends lookup's definition with hierarchy's parent/child structure.
rxnorm_concept rxnorm_ingredients medium rxnorm_concept's include_related option can surface ingredient info, overlapping with the dedicated rxnorm_ingredients tool; a request for 'what's in this drug' could go to either.
rxnorm_concept rxnorm_classes medium rxnorm_concept's include_related option can return class-like related concepts, overlapping with the dedicated rxnorm_classes tool for a request like 'what class is this drug in'.
loinc_answers loinc_panels medium Both take a loinc_num and return a sub-structure of the code (valid answers vs panel components); a vague request like 'what does this LOINC code include' is ambiguous between the two.
terminology_versions terminology_diff medium Both are terminology metadata tools; a request like 'has ICD-11 changed recently' could trigger terminology_versions (current version info) instead of terminology_diff (change summary), since both cover version-related metadata.
icd11_search cid10_search low Both are free-text disease search tools differing only by classification system/language; an ambiguous request like 'search for diabetes' without specifying ICD-11 vs Brazilian CID-10 could route to either.
mesh_tree mesh_qualifiers low Both take a mesh_id and return supplementary structural info about a descriptor (tree position vs allowed qualifiers); a broad request like 'give me more context on this MeSH term' doesn't clearly indicate which is wanted.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard