Skip to main content
Glama

View blood-test details

get_listing
Read-onlyIdempotent

Return published catalogue facts for one exact listing id, including price, location and markers when published.

Input Schema

NameRequiredDescriptionDefault
idYesExact listing id returned by match_listings.

Output Schema

NameRequiredDescriptionDefault
idYes
foundYes
listingNo
disclaimerYes
catalogueNoticeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / id / description
      Previous value: -"Listing id from match_listings, e.g. pure-pharmacy-quantum-mens-health-panel."New value: +"Exact listing id returned by match_listings."
    • addedInput schema / properties / id / maxLength
      Added value: +200
    • addedInput schema / properties / id / minLength
      Added value: +1
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedOutput schema / properties / catalogueNotice
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "clinicalSuitability": {
      +      "const": "not-assessed",
      +      "type": "string"
      +    },
      +    "exhaustiveCoverage": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "pricesLiveVerified": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "source": {
      +      "const": "compiled-public-catalogue",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "source",
      +    "exhaustiveCoverage",
      +    "pricesLiveVerified",
      +    "clinicalSuitability"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / id
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / interaction
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "actions": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "arguments": {
      -            "additionalProperties": {},
      -            "type": "object"
      -          },
      -          "collect": {
      -            "items": {
      -              "additionalProperties": true,
      -              "properties": {
      -                "kind": {
      -                  "enum": [
      -                    "text",
      -                    "date",
      -                    "multi-select"
      -                  ],
      -                  "type": "string"
      -                },
      -                "label": {
      -                  "type": "string"
      -                },
      -                "name": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "name",
      -                "label",
      -                "kind"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "label": {
      -            "type": "string"
      -          },
      -          "requiresUserAcceptance": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "tool": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "label",
      -          "tool",
      -          "arguments"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "cards": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "actions": {
      -            "items": {
      -              "$ref": "#/properties/interaction/properties/actions/items"
      -            },
      -            "type": "array"
      -          },
      -          "availabilityNote": {
      -            "type": "string"
      -          },
      -          "details": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "clinicName": {
      -                "type": "string"
      -              },
      -              "markerStatus": {
      -                "enum": [
      -                  "published",
      -                  "unpublished",
      -                  "varies"
      -                ],
      -                "type": "string"
      -              },
      -              "markers": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "originalTitle": {
      -                "type": "string"
      -              },
      -              "provider": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "provider",
      -              "clinicName",
      -              "originalTitle",
      -              "markers",
      -              "markerStatus"
      -            ],
      -            "type": "object"
      -          },
      -          "listingId": {
      -            "type": "string"
      -          },
      -          "listingIds": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          "locationLabel": {
      -            "type": "string"
      -          },
      -          "priceLabel": {
      -            "type": "string"
      -          },
      -          "requiresVariantSelection": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "suggestedAvailability": {
      -            "items": {
      -              "$ref": "#/properties/interaction/properties/suggestedAvailability/items"
      -            },
      -            "maxItems": 2,
      -            "type": "array"
      -          },
      -          "test": {
      -            "type": "string"
      -          },
      -          "variants": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "actions": {
      -                  "items": {
      -                    "$ref": "#/properties/interaction/properties/actions/items"
      -                  },
      -                  "type": "array"
      -                },
      -                "label": {
      -                  "type": "string"
      -                },
      -                "listingId": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "listingId",
      -                "label",
      -                "actions"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "listingIds",
      -          "locationLabel",
      -          "test",
      -          "priceLabel",
      -          "details",
      -          "suggestedAvailability",
      -          "actions"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "followUp": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "actions": {
      -          "items": {
      -            "$ref": "#/properties/interaction/properties/actions/items"
      -          },
      -          "type": "array"
      -        },
      -        "question": {
      -          "type": "string"
      -        },
      -        "required": {
      -          "type": "boolean"
      -        }
      -      },
      -      "required": [
      -        "question",
      -        "actions"
      -      ],
      -      "type": "object"
      -    },
      -    "message": {
      -      "type": "string"
      -    },
      -    "presentation": {
      -      "const": "native",
      -      "type": "string"
      -    },
      -    "selection": {
      -      "additionalProperties": {},
      -      "type": "object"
      -    },
      -    "step": {
      -      "type": "string"
      -    },
      -    "suggestedAvailability": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "action": {
      -            "$ref": "#/properties/interaction/properties/actions/items"
      -          },
      -          "label": {
      -            "type": "string"
      -          },
      -          "simulation": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "startsAt": {
      -            "type": "string"
      -          },
      -          "timeZone": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "label",
      -          "startsAt",
      -          "timeZone",
      -          "simulation",
      -          "action"
      -        ],
      -        "type": "object"
      -      },
      -      "maxItems": 2,
      -      "type": "array"
      -    },
      -    "testChoices": {
      -      "items": {
      -        "$ref": "#/properties/interaction/properties/actions/items"
      -      },
      -      "type": "array"
      -    },
      -    "typedReply": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "presentation",
      -    "step",
      -    "message",
      -    "selection",
      -    "actions"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / listing
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "catalogueStatus": {
      +      "const": "published-example",
      +      "type": "string"
      +    },
      +    "category": {
      +      "type": "string"
      +    },
      +    "clinicName": {
      +      "type": "string"
      +    },
      +    "county": {
      +      "type": "string"
      +    },
      +    "eircode": {
      +      "type": "string"
      +    },
      +    "eircodeRoutingKey": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "markers": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "markersPublished": {
      +      "type": "boolean"
      +    },
      +    "national": {
      +      "type": "boolean"
      +    },
      +    "panelId": {
      +      "type": "string"
      +    },
      +    "panelName": {
      +      "type": "string"
      +    },
      +    "priceEur": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "priceNote": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "providerRelationship": {
      +      "const": "no-partnership",
      +      "type": "string"
      +    },
      +    "serviceMode": {
      +      "enum": [
      +        "home-kit",
      +        "clinic"
      +      ],
      +      "type": "string"
      +    },
      +    "serviceTowns": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "town": {
      +      "type": "string"
      +    },
      +    "venueNote": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "catalogueStatus",
      +    "providerRelationship",
      +    "provider",
      +    "clinicName",
      +    "town",
      +    "county",
      +    "eircode",
      +    "eircodeRoutingKey",
      +    "serviceTowns",
      +    "national",
      +    "serviceMode",
      +    "venueNote",
      +    "panelName",
      +    "panelId",
      +    "priceEur",
      +    "priceNote",
      +    "category",
      +    "markersPublished",
      +    "markers"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "found",
      -  "disclaimer",
      -  "interaction"
      -]New value: +[
      +  "found",
      +  "id",
      +  "catalogueNotice",
      +  "disclaimer"
      +]
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world. The description adds real behavioural context beyond them: only *published* facts are returned and fields appear 'when published,' warning the agent that results may be partial or empty. It does not describe error behavior for a missing or unpublished id, which keeps it out of 5 territory.

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

Conciseness5/5

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

A single sentence with no filler. The core operation is front-loaded and the conditional-field caveat ('when published') is attached inline rather than padding out the text.

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?

An output schema exists, so return values need not be enumerated, and the description plus schema cover the single parameter and the published-only constraint. The main residual gap is the absence of explicit sibling routing, which the schema partially supplies via the match_listings reference.

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?

Only one parameter, and schema coverage is 100% with a rich schema description ('Exact listing id returned by match_listings'). Per the high-coverage baseline, the schema carries the semantics; the description's 'one exact listing id' merely echoes it without adding format or validation detail.

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 and resource: 'Return published catalogue facts for one exact listing id,' and names the fields included (price, location, markers). It is distinguishable from match_listings by the 'one exact listing id' framing. It stops short of explicitly contrasting itself with siblings, and the title ('View blood-test details') is misleading relative to the catalogue content.

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?

The 'one exact listing id' phrasing implies this is the single-item counterpart to match_listings, and the schema notes the id comes from match_listings. However, the description itself gives no explicit when-to-use statement, no guidance on what to do if the listing is unpublished, and no named alternative.

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