# Insuraj MCP server — developer docs

> Private preview · not yet public

Insuraj exposes household insurance terms to AI agents through the [Model Context Protocol](https://modelcontextprotocol.io/). Every coverage answer cites the clause and document version it comes from.

## Connection

- **Transport:** MCP Streamable HTTP, stateless, JSON responses.
- **Endpoint:** `https://mcp.insurajme.com/mcp` — planned; not reachable yet.
- **Auth:** `Authorization: Bearer <token>`. Tokens are issued on request during the private preview: hello@insurajme.com.
- **Access:** read-only. No tool creates, changes or binds anything.

## Tools

- `list_products()` → products in the catalog, each with its insurance class and the perils it documents.
- `check_coverage(product_id, peril)` → `covered` · `excluded` · `conditional` · `optional_extra` · `not_in_catalog`, with conditions and the cited clauses (id, article, title, document, version). Perils accept Macedonian or English names, e.g. `"поплава"` or `"flood"`.
- `get_clause(clause_id)` → the verbatim clause text and the document it belongs to.
- `explain_term(term)` → an insurance term mapped Macedonian ↔ English, e.g. `"франшиза"` ↔ `"deductible"`.
- `how_to_buy(product_id)` → human channels for getting a quote. Nothing is bound here.

## Rules for agents

- Quote coverage only from tool results, together with the clause id and document version.
- Treat `not_in_catalog` as "not documented here" — never infer cover.
- Never present an answer as an offer, a price quote or advice; send the user to `how_to_buy`.

## Example: Claude Code

Once you have a token:

```
claude mcp add --transport http insuraj https://mcp.insurajme.com/mcp --header "Authorization: Bearer YOUR_TOKEN"
```

## What Insuraj is not

Insuraj is not an insurer or an insurance intermediary. The catalog is informational; the policy wording always prevails.
