mcpbeat Sign in

Plain Insurance MCP Server

answering

Plain Insurance is answering right now. Last checked 13 min ago. It exposes 8 tools.

Business insurance quotes for Danish companies, active policies and unsigned offers for review.

Uptime history 5 days of history
5 days agonow
100.0%
Uptime 24h
91 of 91 checks
8
Tools
read from the server
556 ms
Response time
average over 24h
open, no key
Access
streamable-http

Nothing serious here today

Today is the operative word: we check Plain Insurance every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 13 min ago.

run in your terminal
claude mcp add mcp --transport http https://app.plain.insurance/api/mcp
Settings → Connectors → Add custom connector, then paste this address
https://app.plain.insurance/api/mcp
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://app.plain.insurance/api/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://app.plain.insurance/api/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://app.plain.insurance/api/mcp"
    }
  }
}

Available tools 8

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

onboarding
create_onboarding
Recalculates an approved quote and creates offered, unsigned policies, ready for the customer to review and sign on Plain. Send the exact quote request again with its quoteId before expiresAt; offers are created for the products with status.value quoted only. Active insurance is rechecked before creation. Retry a failed request on the same connection with the same idempotency key and body. No insurance is accepted, activated or charged. When state.value is awaiting_verification, ask the person for the emailed code. Creates offers for the selected, authorized existing company without recreating it, or onboards a new company. For an existing company, select it with set_company_context and use its CVR; administrator access is required. Uses the connected user's identity: omit email and name. Requires signing in with onboarding:write consent; calling it prompts sign-in when needed. Check list_companies first. idempotencyKey is required. If the connected user's email is confirmed, no email code is needed. Do not reuse a retry key across reconnections; obtain a fresh quote after expiry or insurance changes.
get_onboarding_payment_link
Returns a one-time link, valid for five minutes, where the person reviews the offers and sets up payment on Plain. The person must open and confirm it. Setting up payment does not accept the offers or charge money. Use the same authorized connection that created the offers and keep the target company selected; continuationToken may then be omitted.
list_onboarding_catalog
Lists the insurance products a Danish company can be offered and the questions to answer before quoting. Pass the company's CVR to resolve industry-specific questions and options. Use product slugs in `products` and question names as keys in `answers`. Employee FTE questions are listed as two whole-number questions, `<name>.fullTime` and `<name>.partTime`, each from 0 to 9999 inclusive; when required, send both counts, including zero. Numeric questions publish min/max limits when configured. Products with automaticQuote:false need manual review and list no questions. A product's requiredProducts must be selected with it; its questions include theirs. MultiSelect answers may be left out and default to an empty list. Enum fields use {value, label: {da, en}}; use value for logic and label for display. Read-only: nothing is created. Works without signing in. For an existing customer, call list_companies first and select the company with set_company_context. Use its CVR when collecting questions and quoting.
active
list_active_policies
Requires signing in to Plain; calling it prompts sign-in when needed. Lists the active insurance policies for the currently selected Plain company on this connection, including product, carrier, dates, price and billing details. Amounts are in major currency units (e.g. DKK). totalPrice is the total price the customer pays; it is legally required to be split into the insurance premium and fees (statutory fees and taxes). Whenever you mention a price, state the total and its split into premium and fees.
companies
list_companies
Requires signing in to Plain; calling it prompts sign-in when needed. Lists companies explicitly approved for this Plain connection that you still have access to, and marks the active company. Reports granted scopes and whether the connection can create unsigned offers. Check this before quoting for an existing company or offering to create offers. Reconnect requesting onboarding:write to approve offer creation, or reconnect to approve additional companies. Company permissions are checked separately when creating offers.
company
set_company_context
Requires signing in to Plain. Changes the active Plain company for subsequent tool calls on this connection. Use an exact companyId from list_companies. All chats sharing this authorization share the selection. Already-running requests may finish for the previous company.
quote
quote_onboarding_products
Calculates indicative prices for up to twenty products for the company with this CVR, from one flat `answers` object. A plain key answers a question for the company and for every selected product that asks it; `<product>.<name>` answers one product's question. Stored answers and company discounts are not reused; supply required answers explicitly. An optional partnerCode applies that partner's discount. Enum fields use {value, label: {da, en}}. Each product has a status.value: only `quoted` products have a price; `contactPlain` products need an individual offer from Plain and `unavailable` ones cannot be offered (see `issue`). Prices are in DKK (major units) per billingFrequency.value period, with annualPrice for comparison and totals across products. State prices with each quote's `display` text in the customer's language, and always show the `disclaimer`. When pricePerEmployee is true, the price is per employee: say so using the quote's notice, as the customer selects the covered employees on Plain. Unknown answer keys are ignored and reported in warnings; required answers are never inferred. Nothing is bound, created or charged. Works without signing in, as a public new-company quote. Quotes for an existing customer must use the selected, authorized company's CVR. Active products return status.value alreadyInsured with no new-offer price and are excluded from totals and creation; held prerequisites do not need to be selected again. Check list_companies.canCreateOffers before promising to create offers. Quoting itself only needs policies:read. For existing companies, use get_onboarding_payment_link after creating offers for authenticated review; continueUrl is the public new-company signup page and does not apply private policy exclusions.
verify
verify_onboarding_email
Confirms the signup email with the eight-digit code the person received. Codes expire after 15 minutes and allow five attempts. Keep the returned capability and continuationToken private. Does not activate insurance.

Endpoints

URLTransportStateLatencyChecked
https://app.plain.insurance/api/mcp streamable-http answering 871 ms 13 min ago

Alternatives to Plain Insurance

same job, measured the same way
V
vakuutus.ai
by vakuutus

Finnish business insurance by industry, a quick check, Riskiluotain policy review and booking.

6 tools answering
Kinro
by kinro

Business insurance advice and real carrier quotes for U.S. small businesses from a licensed broker.

2 tools answering
Review Analyzer: Sentiment, Complaints, Themes & Reply Drafts
by nero-engine

Sentiment, complaint themes, quotes, business reports and reply drafts for any reviews dataset.

answering
Delegance Commercial Insurance
by delegancebrokerage

Your company's commercial insurance: policies, coverage, certificates, quotes and claims.

answering
Jerry Insurance
by jerry

Compare US car, home and renters insurance quotes with Jerry. Sign-in required; buy in the app.

8 tools answering
ShipSlip MCP by usefulapi
by usefulapi

Quote shipping insurance, buy policies, and file claims on insured shipments in ShipSlip.

3 tools answering
Coverageshield
by djanacek

Insurance coverage requirements, gap detection, and risk profiles for US businesses.

46 installs/wk local only
T
The Fine Print
by howtocancel

Cancellation steps and return policies for 53 US companies, from official sources, checked daily.

4 tools answering

Plain Insurance — questions

Answers built from our own checks of this server.

What can Plain Insurance do?
It exposes 8 tools, read directly from the server on our last check. Among them: create_onboarding, get_onboarding_payment_link, list_active_policies, list_companies, list_onboarding_catalog, quote_onboarding_products and 2 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Plain Insurance working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 556 ms. The bar chart above shows every period we have measured.
How do I connect Plain Insurance?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Plain Insurance need an API key?
No. Plain Insurance completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 8 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Plain Insurance?
It answers our handshake in 556 ms on average, which is faster than 20% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.