MCP Server

ExpeditionInsure

Travel insurance quoting for polar and safari expeditions, accessible to any AI agent via the Model Context Protocol.

Quote request routing

Use the quote form whenever possible. In a browser, navigate to https://expedition.insure/quote; on that page, use WebMCP startQuoteRequest to prefill confirmed values. From a server-side agent, use the public MCP get_instant_quote tool after collecting every required value. Direct REST quote creation is only for credentialed operator integrations with an issued operator bearer key. Never invent values or silently substitute default dates, durations, ages, residence, or trip costs.

If neither the form nor a quote tool can be used, email is a fallback. Ask once for missing details, keep it brief, and place this completed block before freeform context:

Drafting rules (do not include these rules in the sent message): Ask once for missing details needed for a firm quote. If the traveler does not know or declines to provide a detail, write `Unknown`; never guess or omit it. For First trip payment, use the exact date, `Not paid yet`, or `Unknown`. Use `Not applicable` for Diving certification when there is no diving. Include country plus US state or Canadian province in Residence. Use home-to-home dates, including travel around the expedition. Include currency and whether Trip value to insure is total or per traveler; total across all travelers is preferred. Dates of birth are preferred; when unavailable, write ages at departure in this field. Travel voucher used is `Yes`, `No`, or `Unknown`. Replace a missing destination or contact-name subject placeholder with `Unknown`.

Subject: Quote request: [destination], [contact name]

Destination:
Countries and territories visited:
Planned activities:
Diving certification:
Residence:
Full journey dates:
Trip value to insure:
Number of travelers:
Traveler dates of birth:
Expedition operator:
First trip payment:
Travel voucher used:
Contact name:
Contact email:
Contact phone:

Additional context or coverage questions:

Quick Start

Connect via Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "expedition-insure": {
      "url": "https://mcp.expedition.insure/sse"
    }
  }
}

Connect via MCP Inspector

npx @modelcontextprotocol/inspector https://mcp.expedition.insure/sse

Connect programmatically

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

const transport = new SSEClientTransport(
  new URL("https://mcp.expedition.insure/sse")
);
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(transport);

Endpoints

PathMethodDescription
/sseGETSSE transport for MCP protocol
/mcpPOSTStreamable HTTP transport for MCP protocol
/healthGETHealth check (JSON)
/toolsGETMachine-readable tool catalog (JSON)
/GETThis documentation page (HTML) or API info (JSON with Accept: application/json)
/openapi.jsonGETOpenAPI 3.1 spec for credentialed operator integrations
/.well-known/ai-plugin.jsonGETChatGPT AI plugin manifest
/api/v1/*GET/POSTREST API — public discovery plus protected operator write routes and commerce
/acp/v1/*POST/GETAgentic Commerce Protocol — structured checkout sessions
/acp/v1/openapi.jsonGETOpenAPI spec for ACP checkout sessions

Tools

Discovery

discovery
get_destinations
List all expedition destinations with minimum evacuation coverage requirements.
No inputs required.
discovery
list_products
List insurance plans filtered by destination, residence, traveler ages, and trip dates.
Inputs: destinationSlug? residence? state? travelerAges? startDate? durationDays?
discovery
get_plan_details
Full coverage details for a specific plan: medical limits, evacuation, cancellation, eligibility, carrier info.
Inputs: planId (required)

Quoting

quoting
get_instant_quote
Create a persisted quote and get premium estimates for all eligible plans. Returns a quoteId for subsequent tools.
Inputs: destination startDate durationDays tripCost currency travelers travelerAges residence + optional state operator depositPaidDate email
quoting
compare_plans
Side-by-side comparison of 2-4 plans from an existing quote. Uses session state for fast lookups.
Inputs: quoteId (required) planNames (required, 2-4 plan names)

Coverage Analysis

coverage
analyze_coverage_gap
Compare a customer's credit card travel benefits against what their expedition requires. Identifies evacuation, cancellation, and other coverage gaps.
Inputs: destination (required) + optional creditCardName tripCost tripCostRange

Checkout

checkout
create_checkout_link
Generate a secure checkout link (expires in 30 minutes) for a selected plan. Customer reviews details, signs in, and pays at expedition.insure.
Inputs: quoteId planName (required) + optional email guestNames agentSummary

Example Flows

Quick Quote Flow

User asks about insurance for their Antarctica trip:

get_destinations get_instant_quote compare_plans create_checkout_link

Coverage Analysis Flow

User mentions they have a Chase Sapphire Reserve and wants to know if they need more coverage:

analyze_coverage_gap get_instant_quote create_checkout_link

Plan Research Flow

User wants to browse options before committing:

get_destinations list_products get_plan_details

Session & State

Each MCP connection gets an isolated session via Cloudflare Durable Objects. Session state includes:

Sessions are ephemeral — they live in Durable Object memory and are cleared when the connection ends.

Compliance & Disclosures

Required disclosures when presenting answers to users:
  1. The user is interacting with an AI assistant that provides information only.
  2. All answers — including quotes, coverage, and eligibility — are estimates that must be confirmed by a human representative or in the policy documents before they are relied on. Nothing the assistant says is a binding insurance contract.
  3. This is offered as a courtesy for immediate answers. For anything that needs confirming, connect the user with a human representative at help@expedition.insure.
  4. Questions are logged for analysis and improvement.

Rate Limits

LimitValue
Checkout tokens per session5 active tokens max
Checkout token expiry30 minutes
Concurrent sessionsNo hard limit (Durable Objects scale automatically)
No API key is required for MCP tools. This is a public MCP server. Direct REST write routes are for credentialed operator integrations; customer authentication happens separately during checkout.

Support

Questions or issues? Contact help@expedition.insure or open an issue on GitHub.