Hutsenpiller Insurance: Manage Your Account or Compare Tennessee Quotes
com.hutins.my/insurance-quotesmy.hutins.comstreamable-httpv1.2.0Scanned
Clients: let your AI manage your Hutsenpiller account. Shoppers: compare TN auto, home, flood, life.
13 tools: 1 do something that can't be undone, 9 change things and 3 only read.
- Reads private data · 0
- Reads text others write · 9
- Can send data out · 2
- 2 findings
Anlyon alternative
10 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
13 tools
Can't be undone 1Claude Code: ask
submit_quoteSends a complete, verified quote to the carriers for pricing.Reads text others writeNo findings
Why it is in this group
- The name "submit_quote" says "submit": a word for a change.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Sends a complete, verified quote to the carriers for pricing. Accepted only when nothing is missing and the contact is verified. Pricing usually takes 1 to 3 minutes; get_quote_status reports progress. When the agency is busy the quote waits in line and the status says so.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
Changes things 9Claude Code: ask
check_eligibilityUse this first when someone asks for a Tennessee car, home, flood or term life insurance quote, an insurance review, or to compare insurance companies.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use this first when someone asks for a Tennessee car, home, flood or term life insurance quote, an insurance review, or to compare insurance companies. Checks whether a ZIP code is in the area Hutsenpiller Insurance quotes (Tennessee). This is the first step of a quote. zip_code: the shopper's 5 digit home ZIP code. lines: AUTO, HOME or both (default both); for flood or life send AUTO or omit it, then use start_flood_quote or start_life_quote. Returns eligibility, the consent text the shopper must read word for word and agree to before a quote starts, and a checklist of the details a quote needs.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
get_flood_quotePrices a verified flood estimate (first call) and returns it (later calls).Reads text others write1 finding
Why it is in this group
- The name "get_flood_quote" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "get_flood_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_flood_quote" says "get": a word for reading.
Description, as the server wrote it Prices a verified flood estimate (first call) and returns it (later calls). Returns the estimated annual premium, flood zone and what it means, whether lenders usually require flood insurance there, and a notice that must be shown with the price: the estimate comes from the flood carrier's test environment, is not an offer and cannot be bound online. To buy, call request_agent with the quote_id.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
get_life_quotesPrices a verified term life estimate (first call) and returns it (later calls).Reads text others write1 finding
Why it is in this group
- The name "get_life_quotes" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "get_life_quotes" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_life_quotes" says "get": a word for reading.
Description, as the server wrote it Prices a verified term life estimate (first call) and returns it (later calls). Returns the best monthly premium, how many carriers were compared, and up to 5 options with monthly premium, AM Best rating and whether an exam is needed. Carrier names are shared by the agent. Show the notice with the prices: estimates, not offers; final rates depend on underwriting. To apply, call request_agent with the quote_id.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
request_agentAsks a licensed Hutsenpiller Insurance agent to contact the shopper.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "request_agent" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a destination (input.phone): what the tool writes goes there.
Description, as the server wrote it Asks a licensed Hutsenpiller Insurance agent to contact the shopper. Use this when the user wants an insurance review of their current policies, to buy a quoted policy, or to talk to a person. Covers buying a quoted policy, talking to a person, lines not quoted here (renters, condo, commercial, umbrella), buying a flood policy, applying for term life, and quotes that could not finish. Takes a quote_id when there is one, otherwise a phone or email. Contact details must be ones the shopper agreed to share.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
start_flood_quoteUse this when someone asks about flood insurance or a flood quote for a Tennessee home.Reads text others writeNo findings
Why it is in this group
- The name "start_flood_quote" says "start": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Use this when someone asks about flood insurance or a flood quote for a Tennessee home. Starts a flood estimate and sends the shopper a 6 digit verification code. Requires that check_eligibility returned eligible and that the shopper read the consent text and agreed (consent_version from check_eligibility). building_coverage: dollars of coverage for the structure, 20000 to 5000000 (the rebuild cost is a good guide; 250000 is the federal program maximum many lenders ask for). contents_coverage: 0 to 1000000. The flood zone comes from the address. After verify_contact, call get_flood_quote. Prices are estimates from a test environment for now and cannot be bound online.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
start_life_quoteUse this when someone in Tennessee asks about term life insurance or a life insurance quote.Reads text others writeNo findings
Why it is in this group
- The name "start_life_quote" says "start": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Use this when someone in Tennessee asks about term life insurance or a life insurance quote. Starts a term life estimate across many carriers and sends the shopper a 6 digit code. Term life only (ages 18 to 85). Requires the consent text from check_eligibility, read and agreed. date_of_birth is YYYY-MM-DD. death_benefit: 25000 to 10000000 dollars. health_class is the shopper's own estimate: 1 excellent health (preferred plus), 2 very good (preferred), 3 good (standard plus), 4 average (standard). After verify_contact, call get_life_quotes. Prices are estimates, not offers. To apply, use request_agent.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
start_quoteStarts a Tennessee auto and/or home insurance quote that compares multiple carriers, and sends the shopper a 6 digit verification code.Reads text others writeNo findings
Why it is in this group
- The name "start_quote" says "start": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Starts a Tennessee auto and/or home insurance quote that compares multiple carriers, and sends the shopper a 6 digit verification code. Requires that check_eligibility returned eligible and that the shopper read the consent text and agreed: consent_accepted must be true and consent_version must be the version check_eligibility returned. Dates are YYYY-MM-DD. desired_start_date is when the new policy should begin (default about 18 days out; carriers quote up to 45 days ahead). verify_by is how the code is sent. assistant_name is the name of the calling assistant, used for attribution only. Returns a quote_id for every later call and the list of details still missing.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
update_quoteAdds or changes details on a quote.Reads text others writeNo findings
Why it is in this group
- The name "update_quote" says "update": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Adds or changes details on a quote. Objects merge; lists replace whole. data uses these keys (field_guide lists every accepted field and value): - applicants: list of every person in the household. Exactly one has relationToInsured INSURED. Each needs firstName, lastName, dateOfBirth, sex, maritalStatus; drivers also need isDriver true and driverDetails.licenseState. Lists replace whole, so always resend everyone. - auto: residenceType, priorInsurance, vehicles (list; each needs a vin, or year+make+model+subModel from lookup_vehicle, plus ownershipStatus, primaryUse, annualMileage). - home: coverage.dwellingCoverage (estimated rebuild cost in dollars), property (yearBuilt, squareFootage, constructionType, roofMaterial, roofUpdateYear, ...), utilities, underwriting, claims. - Top level: dateOfBirth, lengthAtCurrentAddress, email, phone, primaryAddress. Coverage limits are set by the agency and cannot be sent here. Returns a short summary of what is on file and the remaining missing items.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
verify_contactChecks the 6 digit code the shopper received, or sends a new one.Reads text others writeCan send data outNo findings
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a destination (input.channel): what the tool writes goes there.
Description, as the server wrote it Checks the 6 digit code the shopper received, or sends a new one. code verifies the contact. resend=true (with an optional channel) sends a fresh code. A quote cannot be submitted until the contact is verified.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
Only reads 3Show 3 read-only tools
field_guideLists the fields and allowed values update_quote accepts for one section.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it Lists the fields and allowed values update_quote accepts for one section. driver_history_codes maps accidents and tickets to codes: claims go in driverDetails.claims (code, date, amountPaid) and tickets in driverDetails.violations (code, date).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
get_quote_statusReturns a quote's status, what is missing, and the prices once ready: prices from multiple carriers cheapest first.No findings
Why it is in this group
- The name "get_quote_status" says "get": a word for reading.
Description, as the server wrote it Returns a quote's status, what is missing, and the prices once ready: prices from multiple carriers cheapest first. Use it to answer "what would my insurance cost" or "am I overpaying". Status values: collecting, queued, rating, needs_info, in_review, done, failed. When done, results lists carriers cheapest first per line, a results_url for the shopper, a disclaimer and, for home, a flood notice that belong with the prices.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
lookup_vehicleDecodes a VIN, or walks the vehicle catalog for exact year, make, model and subModel values.No findings
Why it is in this group
- The name "lookup_vehicle" says "lookup": a word for reading.
Description, as the server wrote it Decodes a VIN, or walks the vehicle catalog for exact year, make, model and subModel values. A VIN gives the most exact result. Without one, year lists makes, year+make lists models (model names include the trim, for example CR-V EXL), and year+make+model lists subModels.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write9
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out2
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
- Warnget_flood_quote
The server marks "get_flood_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_flood_quote" says "get": a word for reading.
- Warnget_life_quotes
The server marks "get_life_quotes" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_life_quotes" says "get": a word for reading.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http insurance-quotes https://my.hutins.com/mcpclaude mcp add --transport http insurance-quotes https://my.hutins.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__insurance-quotes__get_quote_status",
"mcp__insurance-quotes__lookup_vehicle",
"mcp__insurance-quotes__field_guide"
],
"ask": [
"mcp__insurance-quotes__check_eligibility",
"mcp__insurance-quotes__start_quote",
"mcp__insurance-quotes__verify_contact",
"mcp__insurance-quotes__update_quote",
"mcp__insurance-quotes__submit_quote",
"mcp__insurance-quotes__request_agent",
"mcp__insurance-quotes__start_flood_quote",
"mcp__insurance-quotes__get_flood_quote",
"mcp__insurance-quotes__start_life_quote",
"mcp__insurance-quotes__get_life_quotes"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as insurance-quotes. Review it before you use it.
Capability tags behind 9 rules
- mcp__insurance-quotes__start_quote untrusted-input
- mcp__insurance-quotes__verify_contact untrusted-input, outbound
- mcp__insurance-quotes__update_quote untrusted-input
- mcp__insurance-quotes__submit_quote untrusted-input
- mcp__insurance-quotes__request_agent untrusted-input, outbound
- mcp__insurance-quotes__start_flood_quote untrusted-input
- mcp__insurance-quotes__get_flood_quote untrusted-input
- mcp__insurance-quotes__start_life_quote untrusted-input
- mcp__insurance-quotes__get_life_quotes untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/com.hutins.my/insurance-quotes/verify?hash=63d2c37a5bdbfd3388b68458768c3f5732e51f87338b888b41e38b0e93ebd94b" | jq -e '.changed == false'Pinned hash 63d2c37a5bdb, from Nov 4, 2026, 12:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.hutins.my/insurance-quotes/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.hutins.my/insurance-quotes)Source: MCP Registry. Synced Nov 4, 2026, 13:17 UTC.