Public leaderboard

Public assessment

MyMedi-AI/mymedi-ai-mcp-server (@mymedi-ai/mcp-server)

mymedi-ai-mcp-server · v1.5.0 · scanned

What changed in the harness

Selection accuracy 98→94, token cost up 3%, unconfirmed writes 0%→0%.

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

0.0 / 30

0.0 out of 30
02Legibility

22.3 / 30

22.3 out of 30
03Economics

16.5 / 20

16.5 out of 20
04Discoverability

18.2 / 20

18.2 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

13 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
code_lookup_basic
no_return_description
Look up basic metadata for a medical code (ICD-10, CPT, or HCPCS). Returns the code, its codeType, description, category, and isActive status. Basic metadata only — the paid code_lookup tool adds full metadata such as related codes and fee schedules. Free, no API key required.
order_readiness_checklist
no_return_description
Generate a blank pre-delivery checklist for a HCPCS DMEPOS code. Returns the universal standard written order (SWO) elements required (42 CFR 410.38(d)), whether the code requires a face-to-face encounter and written order prior to delivery (F2F/WOPD), and whether the code is on the Medicare Required Prior Authorization List. Requirement definitions only — PHI-free, never send patient data. Free, no API key required.
modifier_advisor
no_return_description
Return editorial guidance on which DMEPOS billing modifiers apply: the KX/GA/GY/GZ medical-necessity and liability family, RR/NU/UE rental-vs-purchase, capped-rental month markers (KH/KI/KJ), and RT/LT laterality. Pass a HCPCS code to scope guidance to that item's DMEPOS category, or a category directly; add a scenario phrase (e.g., "ABN on file", "bilateral") to surface the modifiers relevant to that situation. Original editorial content, not payer policy. PHI-free. Free, no API key required.
code_suggest
no_return_description
Suggest ICD-10/CPT/HCPCS codes matching a clinical description. Returns a ranked list of candidate codes (with descriptions) found via term-based search over the 81K-code CMS database, ordered by matched-term coverage and relevance. Works with natural sentences (e.g., "patient with obstructive sleep apnea prescribed CPAP"). Automatically refunds the call when nothing matches.
code_validate
params_unexplained
Validate a medical code (ICD-10, CPT, or HCPCS) for correctness, active status, and validity in context. Optionally set codeType (icd10, cpt, hcpcs) if the system can't be auto-detected, and pass a context object with dateOfService (YYYY-MM-DD) to check the code's validity as of that date. Returns validation warnings and errors.
code_validate_batch
params_unexplained
Validate a list of medical codes (ICD-10, CPT, HCPCS) for correctness, active status, and optional date-of-service context in one call. Optionally pass a context object with dateOfService (YYYY-MM-DD), applied to every code, for temporal validation. Per-item results mirror code_validate (valid, active, warnings, errors, codeDetails). Priced per code — $0.005 × number of codes, max 25 per call. An invalid code is a billable answer (valid:false), same as the single validate.
ner_extract
no_return_description
Extract medical named entities from clinical text. Returns the identified entities — ICD-10 codes, CPT codes, dates, medications, and 12 other entity types — each with a confidence score. Optionally pass entityTypes to filter results to specific entity types.
drug_lookup
no_return_description
Look up drug information from OpenFDA. Returns label data (indications, dosage, warnings), reported adverse events, and related ICD-10 diagnosis codes for the given drug name. Source: OpenFDA (public domain).
fee_schedule_lookup
no_return_description
Look up the CMS DMEPOS fee schedule for a DME/orthotic/prosthetic HCPCS code. Returns rental (RR) vs purchase (NU new / UE used) rates broken out by non-rural vs rural, as national min–max ranges or, when a state is given, that state's exact rates; filter by modifier to narrow to rental or purchase only. Source: CMS DMEPOS Fee Schedule DME26-B (Apr 2026). For professional-service (CPT) payment use code_reimbursement instead.
drug_rxnorm
no_return_description
Look up a drug in NIH RxNorm. Returns normalized terminology including the RxCUI identifier, and — when checkInteractions is provided — clinical drug-drug interaction findings with severity ratings against the primary drug. Source: NIH RxNorm (public domain).
disease_surveillance
no_return_description
Look up disease surveillance data for a condition (by name or ICD-10 code). Returns case counts and trend data, optionally filtered by state geography. Source: CDC National Notifiable Diseases Surveillance System (public domain).
provider_search
params_unexplained no_return_description
Search the NPI provider directory by name, specialty, or location. Filter using firstName and/or lastName (individual providers), organizationName (organizational providers), taxonomy (specialty code), city, and state. Returns matching providers with NPI, name, specialty, and address.
account_status
no_return_description
Check your MyMedi-AI account status. Returns current credit balance, its USD equivalent, transaction count, recent transactions, and last activity timestamp. Free — never bills credits. Uses your connector sign-in (or X-API-Key when self-hosted).

Selection evidence

Confusable tool pairs.

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

Tool A Tool B Confidence Why they collide
code_lookup code_lookup_batch high A task like 'look up these medical codes' could plausibly involve a single code or a list; if the user gives one code but phrases it as 'look up the following codes', an agent might default to the batch tool, or vice versa when given a short list of size 1.
code_lookup_basic code_lookup high Both take identical input (a single code) and return overlapping fields (description, category, active status); an agent asked to 'look up code X' has no strong signal to prefer the free basic version over the fuller paid code_lookup unless it reads the pricing/detail nuance closely.
code_validate code_validate_batch high Same ambiguity pattern as code_lookup/code_lookup_batch: a request to validate 'these codes' (even a short list) could be routed to either the single or batch tool.
code_lookup_basic code_lookup_batch medium If a user asks to look up multiple codes but only wants basic metadata, an agent might mistakenly pick code_lookup_basic (which only accepts one code) or default to code_lookup_batch despite wanting the cheaper basic tier — batch doesn't have a 'basic' variant, creating tier confusion.
code_lookup_batch code_validate_batch medium A vague request like 'check these codes' could mean either look up info (code_lookup_batch) or validate correctness/active status (code_validate_batch); both accept the same list-of-codes input shape.
reimbursement_basic code_reimbursement high Both look up Medicare reimbursement/payment for a single code with nearly identical purpose (one free/basic, one paid with RVU detail); a request like 'what's the Medicare payment for this code' doesn't clearly indicate which tier is wanted.
code_lookup code_suggest medium A request phrased as 'find the code for lower back pain' could be misrouted to code_lookup (which expects an exact code) instead of code_suggest (which takes a clinical description), especially if the agent conflates 'find/look up a code' phrasing.
code_suggest code_crossref low Both relate to finding associated codes, but code_suggest takes free-text descriptions while code_crossref takes an existing code to cross-map systems — distinct enough inputs that confusion is less likely, though a vague 'find related codes' request could blur the line.
code_validate claims_validate low Both are 'validate' tools but operate on very different inputs (single code vs full claim object); a task like 'validate this claim's codes' could tempt an agent to use code_validate when claims_validate is more appropriate, though the schema differences are fairly distinguishing.
drug_interactions drug_rxnorm medium Both can check drug-drug interactions (drug_interactions directly, drug_rxnorm via its optional checkInteractions param); a request like 'check if these drugs interact' is ambiguous between the two, especially since drug_rxnorm's interaction checking is a secondary feature not obvious from its name.
drug_lookup drug_enrich medium Both return drug information (label/indications) from OpenFDA for a drug name; 'get info on this drug' could route to either, with drug_enrich's 'AI analysis' addition not always being the deciding factor an agent considers.
provider_search provider_enrich low provider_search finds providers by name/location while provider_enrich requires an NPI already known; confusion is limited to cases where a task supplies an NPI but phrases it as 'search for this provider', which is plausible but less common.
pa_predict pa_status low Both relate to prior authorization but pa_predict forecasts approval likelihood for a procedure code while pa_status checks an existing request's status by ID; a vague 'check prior auth status' could occasionally be misrouted if the user actually wants an outlook/prediction rather than a real request status.
pa_required_check pa_predict medium Both deal with whether a code requires prior authorization; pa_predict falls back to returning the same CMS Required PA List fact as pa_required_check when no cohort exists, so a task like 'does this code need prior auth' could plausibly select either tool.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard