Skip to content

MCP server overview

The Expedition Insure MCP server lets any AI agent quote, compare, and buy expedition travel insurance — for Antarctica, the Arctic, safari, and Galápagos trips — through the Model Context Protocol. It is public, needs no API key, and is live in production.

If you build with Claude, ChatGPT, Cursor, Windsurf, or your own agent framework, you can connect in one line. See connect an agent for per-app setup, and agentic commerce for in-chat purchasing.

ServerExpeditionInsure (v1.0.0)
Base URLhttps://mcp.expedition.insure
SSE transporthttps://mcp.expedition.insure/sse
Streamable HTTPhttps://mcp.expedition.insure/mcp
AuthNone to connect or quote — see Authentication
Tool catalog (JSON)https://mcp.expedition.insure/tools
Health checkhttps://mcp.expedition.insure/health

The server runs on Cloudflare Workers + Durable Objects. Each MCP connection gets its own isolated session:

  • sessionId — generated on the first get_instant_quote call. It links a quote across later tool calls (compare, checkout, purchase).
  • lastQuote — the most recent quote is cached in session memory so compare_plans is fast and needs no extra round-trip.

Sessions are ephemeral — they live in Durable Object memory and clear when the connection ends. Quotes themselves are persisted server-side and addressed by quoteId.

A typical agent conversation walks the quote → compare → buy path:

get_destinations → get_instant_quote → compare_plans → create_checkout_link

…or goes fully machine-to-machine with no human checkout step (see agentic commerce):

get_instant_quote → compare_plans → purchase_with_mpp

All tools are exposed over both transports. The live, machine-readable catalog (names, inputs, and outputs) is always at /tools.

ToolWhat it doesInputs
get_destinationsList expedition destinations with minimum evacuation-coverage requirements.none
list_productsList plans filtered by destination, residence, ages, and dates.destinationSlug? residence? state? travelerAges? startDate? durationDays?
get_plan_detailsFull coverage for one plan — medical, evacuation, cancellation, eligibility, carrier.planId
server_infoServer metadata, supported destinations, and the required disclaimer.none
ToolWhat it doesInputs
get_instant_quoteCreate a persisted quote and get premium estimates for every eligible plan. Returns a quoteId.destination startDate durationDays tripCost travelers travelerAges residence + optional state operator currency depositPaidDate email
compare_plansSide-by-side comparison of 2–4 plans from an existing quote.quoteId planNames (2–4)
ToolWhat it doesInputs
analyze_coverage_gapCompare a traveler’s credit-card travel benefits against what their expedition requires; flags evacuation, cancellation, and other gaps.destination + optional creditCardName tripCost tripCostRange
get_policy_wordingPlain-language policy wording for a plan.planId
ToolWhat it doesInputs
create_checkout_linkGenerate a secure checkout link (expires in 30 min). The customer reviews, signs in, and pays at expedition.insure.quoteId planName + optional email guestNames agentSummary
purchase_with_mppBuy in-agent via a machine payment (MPP). First call returns a 402 challenge; the agent wallet pays and retries to complete.quoteId planId
create_purchase_sessionOpen an ACP checkout session for in-chat purchase.destination startDate + optional planId buyerEmail buyerName

Two ways to buy. create_checkout_link hands the customer to a hosted, human checkout. purchase_with_mpp and the ACP session tools complete the purchase inside the agent — see agentic commerce.

search and fetch are the canonical OpenAI Apps SDK tools — search finds destinations and plans; fetch returns a full record by id. Agents that prefer the search/fetch contract can use these instead of the discovery tools.

Beyond the two MCP transports, the server exposes plain HTTP for agents that don’t speak MCP:

PathMethodDescription
/sseGETSSE transport for MCP
/mcpPOSTStreamable HTTP transport for MCP
/healthGETHealth check (JSON)
/toolsGETMachine-readable tool catalog (JSON)
/openapi.jsonGETOpenAPI 3.1 spec for the REST API (works as ChatGPT GPT Actions)
/.well-known/ai-plugin.jsonGETChatGPT AI-plugin manifest
/api/v1/*GET/POSTREST API — destinations, products, quotes, coverage-gap, checkout, purchase
/acp/v1/*POST/GETAgentic Commerce Protocol — structured checkout sessions
/acp/v1/openapi.jsonGETOpenAPI spec for ACP checkout sessions

No API key is required. This is a public MCP server — connecting, quoting, comparing, and coverage analysis are all unauthenticated. Authentication happens only at checkout, when the customer signs in to complete a purchase (hosted checkout), or via the payment token the agent supplies (agentic purchase).

LimitValue
Active checkout tokens per session5
Checkout token expiry30 minutes
Concurrent sessionsNo hard limit (Durable Objects scale automatically)

When presenting answers to a user, your agent must make clear that:

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

Quote a plan’s coverage figures and policy wording verbatim from the source and tell the user to confirm them against the policy documents — never paraphrase or present them as final.