# Truvo

Truvo is an independent insurance agency, licensed in all 50 states and D.C. Its MCP server returns real car (`personal_auto`), renters, and pet quotes priced by carriers.

Setup is done when `get_capabilities` returns. If the person already asked for quotes, keep going.

Call `get_capabilities` first. Follow the server instructions and tool descriptions.

## Connect

- Remote MCP server at `https://api.truvo.com/v1/mcp`, Streamable HTTP.
- OAuth 2.1. Discovery: a request without a token gets `401` with `WWW-Authenticate: Bearer resource_metadata="https://api.truvo.com/.well-known/oauth-protected-resource/v1/mcp", scope="openid profile email offline_access"`. Authorization server: `https://auth.truvo.com` (metadata at `https://auth.truvo.com/.well-known/oauth-authorization-server`).
- Authorization `https://auth.truvo.com/oauth2/authorize`, token `https://auth.truvo.com/oauth2/token`, registration `https://auth.truvo.com/oauth2/register`. Token endpoint auth method: `none`.
- Dynamic client registration and client ID metadata documents. Set no Authorization header; the app signs in with OAuth.
- Muse: client ID `client_01M50HHWEGT50YDZ44PMRHC49C`. Other apps register themselves.
- Scopes: `openid profile email offline_access`. Without `offline_access` the person signs in again after 15 minutes.
- Send the person to the sign-in page in their browser. Don't ask for a code or password in chat. Sign-in uses an email or text code (text: US mobile only) or a password. Creates an account if needed. The person approves the app.
- Truvo emails the person when an app connects. Access lasts until disconnected or a year unused.
- Disconnect at [truvo.com › Settings › Connected apps](https://www.truvo.com/dashboard?tab=settings#connected-apps).

To add Truvo by hand, the person can follow https://www.truvo.com/ai (Claude, ChatGPT, Muse, Gemini, Perplexity, Grok, Poke, Town, and more).

## Add Truvo from a coding agent

Run it yourself; then complete sign-in in the browser.

**Claude Code**

```bash
claude mcp add --transport http truvo https://api.truvo.com/v1/mcp
claude mcp login truvo
```

[Claude Code's guide](https://code.claude.com/docs/en/mcp)

**Codex**

```bash
codex mcp add truvo --url https://api.truvo.com/v1/mcp
codex mcp login truvo
```

[Codex's guide](https://developers.openai.com/codex/mcp)

**Cursor**

Add this to `~/.cursor/mcp.json`:

```json
{ "mcpServers": { "truvo": { "url": "https://api.truvo.com/v1/mcp" } } }
```

**VS Code**

Add this to `.vscode/mcp.json`:

```json
{ "servers": { "truvo": { "type": "http", "url": "https://api.truvo.com/v1/mcp" } } }
```

## Tools

| Tool | Use it to |
| --- | --- |
| `get_capabilities` | What one `line` (`personal_auto`, `renters`, `pet`) can quote: states, required facts, actions, quote disclosure, `agent_guidance`. Starts no quote. |
| `request_callback` | Queue a call back from Truvo's advisor line. |
| `start_quote_request` | Start one quote request for one person and one line. Quotes are live, from real carriers. |
| `get_quote_request` | Read a request's status, its quotes, and their next actions. |
| `list_quote_requests` | List the requests this person started while signed in, newest first. |
| `get_quote` | Read one quote: carrier, price, coverage, how long it stays available, and next actions. |
| `send_feedback` | Tell Truvo how a quote went, or about a problem with the tools, with the person's yes. |

## Quotes and data

- A quote is a carrier's price offer, not coverage.
- Every request needs the person's email and a US phone.
- Quotes start only after the person agrees to `quote_disclosure`. [Quote disclosure](https://docs.truvo.com/guides/agents#the-quote-disclosure).
- Give the person each link a quote returns exactly as returned; don't fetch, shorten, or rebuild it.
- Quotes started while signed in stay on the person's Truvo account. `list_quote_requests` finds them from any chat.
- [Privacy policy](https://www.truvo.com/privacy).
- support@truvo.com
