Skip to main content
Glama

Insurance Research Expert by Spot

Compare published insurance providers

compare_providers
Read-only

Retrieve a published, sourced provider comparison. Provider aliases and reversed ordering resolve to the one canonical comparison. Optional coverage (for example "cyber", "D&O" or "workers comp") also lists each provider's published offering page for that line; per-coverage line comparisons are retired and their URLs redirect to the pair comparison. Optional need runs a bounded editorial judgment over that page only; it does not invent a ranking or a purchase recommendation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
needNo
coverageNo
providerAYes
providerBYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
foundYes
coverageNo
judgmentNo
offeringsNo
providersYes
comparisonNo
spotCalloutYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedOutput schema / properties / lineComparisons
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "coverage": {
      -        "type": "string"
      -      },
      -      "path": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "coverage",
      -      "path"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / offerings
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "coverage": {
      +        "type": "string"
      +      },
      +      "path": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "provider",
      +      "coverage",
      +      "path"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / properties / coverage
      Added value: +{
      +  "maxLength": 100,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / coverage
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "found": {
      +      "type": "boolean"
      +    },
      +    "key": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "key",
      +    "found"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / lineComparisons
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "coverage": {
      +        "type": "string"
      +      },
      +      "path": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "coverage",
      +      "path"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / need
      Added value: +{
      +  "maxLength": 500,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • addedOutput schema / properties / judgment
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "addressesNeed": {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    "confidence": {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    "limitation": {
      +      "type": "string"
      +    },
      +    "model": {
      +      "type": "string"
      +    },
      +    "outcome": {
      +      "type": "string"
      +    },
      +    "qualification": {
      +      "type": "string"
      +    },
      +    "reason": {
      +      "enum": [
      +        "unsupported_request",
      +        "inference_unavailable",
      +        "quota_unavailable",
      +        "generation_failed",
      +        "generation_timeout",
      +        "invalid_judgment",
      +        "client_rate_limit",
      +        "daily_generation_limit"
      +      ],
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "judged",
      +        "unsupported",
      +        "limited",
      +        "unavailable"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "qualification"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • removedOutput schema / properties / comparison / properties / verifiedAt
      Removed value: -{
      -  "type": "string"
      -}
  5. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds genuinely non-obvious behavior: aliases and reversed orderings collapse to one canonical comparison, retired per-coverage URLs redirect to the pair comparison, and the 'need' input runs only a bounded editorial judgment without inventing rankings or purchase recommendations. These are meaningful operational constraints the agent could not infer from structured fields.

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?

Three sentences, front-loaded with the core operation and then the optional-input semantics; little waste. The final sentence is clause-heavy ('does not invent a ranking or a purchase recommendation') but each clause adds a distinct constraint, so it earns its length.

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?

With an output schema present, return values need not be described, and annotations cover safety, so the description focuses correctly on behavior and optional-input effects. It is nearly complete; the only omission is failure behavior for an unknown or unpublished provider, which matters for a lookup tool that resolves aliases.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry the load, and it does for the two optional parameters: 'coverage' gets concrete examples ('cyber', 'D&O', 'workers comp') and an effect (lists each provider's published offering page for that line), while 'need' is described as a bounded editorial judgment. providerA/providerB are covered indirectly via the note that aliases and reversed ordering resolve to the canonical comparison, implying order-insensitivity and alias tolerance. A brief note on what an unresolvable provider name yields would close the remaining gap.

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?

The description opens with a specific verb and resource ('Retrieve a published, sourced provider comparison') and immediately narrows the scope to a canonical two-provider pair, which cleanly separates it from sibling tools like get_rankings, get_provider_score, and get_provider_reviews. An agent can identify the operation and its bounded nature without opening the schema.

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 rather than stated: the mention of 'Optional coverage' and 'Optional need' tells the agent what the optional inputs trigger, and the note that per-coverage line comparisons are retired implicitly tells the agent not to look for a separate line-level tool. However, there is no explicit when-to-use/when-not guidance or named alternative among the nine sibling tools.

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.