Skip to main content
Glama

bizinsured

Server Details

AI-powered commercial insurance carrier recommendations for small businesses.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 43 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: classification, coverage suggestion, coverage explanation, carrier recommendation, and agent handoff. The descriptions explicitly guide sequencing, so an agent can easily select the right tool.

Naming Consistency5/5

All tool names use a consistent verb_noun pattern in snake_case (classify_business, suggest_coverages, get_carrier_recommendations, etc.). The only minor variation is connect_with_agent, which still follows the same readable style.

Tool Count5/5

Five tools is well-scoped for this advisory insurance workflow. Each tool is necessary, and no redundant or filler tools are present.

Completeness5/5

The surface covers the core lifecycle: classify a business, suggest coverages, explain coverage details, get carrier matches with estimates, and hand off to an agent. No obvious gaps for the stated recommendation-and-handoff purpose.

Available Tools

5 tools
classify_businessAInspect

Takes a natural language business description and returns matched class codes (NAICS, ISO GL, NCCI WC). Always call this first to understand the user's business type before making recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoTwo-letter state code
business_descriptionYesUser's description of their business

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the action (takes and returns) but does not disclose whether the operation has side effects, requires authentication, or is read-only. Given the lookup nature, this is adequate but not thorough.

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?

Two sentences deliver the function and usage guidance with no filler. The information is front-loaded and each sentence earns its place.

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?

Given the absence of an output schema and annotations, the description provides essential details: what it does, what it returns, and when to use it. It could detail return structure or state handling, but the current description is sufficient for a classification tool.

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 description coverage is 100%, so both parameters are already documented. The tool description reinforces the primary role of business_description but does not add new meaning beyond the schema, especially for the state parameter.

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 clearly states the tool's function: taking a natural language business description and returning matched class codes (NAICS, ISO GL, NCCI WC). This distinguishes it from sibling recommendation tools by positioning it as the upfront classification step.

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

Usage Guidelines5/5

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

Explicitly says 'Always call this first' and explains why (to understand the user's business type before making recommendations). This provides clear when-to-use guidance and implies ordering against the other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connect_with_agentAInspect

Generates a handoff to connect the user with a matched independent agent. Pass recommendation_id from get_carrier_recommendations when you have one, so the agent receives the estimate, and list every coverage the user asked for in risk_profile.desired_coverages, including ones that could not be estimated. Omit user_zip_code unless the user gave a ZIP code; never guess one.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_stateYes
risk_profileYes
user_zip_codeNoBusiness ZIP code. Include only if the user gave it. Never guess or use a placeholder.
recommendation_idNo
recommended_carriersNo
user_contact_preferenceNoeither

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It usefully discloses that the receiving agent gets the estimate and the full coverage list, but does not say whether this triggers outbound contact, requires user consent, is idempotent, or what happens on failure.

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?

Purpose is front-loaded in the first sentence, followed by three actionable directives. The later sentences are clause-heavy but every clause carries a distinct instruction, so there is little waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a side-effecting handoff tool with a nested schema, no annotations, and no output schema, the description covers the two riskiest inputs but omits the outcome (does the agent contact the user?), how user_state or recommended_carriers should be populated, and which nested risk_profile fields matter.

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 only 17%, so the description must compensate and largely does for the key inputs: it explains recommendation_id's origin, prescribes full coverage enumeration in risk_profile.desired_coverages, and adds a firm never-guess rule for user_zip_code beyond the schema's note. It still leaves user_state, recommended_carriers, user_contact_preference, and most nested risk_profile fields unaddressed.

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 outcome: 'Generates a handoff to connect the user with a matched independent agent.' It also names the sibling relationship by sourcing recommendation_id from get_carrier_recommendations, so an agent can place this tool in the workflow without opening other schemas.

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?

Gives conditional rules: pass recommendation_id 'when you have one,' list every requested coverage even if it could not be estimated, and omit user_zip_code unless the user supplied it. Strong context for invoking correctly, though it never states when this tool should not be used (e.g., user only wants quotes/info).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_coverageCInspect

Explains a commercial insurance coverage type in plain language.

ParametersJSON Schema
NameRequiredDescriptionDefault
coverage_typeYes
business_contextNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only states the output register. It does not disclose return format, behavior for unknown coverage types, the role of business_context, or any other behavioral traits.

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?

The description is a single, compact sentence with no redundant wording. It is front-loaded and easy to parse, even though it could be more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, the description is too thin. It does not explain what a 'plain language' explanation looks like, how business_context affects the result, or what happens with invalid inputs.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not compensate. The phrase 'coverage type' loosely maps to coverage_type, but business_context is entirely unexplained, and no example values or constraints are given.

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 uses a specific verb ('Explains') and resource ('commercial insurance coverage type') and adds the qualifier 'in plain language'. This clearly distinguishes it from sibling tools like suggest_coverages or get_carrier_recommendations.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives. The context is only implied by the verb 'explains', with no mention of scenarios, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_carrier_recommendationsBInspect

Returns carrier matches and market budget estimates. Supply confirmed classification and actual exposures. Missing inputs, unsupported terms and partial coverage are returned explicitly. State-fund WC is returned separately in stateFundEstimates, including an Ohio BWC estimate from published rates that is not a BWC quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
stateYes
sourceNo
zip_codeNo
naics_codeNo
deductiblesNo
has_alcoholNo
iso_gl_codeNo
serves_foodNo
has_deliveryNo
prior_lossesNo
vehicle_countNo
vehicle_typesNo
annual_payrollNoActual annual payroll; never infer from revenue
annual_revenueYes
building_valueNo
effective_dateNo
employee_countNo
square_footageNo
coverage_limitsNo
current_carrierNo
payroll_by_classNoActual payroll split by state and workers compensation classification
desired_coveragesYes
years_in_businessNo
prior_loss_detailsNo
experience_modifierNo
business_descriptionNo
business_property_valueNo
current_policy_expirationNoWhen the current policy expires or renews (YYYY-MM-DD), if known. Omit dates more than 365 days past or 730 days ahead

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose that missing inputs, unsupported terms, and partial coverage are returned explicitly, and that state-fund WC is separated into stateFundEstimates with a specific Ohio BWC estimate behavior. This adds some behavioral context, but it doesn't cover side effects, rate limits, or other potential behaviors. Given zero annotation coverage, it's a modest disclosure.

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?

Three sentences with no wasted words. It front-loads the main purpose, then adds prerequisite, error handling, and a special case. Each sentence provides distinct value, and the structure is logical and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 29 parameters, no output schema, and no annotations, the description is incomplete. It mentions stateFundEstimates but doesn't describe the overall return structure or what 'carrier matches' entails. It lacks details on how parameters interrelate, optionality, or expected response shape. An agent would be left guessing on many aspects.

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

Parameters1/5

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

Schema description coverage is only 10%, and the description does not compensate. It mentions 'confirmed classification and actual exposures' but doesn't map to specific parameters or explain their meaning. With 29 parameters, the description provides almost no guidance on what values to supply, making it insufficient for effective parameter usage.

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 clear purpose: returns carrier matches and market budget estimates. It also specifies prerequisites (confirmed classification and actual exposures). However, it doesn't explicitly differentiate from sibling tools like suggest_coverages, which might also return coverage recommendations, so it's clear but lacks explicit sibling differentiation.

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?

Provides a clear prerequisite: supply confirmed classification and actual exposures. It also indicates that missing inputs are handled explicitly. However, it does not mention when to use this tool versus alternatives, nor does it give any exclusions or routing guidance. The usage context is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_coveragesCInspect

Suggests which insurance coverages a business likely needs, ranked by importance.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes
verticalNo
naics_codeNo
iso_gl_codeNoConfirmed ISO GL code. For NAICS 531110 it separates 1-4 family rentals (63010) from apartment buildings (60010).
serves_foodNo
has_vehiclesNo
does_deliveryNo
employee_countNo
serves_alcoholNo
business_descriptionYes
handles_customer_dataNo
has_physical_locationNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that output is a ranked set of coverage suggestions, but it does not explain how suggestions are derived, what inputs are most important, whether external data is consulted, or what the response shape looks like.

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?

The description is a single, front-loaded sentence with no filler or repetition. It is appropriately concise, though additional usage or parameter detail would improve it without making it verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 12 parameters, no annotations, no output schema, and sibling tools to disambiguate, this description is incomplete. It does not explain required inputs, output format, or when to choose this versus sibling tools.

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

Parameters1/5

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

Schema description coverage is only 8%, and the description adds essentially no parameter meaning. It does not clarify the role of business_description, state, naics_code, vertical, or any of the boolean flags, leaving agents without the guidance needed to populate 12 parameters.

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 uses a specific verb ('suggests') with a clear resource ('which insurance coverages a business likely needs') and adds the ranked-by-importance output property. This distinguishes it from siblings like classify_business, explain_coverage, and get_carrier_recommendations.

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

Usage Guidelines2/5

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

The description gives no guidance about when to prefer this tool over the sibling tools, nor does it mention any prerequisites or alternatives. Usage context is only implied by the tool's name and purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedconnect_with_agent3 fields changed
      • addedInput schema / properties / user_zip_code / description
        Added value: +"Business ZIP code. Include only if the user gave it. Never guess or use a placeholder."
      • addedInput schema / properties / user_zip_code / pattern
        Added value: +"^\\d{5}(-\\d{4})?$"
      • changedInput schema / required
        Previous value: -[
        -  "risk_profile",
        -  "user_state",
        -  "user_zip_code"
        -]New value: +[
        +  "risk_profile",
        +  "user_state"
        +]
  2. 3 tool updates
    • Changedconnect_with_agent2 fields changed
      • addedInput schema / properties / risk_profile / properties / current_carrier
        Added value: +{
        +  "maxLength": 200,
        +  "type": "string"
        +}
      • addedInput schema / properties / risk_profile / properties / current_policy_expiration
        Added value: +{
        +  "description": "When the current policy expires or renews (YYYY-MM-DD), if known. Omit dates more than 365 days past or 730 days ahead",
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
    • Changedget_carrier_recommendations1 field changed
      • addedInput schema / properties / current_policy_expiration
        Added value: +{
        +  "description": "When the current policy expires or renews (YYYY-MM-DD), if known. Omit dates more than 365 days past or 730 days ahead",
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
    • Changedsuggest_coverages1 field changed
      • addedInput schema / properties / iso_gl_code
        Added value: +{
        +  "description": "Confirmed ISO GL code. For NAICS 531110 it separates 1-4 family rentals (63010) from apartment buildings (60010).",
        +  "type": "string"
        +}
  3. 2 tool updates
    • Changedconnect_with_agent1 field changed
      • addedInput schema / properties / recommendation_id
        Added value: +{
        +  "format": "uuid",
        +  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
        +  "type": "string"
        +}
    • Changedget_carrier_recommendations37 fields changed
      • addedInput schema / properties / annual_payroll
        Added value: +{
        +  "description": "Actual annual payroll; never infer from revenue",
        +  "maximum": 1000000000000,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / annual_revenue / maximum
        Added value: +1000000000000
      • addedInput schema / properties / annual_revenue / minimum
        Added value: +0
      • addedInput schema / properties / building_value
        Added value: +{
        +  "maximum": 1000000000000,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • removedInput schema / properties / business_description / default
        Removed value: -""
      • addedInput schema / properties / business_description / maxLength
        Added value: +4000
      • addedInput schema / properties / business_property_value
        Added value: +{
        +  "maximum": 1000000000000,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / city
        Added value: +{
        +  "maxLength": 200,
        +  "type": "string"
        +}
      • addedInput schema / properties / coverage_limits
        Added value: +{
        +  "additionalProperties": {
        +    "maxLength": 100,
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  "propertyNames": {
        +    "enum": [
        +      "BOP",
        +      "GL",
        +      "WC",
        +      "commercial_auto"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / current_carrier
        Added value: +{
        +  "maxLength": 200,
        +  "type": "string"
        +}
      • addedInput schema / properties / deductibles
        Added value: +{
        +  "additionalProperties": {
        +    "maximum": 1000000000000,
        +    "minimum": 0,
        +    "type": "number"
        +  },
        +  "propertyNames": {
        +    "enum": [
        +      "BOP",
        +      "GL",
        +      "WC",
        +      "commercial_auto"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / desired_coverages / maxItems
        Added value: +20
      • addedInput schema / properties / desired_coverages / minItems
        Added value: +1
      • addedInput schema / properties / effective_date
        Added value: +{
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
      • removedInput schema / properties / employee_count / default
        Removed value: -1
      • addedInput schema / properties / employee_count / maximum
        Added value: +1000000
      • addedInput schema / properties / employee_count / minimum
        Added value: +0
      • changedInput schema / properties / employee_count / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / experience_modifier
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "maximum": 10,
        +  "type": "number"
        +}
      • addedInput schema / properties / iso_gl_code / pattern
        Added value: +"^\\d{3,6}$"
      • addedInput schema / properties / naics_code / pattern
        Added value: +"^\\d{6}$"
      • addedInput schema / properties / payroll_by_class
        Added value: +{
        +  "description": "Actual payroll split by state and workers compensation classification",
        +  "items": {
        +    "properties": {
        +      "class_code": {
        +        "pattern": "^\\d{1,6}$",
        +        "type": "string"
        +      },
        +      "class_system": {
        +        "maxLength": 30,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "payroll": {
        +        "exclusiveMinimum": 0,
        +        "maximum": 1000000000000,
        +        "type": "number"
        +      },
        +      "state": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "state",
        +      "class_code",
        +      "payroll"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 100,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedInput schema / properties / prior_loss_details
        Added value: +{
        +  "maxLength": 4000,
        +  "type": "string"
        +}
      • removedInput schema / properties / prior_losses / default
        Removed value: -false
      • addedInput schema / properties / serves_food
        Added value: +{
        +  "type": "boolean"
        +}
      • addedInput schema / properties / source
        Added value: +{
        +  "maxLength": 50,
        +  "type": "string"
        +}
      • addedInput schema / properties / square_footage / maximum
        Added value: +1000000000000
      • addedInput schema / properties / square_footage / minimum
        Added value: +0
      • addedInput schema / properties / vehicle_count / maximum
        Added value: +1000000
      • addedInput schema / properties / vehicle_count / minimum
        Added value: +0
      • changedInput schema / properties / vehicle_count / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / vehicle_types
        Added value: +{
        +  "items": {
        +    "maxLength": 100,
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  "maxItems": 50,
        +  "type": "array"
        +}
      • removedInput schema / properties / years_in_business / default
        Removed value: -1
      • addedInput schema / properties / years_in_business / maximum
        Added value: +300
      • addedInput schema / properties / years_in_business / minimum
        Added value: +0
      • addedInput schema / properties / zip_code / pattern
        Added value: +"^\\d{5}(-\\d{4})?$"
      • changedInput schema / required
        Previous value: -[
        -  "naics_code",
        -  "state",
        -  "annual_revenue",
        -  "desired_coverages"
        -]New value: +[
        +  "state",
        +  "annual_revenue",
        +  "desired_coverages"
        +]
  4. 5 tool updates
    • First observedclassify_business
    • First observedconnect_with_agent
    • First observedexplain_coverage
    • First observedget_carrier_recommendations
    • First observedsuggest_coverages

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to get real home & auto insurance quotes and start binding through a network of licensed independent agencies.
    1
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources