bizinsured
Server Details
AI-powered commercial insurance carrier recommendations for small businesses.
- Status
- Healthy
- Uptime
- 100.0% over 78 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool owns a distinct step in the insurance funnel: classification, coverage suggestion, premium/carrier lookup, coverage explanation, and agent handoff. Descriptions explicitly cross-reference each other (e.g. suggest_coverages states it returns no prices and points to get_carrier_recommendations), eliminating the main potential overlap.
All five tools follow a strict verb_noun snake_case pattern: classify_business, suggest_coverages, get_carrier_recommendations, explain_coverage, connect_with_agent. The convention is applied uniformly with no deviations.
Five tools map cleanly onto the advisory workflow stages (classify -> suggest -> estimate -> explain -> connect) with no redundant or vestigial entries. The scope is tight and each tool is justified.
The core lifecycle from business classification through carrier estimates to agent referral is well covered, including prerequisites and handoff via recommendation_id. Minor gaps exist (no retrieval of a prior recommendation or referral status), but agents can work around these within the chat funnel.
Available Tools
5 toolsclassify_businessClassify a businessARead-onlyIdempotentInspect
Use this first when the user describes what their business does, to find its insurance classification before suggesting coverages or estimating premiums. Pass only the business activity, for example 'bakery' or 'HVAC contractor'; leave out the business name, city and other details. Returns up to five candidate NAICS, ISO general liability and NCCI workers' comp code sets with a text-similarity score (not an underwriting confidence) and needsClarification. When needsClarification is true, ask the user which activity fits instead of choosing one.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter code of the US state where the business operates, not the user's current location | |
| business_description | Yes | The business activity only, e.g. 'bakery' or 'HVAC contractor' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, and the description adds substantive behavior beyond them: it caps results at five candidates, clarifies that the similarity score is not an underwriting confidence, and defines the needsClarification signal plus the required handling. That is real operational context, not restatement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each carrying distinct load: invocation timing, input constraint, return shape, and edge-case handling. The most important guidance (use first) is front-loaded, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description responsibly describes the return payload (up to five candidate code sets with a similarity score and needsClarification). The only gap is that the optional state parameter is never characterized, which matters because the schema explicitly warns it is the operating state rather than the user's location.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 in the schema (including the same 'bakery'/'HVAC contractor' example). The description adds a filtering instruction ('leave out the business name, city and other details') that goes slightly beyond the schema, but it never mentions the state parameter, so it does not fully enrich parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (find a business's insurance classification) and explicitly positions itself relative to siblings: 'Use this first ... before suggesting coverages or estimating premiums.' An agent can distinguish it from suggest_coverages, explain_coverage, and get_carrier_recommendations without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('first, when the user describes what their business does'), states the downstream tools it precedes, tells the agent what to include versus exclude in the input, and prescribes the fallback action when needsClarification is true ('ask the user which activity fits instead of choosing one').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_with_agentRequest a licensed agentAInspect
Use this only when the user asks to speak with an agent, get real quotes or have their coverage reviewed. Saves a referral with the business details, and the linked estimate when you pass recommendation_id, for review by a licensed agent: the BizInsured team for Ohio businesses, or a partner agent elsewhere when one is available. Returns a bizinsured.ai link where the user can choose to submit contact details. The tool does not contact anyone or request a quote, and nothing is shared with an agent until the user submits that form. Do not ask for names, emails or phone numbers in chat. Each call creates a new referral, so call it once per request.
| Name | Required | Description | Default |
|---|---|---|---|
| user_state | Yes | Two-letter code of the US state where the business operates, not the user's current location | |
| risk_profile | Yes | ||
| recommendation_id | No | recommendationId from get_carrier_recommendations, when you have one | |
| user_contact_preference | No | either |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds rich behavior beyond the annotations: each call creates a new referral (reinforcing idempotentHint=false), the tool does not itself contact anyone or request a quote, and nothing is shared until the user submits the returned form. These are non-obvious lifecycle facts that annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the routing condition and constraint, and every sentence carries weight (behavior, prerequisites, restrictions). Slightly dense and multi-clause, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly explains the return value (a bizinsured.ai link where the user submits contact details) and the full side-effect profile. For a nested-parameter, non-idempotent write tool, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, so the description carries partial burden. It clarifies recommendation_id's effect ('the linked estimate when you pass recommendation_id') which is genuinely beyond the schema, but says nothing about the risk_profile object's many fields. Baseline 3 is appropriate given the schema documents the key enum and state fields itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource (saves a referral for review by a licensed agent, returns a bizinsured.ai link) and clearly separates this from siblings by defining the outcome. An agent can distinguish it from get_carrier_recommendations and classify_business without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it ('only when the user asks to speak with an agent, get real quotes or have their coverage reviewed'), names the upstream dependency (recommendation_id from get_carrier_recommendations), and gives operational constraints ('call it once per request', don't ask for names/emails/phones). This is true when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_coverageExplain a coverageARead-onlyIdempotentInspect
Use this when the user asks what a commercial insurance coverage is or how two coverages differ. Returns a plain-language explanation of one coverage type; call it once per coverage. It cannot tell whether a specific policy covers a specific claim.
| Name | Required | Description | Default |
|---|---|---|---|
| coverage_type | Yes | general liability = GL, workers comp = WC, business owners policy = BOP, errors and omissions = professional_liability, employment practices = EPLI, liquor = liquor_liability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds genuine behavioral context beyond them: the output is plain-language, the tool is one-coverage-per-call, and it cannot adjudicate policy-specific claim coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the usage trigger, no filler. Each sentence adds a distinct fact: when to use, what it returns, and what it cannot do.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description compensates by stating the return form (plain-language explanation) and the tool's boundary condition. For a single-enum-parameter read tool, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum even documents synonym mappings (GL = general liability, etc.), so the schema carries the detail. The description still adds the calling-unit semantics ('once per coverage'), clarifying that multi-coverage questions require multiple calls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (explain) on a specific resource (a commercial insurance coverage) and scopes it to a single coverage type per call. It is clearly distinguishable from siblings like suggest_coverages and classify_business, which do different jobs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('when the user asks what a commercial insurance coverage is or how two coverages differ'), an invocation pattern ('call it once per coverage'), and an exclusion ('cannot tell whether a specific policy covers a specific claim'). Nothing about when to use or avoid it is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_carrier_recommendationsEstimate premiums and match carriersAInspect
Use this when the user wants premium estimates or carrier options for BOP, GL, WC or commercial_auto and you have the confirmed classification, the business's state, annual revenue and at least one coverage. Returns carriers whose appetite data matches, market budget estimates (not quotes) with sources, assumptions and caveats, and explicit estimateIssues for missing or unsupported inputs. Workers' comp in OH, WA, ND and WY is returned separately in stateFundEstimates; the Ohio figure is an estimate from published BWC rates, not a BWC quote. Omit any value the user did not give; never infer payroll from revenue. Each call saves the inputs and results in BizInsured's records and returns a recommendationId to pass to connect_with_agent; nothing is sent to carriers or agents.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter code of the US state where the business operates | |
| naics_code | No | ||
| deductibles | No | ||
| has_alcohol | No | ||
| iso_gl_code | No | ||
| has_delivery | No | ||
| prior_losses | No | ||
| vehicle_count | No | ||
| annual_payroll | No | Actual annual payroll; never infer from revenue | |
| annual_revenue | Yes | ||
| building_value | No | ||
| effective_date | No | ||
| employee_count | No | ||
| square_footage | No | ||
| coverage_limits | No | ||
| payroll_by_class | No | Actual payroll split by state and workers compensation classification | |
| desired_coverages | Yes | ||
| years_in_business | No | ||
| experience_modifier | No | ||
| business_description | No | The business activity, as confirmed with classify_business | |
| business_property_value | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: outputs are market budget estimates, not quotes; WC in OH/WA/ND/WY is returned separately in stateFundEstimates with the Ohio figure sourced from published BWC rates; missing inputs surface as estimateIssues; and each call persists data and returns a recommendationId, consistent with readOnlyHint=false and non-idempotent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the invocation trigger, then returns, then caveats and persistence, with no filler sentences. It is dense but each clause serves a purpose, though the WC state-fund detail is a lengthy aside.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 21-parameter tool with no output schema, the description does describe the return shape (matching carriers, budget estimates with sources/assumptions/caveats, estimateIssues, stateFundEstimates, recommendationId) and the required inputs. Remaining gaps are the undocumented optional parameters and details like effective_date or coverage_limits semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 19% schema description coverage across 21 parameters, the description carries the burden, and it does clarify the key required inputs (state, annual revenue, desired_coverages) and the payroll-vs-revenue distinction. However, it says nothing about many optional inputs such as deductibles, coverage_limits, iso_gl_code, experience_modifier, or payroll_by_class, so the compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs and resources (premium estimates and carrier matching) and scopes them to named coverage lines (BOP, GL, WC, commercial_auto). It also distinguishes itself from siblings by requiring 'the confirmed classification', implicitly routing after classify_business rather than suggest_coverages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit preconditions for invocation: confirmed classification, business state, annual revenue, and at least one coverage. It also prescribes data-handling behavior ('Omit any value the user did not give; never infer payroll from revenue') but never names a sibling alternative or a when-not-to-use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_coveragesSuggest coveragesARead-onlyIdempotentInspect
Use this when the user asks which commercial insurance coverages their business needs. Returns coverages ranked essential, recommended or optional, each with a reason, based on the confirmed class codes and the facts the user stated. Pass naics_code and iso_gl_code from classify_business after the user confirms them, and leave out facts the user did not give. Returns no prices; use get_carrier_recommendations for estimates.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter code of the US state where the business operates, not the user's current location | |
| vertical | No | topMatch.vertical from classify_business; derived from the class codes when omitted | |
| naics_code | No | Confirmed NAICS code from classify_business | |
| iso_gl_code | No | Confirmed ISO GL code. For NAICS 531110 it separates 1-4 family rentals (63010) from apartment buildings (60010). | |
| serves_food | No | ||
| has_vehicles | No | ||
| does_delivery | No | ||
| employee_count | No | ||
| serves_alcohol | No | ||
| business_description | Yes | The business activity, as confirmed with classify_business | |
| handles_customer_data | No | ||
| has_physical_location | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely useful behavior: it derives results from confirmed class codes plus stated facts, and explicitly returns no prices. It doesn't cover latency or whether omitted facts degrade ranking quality, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the trigger condition, then inputs, then exclusions, then the sibling redirect. No repetition of schema or name and nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only 12-param tool with no output schema, the description covers trigger, input sourcing, and that the return is a ranked list with reasons. It does not explain how ranking changes with optional facts, but nothing critical for a correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 42% across 12 params, so the description must compensate. It clarifies sourcing for naics_code/iso_gl_code and instructs omission of unstated facts, but says nothing about employee_count, serves_alcohol, has_vehicles, or other booleans that drive ranking. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (suggest) and resource (commercial insurance coverages) and describes the output shape: rankings of essential/recommended/optional, each with a reason. An agent can distinguish it from get_carrier_recommendations, which is explicitly named as the pricing alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use trigger ('user asks which coverages their business needs'), what to pass (naics_code and iso_gl_code from classify_business, after confirmation), what to omit (facts the user did not give), and which sibling to use instead for prices. Nothing is left to inference.
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.
5 tool updates
- Changed
classify_business4 fields changed- changed
Input schema / properties / business_description / descriptionPrevious value: -"User's description of their business"New value: +"The business activity only, e.g. 'bakery' or 'HVAC contractor'" - added
Input schema / properties / business_description / maxLengthAdded value: +500 - added
Input schema / properties / business_description / minLengthAdded value: +2 - changed
Input schema / properties / state / descriptionPrevious value: -"Two-letter state code"New value: +"Two-letter code of the US state where the business operates, not the user's current location"
- Changed
connect_with_agent20 fields changed- added
Input schema / properties / recommendation_id / descriptionAdded value: +"recommendationId from get_carrier_recommendations, when you have one" - removed
Input schema / properties / recommended_carriersRemoved value: -{ - "items": { - "type": "string" - }, - "type": "array" -} - added
Input schema / properties / risk_profile / properties / annual_revenue / minimumAdded value: +0 - added
Input schema / properties / risk_profile / properties / business_description / maxLengthAdded value: +500 - added
Input schema / properties / risk_profile / properties / desired_coverages / descriptionAdded value: +"Every coverage the user asked for, including ones BizInsured cannot estimate" - added
Input schema / properties / risk_profile / properties / desired_coverages / items / maxLengthAdded value: +50 - added
Input schema / properties / risk_profile / properties / desired_coverages / items / minLengthAdded value: +1 - added
Input schema / properties / risk_profile / properties / desired_coverages / maxItemsAdded value: +20 - added
Input schema / properties / risk_profile / properties / employee_count / maximumAdded value: +1000000 - added
Input schema / properties / risk_profile / properties / employee_count / minimumAdded value: +0 - changed
Input schema / properties / risk_profile / properties / employee_count / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / risk_profile / properties / iso_gl_code / patternAdded value: +"^\\d{3,6}$" - added
Input schema / properties / risk_profile / properties / naics_code / descriptionAdded value: +"Confirmed NAICS code from classify_business" - added
Input schema / properties / risk_profile / properties / naics_code / patternAdded value: +"^\\d{6}$" - added
Input schema / properties / risk_profile / properties / ncci_wc_code / patternAdded value: +"^\\d{3,6}$" - added
Input schema / properties / risk_profile / properties / vertical / maxLengthAdded value: +50 - added
Input schema / properties / risk_profile / properties / years_in_business / maximumAdded value: +300 - added
Input schema / properties / risk_profile / properties / years_in_business / minimumAdded value: +0 - added
Input schema / properties / user_state / descriptionAdded value: +"Two-letter code of the US state where the business operates, not the user's current location" - removed
Input schema / properties / user_zip_codeRemoved value: -{ - "description": "Business ZIP code. Include only if the user gave it. Never guess or use a placeholder.", - "pattern": "^\\d{5}(-\\d{4})?$", - "type": "string" -}
- Changed
explain_coverage3 fields changed- removed
Input schema / properties / business_contextRemoved value: -{ - "type": "string" -} - added
Input schema / properties / coverage_type / descriptionAdded value: +"general liability = GL, workers comp = WC, business owners policy = BOP, errors and omissions = professional_liability, employment practices = EPLI, liquor = liquor_liability" - added
Input schema / properties / coverage_type / enumAdded value: +[ + "BOP", + "GL", + "WC", + "commercial_auto", + "liquor_liability", + "cyber", + "professional_liability", + "EPLI", + "umbrella", + "dwelling_fire", + "commercial_property", + "loss_of_rents", + "inland_marine", + "stop_gap_employers_liability", + "food_spoilage" +]
- Changed
get_carrier_recommendations11 fields changed- added
Input schema / properties / business_description / descriptionAdded value: +"The business activity, as confirmed with classify_business" - changed
Input schema / properties / business_description / maxLengthPrevious value: -4000New value: +500 - removed
Input schema / properties / cityRemoved value: -{ - "maxLength": 200, - "type": "string" -} - removed
Input schema / properties / current_carrierRemoved value: -{ - "maxLength": 200, - "type": "string" -} - removed
Input schema / properties / current_policy_expirationRemoved 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" -} - removed
Input schema / properties / prior_loss_detailsRemoved value: -{ - "maxLength": 4000, - "type": "string" -} - removed
Input schema / properties / serves_foodRemoved value: -{ - "type": "boolean" -} - removed
Input schema / properties / sourceRemoved value: -{ - "maxLength": 50, - "type": "string" -} - added
Input schema / properties / state / descriptionAdded value: +"Two-letter code of the US state where the business operates" - removed
Input schema / properties / vehicle_typesRemoved value: -{ - "items": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "maxItems": 50, - "type": "array" -} - removed
Input schema / properties / zip_codeRemoved value: -{ - "pattern": "^\\d{5}(-\\d{4})?$", - "type": "string" -}
- Changed
suggest_coverages12 fields changed- added
Input schema / properties / business_description / descriptionAdded value: +"The business activity, as confirmed with classify_business" - added
Input schema / properties / business_description / maxLengthAdded value: +500 - added
Input schema / properties / business_description / minLengthAdded value: +2 - added
Input schema / properties / employee_count / maximumAdded value: +1000000 - added
Input schema / properties / employee_count / minimumAdded value: +0 - changed
Input schema / properties / employee_count / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / iso_gl_code / patternAdded value: +"^\\d{3,6}$" - added
Input schema / properties / naics_code / descriptionAdded value: +"Confirmed NAICS code from classify_business" - added
Input schema / properties / naics_code / patternAdded value: +"^\\d{6}$" - added
Input schema / properties / state / descriptionAdded value: +"Two-letter code of the US state where the business operates, not the user's current location" - added
Input schema / properties / vertical / descriptionAdded value: +"topMatch.vertical from classify_business; derived from the class codes when omitted" - added
Input schema / properties / vertical / maxLengthAdded value: +50
1 tool update
- Changed
connect_with_agent3 fields changed- added
Input schema / properties / user_zip_code / descriptionAdded value: +"Business ZIP code. Include only if the user gave it. Never guess or use a placeholder." - added
Input schema / properties / user_zip_code / patternAdded value: +"^\\d{5}(-\\d{4})?$" - changed
Input schema / requiredPrevious value: -[ - "risk_profile", - "user_state", - "user_zip_code" -]New value: +[ + "risk_profile", + "user_state" +]
3 tool updates
- Changed
connect_with_agent2 fields changed- added
Input schema / properties / risk_profile / properties / current_carrierAdded value: +{ + "maxLength": 200, + "type": "string" +} - added
Input schema / properties / risk_profile / properties / current_policy_expirationAdded 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" +}
- Changed
get_carrier_recommendations1 field changed- added
Input schema / properties / current_policy_expirationAdded 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" +}
- Changed
suggest_coverages1 field changed- added
Input schema / properties / iso_gl_codeAdded value: +{ + "description": "Confirmed ISO GL code. For NAICS 531110 it separates 1-4 family rentals (63010) from apartment buildings (60010).", + "type": "string" +}
2 tool updates
- Changed
connect_with_agent1 field changed- added
Input schema / properties / recommendation_idAdded 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" +}
- Changed
get_carrier_recommendations37 fields changed- added
Input schema / properties / annual_payrollAdded value: +{ + "description": "Actual annual payroll; never infer from revenue", + "maximum": 1000000000000, + "minimum": 0, + "type": "number" +} - added
Input schema / properties / annual_revenue / maximumAdded value: +1000000000000 - added
Input schema / properties / annual_revenue / minimumAdded value: +0 - added
Input schema / properties / building_valueAdded value: +{ + "maximum": 1000000000000, + "minimum": 0, + "type": "number" +} - removed
Input schema / properties / business_description / defaultRemoved value: -"" - added
Input schema / properties / business_description / maxLengthAdded value: +4000 - added
Input schema / properties / business_property_valueAdded value: +{ + "maximum": 1000000000000, + "minimum": 0, + "type": "number" +} - added
Input schema / properties / cityAdded value: +{ + "maxLength": 200, + "type": "string" +} - added
Input schema / properties / coverage_limitsAdded value: +{ + "additionalProperties": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "enum": [ + "BOP", + "GL", + "WC", + "commercial_auto" + ], + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / current_carrierAdded value: +{ + "maxLength": 200, + "type": "string" +} - added
Input schema / properties / deductiblesAdded value: +{ + "additionalProperties": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + }, + "propertyNames": { + "enum": [ + "BOP", + "GL", + "WC", + "commercial_auto" + ], + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / desired_coverages / maxItemsAdded value: +20 - added
Input schema / properties / desired_coverages / minItemsAdded value: +1 - added
Input schema / properties / effective_dateAdded value: +{ + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +} - removed
Input schema / properties / employee_count / defaultRemoved value: -1 - added
Input schema / properties / employee_count / maximumAdded value: +1000000 - added
Input schema / properties / employee_count / minimumAdded value: +0 - changed
Input schema / properties / employee_count / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / experience_modifierAdded value: +{ + "exclusiveMinimum": 0, + "maximum": 10, + "type": "number" +} - added
Input schema / properties / iso_gl_code / patternAdded value: +"^\\d{3,6}$" - added
Input schema / properties / naics_code / patternAdded value: +"^\\d{6}$" - added
Input schema / properties / payroll_by_classAdded 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" +} - added
Input schema / properties / prior_loss_detailsAdded value: +{ + "maxLength": 4000, + "type": "string" +} - removed
Input schema / properties / prior_losses / defaultRemoved value: -false - added
Input schema / properties / serves_foodAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / sourceAdded value: +{ + "maxLength": 50, + "type": "string" +} - added
Input schema / properties / square_footage / maximumAdded value: +1000000000000 - added
Input schema / properties / square_footage / minimumAdded value: +0 - added
Input schema / properties / vehicle_count / maximumAdded value: +1000000 - added
Input schema / properties / vehicle_count / minimumAdded value: +0 - changed
Input schema / properties / vehicle_count / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / vehicle_typesAdded value: +{ + "items": { + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "maxItems": 50, + "type": "array" +} - removed
Input schema / properties / years_in_business / defaultRemoved value: -1 - added
Input schema / properties / years_in_business / maximumAdded value: +300 - added
Input schema / properties / years_in_business / minimumAdded value: +0 - added
Input schema / properties / zip_code / patternAdded value: +"^\\d{5}(-\\d{4})?$" - changed
Input schema / requiredPrevious value: -[ - "naics_code", - "state", - "annual_revenue", - "desired_coverages" -]New value: +[ + "state", + "annual_revenue", + "desired_coverages" +]
5 tool updates
- First observed
classify_business - First observed
connect_with_agent - First observed
explain_coverage - First observed
get_carrier_recommendations - First observed
suggest_coverages
Related MCP Connectors
Commercial insurance research: provider comparisons, pricing, and fit guidance.
Business insurance advice and real carrier quotes for U.S. small businesses from a licensed broker.
Insurance agency AI policy drafts, data-rule checks, workflows, and pricing.
Wholesale commercial insurance appetite, submissions, policies, payments, and broker workflows.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to get real home & auto insurance quotes and start binding through a network of licensed independent agencies.2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered insurance marketing campaign management with audience targeting recommendations and personalized content generation for different insurance products and marketing channels.MIT
- AlicenseAqualityDmaintenanceAssess your business's AI automation readiness across 20 industries. Get a personalized score, specific recommendations, and time/revenue impact estimates25 npm1MIT
- FlicenseNot gradedqualityDmaintenanceProvides an AI-powered insurance assistant with tools for customer, policy, claim, premium, fraud detection, and policy renewal operations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.