Skip to main content
Glama

Get a test or panel

get_test
Read-onlyIdempotent

Full public detail for one TestWell test or panel by slug or id: description, biomarkers, CPT, per-lab prices, labs, fasting/prep, turnaround, included tests (panels), FAQ, related conditions, order URL and a Markdown page URL. Tests also carry labPages — per-lab pages (/tests//quest, /tests//labcorp) with the lab's test code, requisition name, the lab's own dated price vs TestWell's, and walk-in steps — cite them when the user asks about a specific lab.

Input Schema

NameRequiredDescriptionDefault
langNoSpanish prose where a translation exists (default en)
slugYesCatalog slug (from search_tests) or id, e.g. 'tsh', 'general-wellness-panel'

Output Schema

NameRequiredDescriptionDefault
itemNo
foundNo
suggestionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / item / properties / measuredTurnaround / description
      Previous value: -"Measured medians from real orders (specimen at lab → results), per lab; published only when n ≥ 30. Empty until enough data exists."New value: +"Measured medians from real TestWell orders (specimen at lab → final results), per lab, in days; a pair is published only when it has 30+ completed orders. Sample sizes are not published."
    • removedOutput schema / properties / item / properties / measuredTurnaround / items / properties / n
      Removed value: -{
      -  "type": "number"
      -}
    • changedOutput schema / properties / item / properties / measuredTurnaround / items / required
      Previous value: -[
      -  "lab",
      -  "n",
      -  "medianDays",
      -  "asOf"
      -]New value: +[
      +  "lab",
      +  "medianDays",
      +  "asOf"
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties / item / properties / eligibility
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "attestation": {
      +          "type": "string"
      +        },
      +        "minAge": {
      +          "type": "number"
      +        },
      +        "mustOrderAlone": {
      +          "type": "boolean"
      +        },
      +        "unavailableStates": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / item / properties / measuredTurnaround
      Added value: +{
      +  "description": "Measured medians from real orders (specimen at lab → results), per lab; published only when n ≥ 30. Empty until enough data exists.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asOf": {
      +        "type": "string"
      +      },
      +      "lab": {
      +        "type": "string"
      +      },
      +      "medianDays": {
      +        "type": "number"
      +      },
      +      "n": {
      +        "type": "number"
      +      },
      +      "p90Days": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "lab",
      +      "n",
      +      "medianDays",
      +      "asOf"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "found": {
      +      "type": "boolean"
      +    },
      +    "item": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "aliases": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "biomarkerCount": {
      +          "type": "number"
      +        },
      +        "biomarkers": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "category": {
      +          "type": "string"
      +        },
      +        "cpt": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "CPT code when verified"
      +        },
      +        "currency": {
      +          "type": "string"
      +        },
      +        "description": {
      +          "type": "string"
      +        },
      +        "fastingRequired": {
      +          "type": "boolean"
      +        },
      +        "id": {
      +          "type": "string"
      +        },
      +        "labFee": {
      +          "description": "Flat per-order lab processing fee (charged once per order)",
      +          "type": "number"
      +        },
      +        "labs": {
      +          "description": "Labs that run it: Quest, Labcorp, BioReference",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "markdownUrl": {
      +          "description": "Absolute https URL on test-well.com",
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "orderUrl": {
      +          "description": "Prefilled cart link",
      +          "type": "string"
      +        },
      +        "orderable": {
      +          "type": "boolean"
      +        },
      +        "popular": {
      +          "type": "boolean"
      +        },
      +        "prepInstructions": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "prices": {
      +          "additionalProperties": {},
      +          "description": "Sticker price per lab; null where the lab does not run the item",
      +          "properties": {
      +            "bioreference": {
      +              "anyOf": [
      +                {
      +                  "description": "USD",
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "labcorp": {
      +              "anyOf": [
      +                {
      +                  "description": "USD",
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "quest": {
      +              "anyOf": [
      +                {
      +                  "description": "USD",
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "resultsIn": {
      +          "description": "Turnaround, e.g. '1-3 business days'",
      +          "type": "string"
      +        },
      +        "reviewedAt": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "sampleType": {
      +          "type": "string"
      +        },
      +        "slug": {
      +          "type": "string"
      +        },
      +        "type": {
      +          "enum": [
      +            "test",
      +            "panel"
      +          ],
      +          "type": "string"
      +        },
      +        "url": {
      +          "description": "Absolute https URL on test-well.com",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "suggestions": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  5. First observed

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds the labPages citation guidance, which is genuine behavioral value, but says nothing about what happens with an unknown slug, whether non-public tests are hidden, or how lang fallback behaves. The rest is a restatement of payload contents that the output schema already defines.

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?

Front-loaded with the essential fact (what this returns and how to identify the record), then a second sentence for the labPages nuance. The long comma-separated field list is information-dense but sits close to padding given an output schema exists.

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?

For a two-parameter read tool with annotations and an output schema, this is nearly complete: the agent knows the input key, the payload shape and the lab-page edge case. The remaining gap is error/absence behavior for an unmatched slug, which an agent would need to handle.

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% and both parameters are self-documenting, including the en/es enum, so baseline 3 applies. The description only echoes 'by slug or id' and never mentions the lang parameter or translation fallback, adding no meaning beyond the schema.

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

Purpose5/5

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

States a specific verb and resource ('Full public detail for one TestWell test or panel') with the lookup key ('by slug or id'), and enumerates the payload so an agent can tell it apart from search_tests or list_panels at a glance. The scope word 'one' plus 'full detail' cleanly separates it from the list/search siblings.

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

Usage Guidelines4/5

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

Usage context is clear: use this when the user wants detail on a specific test, and the closing clause gives an explicit condition for the labPages content ('cite them when the user asks about a specific lab'). It does not name alternatives such as search_tests for discovery, though the schema's slug description covers that handoff.

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.

Resources