Skip to main content
Glama
seaworthy-io

Seaworthy Insurance

Official
by seaworthy-io

Seaworthy Insurance MCP Server

CI License: MIT MCP Registry

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/mcp

Related MCP server: OptionsAhoy: Stock Equity and Tax Optimizer

Tools

Tool

Type

What it does

quote_request

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.

get_specialty_guide

read

Coverage guidance for a specific profession or medical specialty.

compare_carriers

read

Structured comparison of the five major individual disability carriers.

estimate_benefit_cap_gap

read

Income-replacement gap math between a group LTD cap and a target.

list_riders

read

Definitions and trade-offs for the major disability insurance riders.

get_education_article

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 tools
compare_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
professionNoOptional specialty slug to scope the comparison.
priorityNoOptional priority axis.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
annual_incomeYesGross earned income in US dollars.
group_monthly_capYesGroup LTD policy monthly benefit cap in US dollars.
group_replacement_percentNoHeadline group replacement percent. Default 0.60.
benefit_taxableNoWhether group benefits would be taxable (true if employer pays premiums). Default true.
marginal_tax_rateNoCombined federal + state marginal rate as a decimal. Default 0.35.

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic slug or article title substring.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
professionYesProfession slug or free-form profession name (e.g., "crnas", "orthopedic-surgeons", "dentists", "registered nurses").

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
first_nameYesApplicant's first name.
last_nameYesApplicant's last name.
emailYesApplicant's email address.
phoneYesApplicant's US phone number for a follow-up call.
professionYesOccupation or medical specialty, e.g. "CRNA", "Orthopedic Surgeon", "Attorney". Be specific where it affects disability classification.
stateYesUS state of residence. Full name ("Texas") or two-letter code ("TX") both accepted.
dobYesDate of birth. ISO YYYY-MM-DD preferred; MM/DD/YYYY also accepted.
genderYesRequired by carriers for premium calculation.
annual_incomeYesGross 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_interestNoWhether the applicant also wants a life insurance comparison.
notesNoFree-form context from the conversation (current coverage, questions, timeline). Used by the sales team for triage.
referral_sourceNoWhere 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

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 6 tool updatesv1.0.0
    • First observedcompare_carriers
    • First observedestimate_benefit_cap_gap
    • First observedget_education_article
    • First observedget_specialty_guide
    • First observedlist_riders
    • First observedquote_request

TDQS

A4.1/5.0
Disambiguation5/5

Each tool serves a distinct purpose: carrier comparison, gap calculation, educational articles, specialty guides, rider listings, and quote requests. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., compare_carriers, get_education_article, list_riders), with lowercase underscores throughout.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Deterministic 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.
    8
    48
    5
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Provides 77 deterministic financial calculators, live market data, and a meta-advisor that chains tools into prioritized plans from plain-language descriptions.
    77
    6
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Exposes 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

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