Seaworthy Insurance
OfficialThis MCP server lets AI agents interact with Seaworthy Insurance, an independent disability insurance brokerage, to retrieve information and submit quote requests on behalf of users.
Submit a quote request: Collect user details (name, email, phone, profession, state, DOB, gender, income) and submit to the Seaworthy sales pipeline. A licensed broker follows up within one business day. Requires explicit user consent before submission.
Get a specialty/profession guide: Retrieve tailored disability insurance coverage guidance for specific professions or medical specialties (e.g., CRNAs, dentists, orthopedic surgeons, attorneys).
Compare carriers: Get a structured, carrier-neutral comparison of five major individual disability insurance carriers — Guardian, MassMutual, Principal, Ameritas, and The Standard — optionally filtered by profession or priority (e.g., own-occupation language, COLA, price, financial strength).
Estimate benefit cap gap: Calculate the income replacement gap between a group LTD benefit cap and a target replacement level, factoring in income, tax rates, and benefit taxability.
List riders: Retrieve structured definitions and trade-offs for major disability insurance riders (e.g., residual, COLA, future increase option, own-occupation, return of premium, catastrophic).
Read education articles: Access named educational articles on disability insurance topics such as mental/nervous limitations, elimination periods, and group vs. individual coverage.
Enables submission of disability insurance quote requests that are written to Salesforce Web-to-Lead, allowing AI agents to initiate sales pipeline entries.
Seaworthy Insurance MCP Server
A live Model Context Protocol server that lets AI agents take action on behalf of their users with Seaworthy Insurance, an independent brokerage specializing in individual disability insurance for high-income professionals (physicians, dentists, CRNAs, attorneys, executives).
To our knowledge, this is the first disability insurance brokerage to expose an agent-callable quote action over MCP.
Endpoint
https://mcp.seaworthy.io/mcpTransport: Streamable HTTP
Auth: none (open). The write action is protected server-side by input validation, per-IP rate limiting, and duplicate suppression rather than client authentication.
Server card: https://seaworthy.io/.well-known/mcp/server-card.json
Registry:
io.seaworthy/mcpin the official MCP Registry
Related MCP server: OptionsAhoy: Stock Equity and Tax Optimizer
Tools
Tool | Type | What it does |
| action | Submits a disability insurance quote-comparison request to the Seaworthy sales pipeline on the user's behalf. A licensed broker follows up within one business day. |
| read | Coverage guidance for a specific profession or medical specialty. |
| read | Structured comparison of the five major individual disability carriers. |
| read | Income-replacement gap math between a group LTD cap and a target. |
| read | Definitions and trade-offs for the major disability insurance riders. |
| read | Retrieves a named education article as structured metadata plus a link. |
quote_request inputs
Required: first_name, last_name, email, phone, profession, state, dob, gender, annual_income.
Optional: life_insurance_interest, notes, referral_source.
The agent must confirm the user has consented to be contacted before calling it. SSN, medical history, and banking details are never collected through this tool.
Security & privacy
This is a remote, stateless server. Connecting a client runs no code on the user's machine and gives the server no access to the local filesystem.
Read tools return only public, vendor-verified facts.
The one write tool (
quote_request) is guarded server-side by input validation, per-IP rate limiting, and duplicate suppression, not by client credentials. That is why the endpoint can be open without exposing the pipeline to abuse.No sensitive data (SSN, medical, banking) is ever accepted, and the agent must confirm consent before submitting.
Minimal data flow: submissions go to Seaworthy's CRM (Salesforce Web-to-Lead) and nowhere else. The server keeps no conversation or query history, and no secrets live in this repository.
Full details and a private disclosure channel are in SECURITY.md.
Try it
Add https://mcp.seaworthy.io/mcp as an MCP server in any MCP-capable client (Cloudflare AI Playground, Claude Desktop, MCP Inspector, or a custom connector), then ask it to get a disability insurance quote.
Stack
Cloudflare Worker (TypeScript), stateless JSON-RPC over Streamable HTTP. Quote submissions write to Salesforce Web-to-Lead. No secrets live in this repository.
Author
Built by Toby Lason, Managing Partner, Seaworthy Insurance.
License
MIT (see LICENSE). The hosted endpoint at mcp.seaworthy.io is the supported way to use it; the code is published for transparency and discoverability.
Available Tools
6 toolscompare_carriersAInspect
Return a structured comparison of the five major individual disability carriers (Guardian, MassMutual, Principal, Ameritas, The Standard). Optional profession and priority narrow the result. Carrier-neutral framing; does not declare a single winner. Unauthenticated.
| Name | Required | Description | Default |
|---|---|---|---|
| profession | No | Optional specialty slug to scope the comparison. | |
| priority | No | Optional priority axis. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the input schema: it states the tool is unaunthenticated and carrier-neutral (does not declare a winner). However, with no annotations provided, the description carries full burden. It does not disclose pagination, error handling, or what happens when no carriers match, leaving some behavioral ambiguity.
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?
The description is four sentences, each serving a distinct purpose: stating the action, listing carriers, noting optional narrowing, explaining neutrality, and indicating auth status. No extraneous words; it is front-loaded with the core purpose.
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?
Given the tool has two optional parameters and no output schema, the description covers the key aspects: what it returns, the carriers involved, optional filtering, neutrality, and authentication. It is complete enough for a simple comparison tool, though additional details about the structure of the comparison or when to use it vs. siblings would elevate it further.
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?
The input schema already has 100% coverage with descriptions for both parameters. The description adds 'narrow the result' which clarifies the role of the parameters but does not provide new semantic details beyond the schema. Baseline for high coverage is 3, and the added value is marginal.
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 clearly states the tool returns a structured comparison of the five major individual disability carriers, listing them by name. It also mentions optional narrowing by profession and priority, and contrasts with sibling tools by specifying carrier-neutral framing. This effectively differentiates it from siblings like estimate_benefit_cap_gap or quote_request.
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?
The description provides no explicit guidance on when to use this tool versus alternatives. While it mentions carrier-neutral framing and unaunthenticated access, it does not indicate scenarios where siblings like quote_request or estimate_benefit_cap_gap would be more appropriate. A user is left to infer usage from the tool's purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_benefit_cap_gapAInspect
Compute the income replacement gap between a group long-term disability benefit cap and a target replacement of earned income. Pure math, no external calls. Unauthenticated.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_income | Yes | Gross earned income in US dollars. | |
| group_monthly_cap | Yes | Group LTD policy monthly benefit cap in US dollars. | |
| group_replacement_percent | No | Headline group replacement percent. Default 0.60. | |
| benefit_taxable | No | Whether group benefits would be taxable (true if employer pays premiums). Default true. | |
| marginal_tax_rate | No | Combined federal + state marginal rate as a decimal. Default 0.35. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool is 'Pure math, no external calls. Unauthenticated.', which tells the agent it's a safe, read-only operation with no side effects. This is sufficient for a simple computation, though it could mention error handling or output format.
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?
The description is extremely concise: two sentences. The first sentence immediately states the purpose (verb+resource), and the second adds behavioral context. No unnecessary words; every sentence adds value.
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?
The description is clear for a simple math tool, but it lacks details about the return value or output format (no output schema exists). It also doesn't explain the calculation logic beyond 'gap between cap and target replacement'. For a tool with multiple parameters affecting the result, this leaves some ambiguity.
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?
The schema provides 100% coverage with descriptions for each parameter. The tool description does not add additional meaning beyond the schema; it only references the overall purpose. Baseline is 3 when schema coverage is high and description adds no extra parameter context.
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 uses a specific verb 'Compute' and clearly identifies the resource: the income replacement gap between a group LTD benefit cap and a target replacement. It distinguishes itself from sibling tools (e.g., compare_carriers, quote_request) which serve different purposes, and adds clarifying context like 'Pure math, no external calls.'
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?
The description implicitly indicates when to use: for calculating the benefit cap gap. It mentions 'Pure math, no external calls. Unauthenticated.' which assures the agent it's a safe computation. However, it does not explicitly state when not to use or provide alternatives like sibling tools, so it's clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_education_articleAInspect
Retrieve a named education article by topic (e.g., "mental-nervous-limitations", "elimination-period", "group-vs-individual"). Returns structured metadata plus a link to the full article. Unauthenticated.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic slug or article title substring. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return type (metadata + link) and auth status ('Unauthenticated'), but does not cover potential side effects, rate limits, or data freshness.
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?
Two sentences, front-loaded with purpose, no redundant information. Every sentence adds value.
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?
Covers purpose, return type, and auth for a simple tool. Could mention matching behavior (e.g., exact or substring) for completeness.
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 already describes the only parameter as 'Topic slug or article title substring.' Description adds example topics but no additional semantic value beyond schema.
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?
Description clearly states the verb 'Retrieve' and the resource 'named education article'. Examples of topics differentiate it from sibling tools like compare_carriers or quote_request.
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?
Implies usage for retrieving education articles by topic, but does not explicitly specify when to use this tool versus alternatives or provide any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_specialty_guideAInspect
Retrieve the Seaworthy Insurance Agency coverage guide for a specific profession or medical specialty. Returns structured metadata plus a link to the full guide. Unauthenticated.
| Name | Required | Description | Default |
|---|---|---|---|
| profession | Yes | Profession slug or free-form profession name (e.g., "crnas", "orthopedic-surgeons", "dentists", "registered nurses"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It reveals that the tool is 'Unauthenticated' (implying a read-only, public operation) and describes the return format. While it could mention potential error cases (e.g., invalid profession), it adequately discloses key behavioral traits beyond what the schema provides.
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?
The description is extremely concise: two short sentences that are front-loaded with the key action and resource. Every word adds value, with no repetition or unnecessary details.
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 simple lookup tool with one parameter and no output schema, the description is fairly complete. It states the input purpose, the output type (structured metadata plus link), and authentication status. However, it omits details about error handling (e.g., what happens if profession is not found) and does not specify whether the guide is versioned or time-sensitive.
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 for the single parameter is 100%, including a helpful description with examples. The tool's description does not add additional meaning beyond what is already in the schema. Therefore, the baseline score of 3 is appropriate.
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 clearly states the verb 'Retrieve', the resource 'Seaworthy Insurance Agency coverage guide', and specifies it's for a specific profession or medical specialty. It also indicates what is returned (structured metadata plus link). This distinguishes it from sibling tools like compare_carriers or estimate_benefit_cap_gap.
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?
The description does not provide explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or suggest other tools for related tasks. Usage is only implied by the function's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ridersAInspect
Return structured definitions and trade-offs for disability insurance riders: residual, COLA, future increase option, own-occupation enhancement, retirement protection, return of premium, catastrophic, social insurance supplement. Unauthenticated.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes the tool is 'Unauthenticated,' which is a behavioral trait. It doesn't disclose other traits like rate limits or side effects, but for a read-only list operation, the provided information is adequate.
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?
The description is a single sentence that front-loads the purpose and lists all riders. Every word contributes meaning, with no redundancy.
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?
Given the tool has no parameters, no output schema, and is a simple listing, the description fully specifies the output content by naming all riders and stating it provides definitions and trade-offs. No gaps remain.
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?
There are no parameters, so schema coverage is 100% trivially. Following the guideline, baseline is 4, and the description adds no parameter details as none are needed.
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 clearly states it returns structured definitions and trade-offs for specific riders, listing them explicitly. It distinguishes itself from sibling tools like compare_carriers or quote_request, which serve different purposes.
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?
The description implicitly indicates when to use: when needing definitions of the listed riders. It doesn't provide explicit when-not or alternatives, but the context is clear given the tool's simplicity and listing of riders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_requestAInspect
Submit a disability insurance quote-comparison request to the Seaworthy Insurance Agency sales pipeline (writes a Lead to Salesforce). Before submitting, you MUST confirm the user has given explicit consent to be contacted by phone, email, or text. A broker follows up within one business day (Mon-Fri, 8am-5pm Pacific). Do not collect SSN, medical history, or banking details through this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| first_name | Yes | Applicant's first name. | |
| last_name | Yes | Applicant's last name. | |
| Yes | Applicant's email address. | ||
| phone | Yes | Applicant's US phone number for a follow-up call. | |
| profession | Yes | Occupation or medical specialty, e.g. "CRNA", "Orthopedic Surgeon", "Attorney". Be specific where it affects disability classification. | |
| state | Yes | US state of residence. Full name ("Texas") or two-letter code ("TX") both accepted. | |
| dob | Yes | Date of birth. ISO YYYY-MM-DD preferred; MM/DD/YYYY also accepted. | |
| gender | Yes | Required by carriers for premium calculation. | |
| annual_income | Yes | Gross annual income. A number (e.g. 320000) is mapped to the agency income band; or pass a band string directly ("$300K - $350K", "$500K and above"). | |
| life_insurance_interest | No | Whether the applicant also wants a life insurance comparison. | |
| notes | No | Free-form context from the conversation (current coverage, questions, timeline). Used by the sales team for triage. | |
| referral_source | No | Where the user is coming from: the AI assistant or platform you are operating as (e.g. "ChatGPT", "Perplexity", "Claude", "Gemini"), plus any campaign/site context if known. Used by the agency to see which channels drive agent-submitted leads. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the write operation (creates a Lead), the follow-up window (1 business day, 8am-5pm Pacific), and restrictions on data collection. It does not explicitly state idempotency, but this is acceptable for a lead submission tool.
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?
The description is three concise sentences, each adding value: main purpose, consent requirement, follow-up timing, and data restrictions. It is front-loaded and efficient with no wasted words.
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?
Given the tool's complexity (12 parameters, 9 required, no output schema), the description covers key aspects: purpose, consent, forbidden data, and follow-up. It omits return value details but that is acceptable without an output schema.
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 baseline is 3. The description adds overall context like consent and data restrictions but does not provide new meaning for specific parameters beyond the schema's own descriptions.
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 clearly states the verb (submit) and resource (disability insurance quote-comparison request to Seaworthy Insurance Agency sales pipeline), and it specifies that it writes a Lead to Salesforce. This distinguishes it from sibling tools like compare_carriers or get_education_article.
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?
The description provides explicit guidance on required user consent before submission and prohibited data (SSN, medical history, banking details). It also mentions follow-up timing. However, it does not directly compare to sibling tools or state when to use this versus compare_carriers, though the context implies its unique 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. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
compare_carriers - First observed
estimate_benefit_cap_gap - First observed
get_education_article - First observed
get_specialty_guide - First observed
list_riders - First observed
quote_request
TDQS
Each tool serves a distinct purpose: carrier comparison, gap calculation, educational articles, specialty guides, rider listings, and quote requests. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern (e.g., compare_carriers, get_education_article, list_riders), with lowercase underscores throughout.
With 6 tools, the set is well-scoped for a disability insurance MCP. Each tool addresses a key user need without being bloated or sparse.
The tool set covers education, comparison, gap analysis, rider details, and lead generation. Missing direct premium calculation or quote output, but core workflows are present.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
VA disability rating and compensation calculations, condition lookup, and 38 CFR authority search
Agent-native insurance quoting protocol — sandbox, MCP + REST, eligibility pre-flight
31Insurance brokerage for AI agents — quote, bind, and settle in USDC
Wholesale commercial insurance appetite, submissions, policies, payments, and broker workflows.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables insurance policy analysis, risk assessment, and policy comparison with support for multiple editions (Lite free, Solo and Pro paid).41MIT
- AlicenseAqualityAmaintenanceDeterministic US equity-compensation tax optimizer. Six tools cover ISO/AMT exercise scheduling, NSO sell-vs-hold, RSU vest-and-sell, single-stock concentration, protective put / zero-cost collar pricing, and Section 1202 QSBS qualification. Federal plus 50-state plus DC tax math.8485MIT
- AlicenseBqualityBmaintenanceProvides 77 deterministic financial calculators, live market data, and a meta-advisor that chains tools into prioritized plans from plain-language descriptions.776MIT
- FlicenseNot gradedqualityCmaintenanceExposes portfolio allocation, concentration risk, retirement projections, RAG document search, and a full multi-agent financial advisor query as MCP tools for use from Claude Code.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/seaworthy-io/seaworthy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server