> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.ovrsea.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP server

> Connect your own AI assistant to your OVRSEA account

OVRSEA runs a [Model Context Protocol](https://modelcontextprotocol.io) server. Connecting your
assistant to it lets you ask about your shipments, quotations, invoices and documents in natural
language, and act on them, without building an integration.

## Endpoint

```
https://mcp.ovrsea.com/mcp
```

## Connect

Start from the **API Integration** page in Hermès: it carries the endpoint and the per-assistant
steps.

**One click, from the API Integration page**

<CardGroup cols={2}>
  <Card title="Claude" icon="link">Opens Claude with the connector prefilled.</Card>
  <Card title="Cursor" icon="link">Opens Cursor with the server prefilled.</Card>
</CardGroup>

**Paste the endpoint into the assistant's own settings**

<CardGroup cols={3}>
  <Card title="ChatGPT" icon="gear">Settings, Connectors, add a custom connector.</Card>
  <Card title="Microsoft Copilot" icon="gear">Add the server in Copilot Studio.</Card>
  <Card title="Mistral" icon="gear">Add a custom connector.</Card>
</CardGroup>

Any MCP-capable client works — these five are the ones we give installation steps for.

## Authentication

The server uses **OAuth**, not the API token used by the REST API. Your assistant opens an OVRSEA
sign-in the first time it connects, and every later call carries that user's own identity as a
bearer token.

Two consequences worth planning around:

* **A connection is personal.** The assistant sees exactly what that user sees in Hermès, no more.
  Two colleagues connecting the same assistant get two different views if their Hermès access
  differs.
* **There is no shared service credential.** If you need unattended, machine-to-machine access, use
  the [REST API](/introduction) with a token instead.

## What your assistant can do

Once connected, the assistant discovers the available tools itself — ask it what it can do and it
will tell you, which is always more current than a list written here.

The tools divide into two groups:

**Reading** — shipments and their tracking, cargo, pricing, documents and activity; quotations and
their PDFs; invoices; saved addresses and contacts; notifications, tasks and pending actions;
reporting data; negotiated rates on a lane.

**Writing** — requesting a quote, accepting or declining one, opening a shipment, BL instructions,
booking details, cargo-ready and target delivery dates, addresses and contacts, and cancelling a
shipment. The complete list, with what each one does, is on
[Agent actions](/ai/agent-actions).

## Before you automate

Every tool carries MCP annotations describing its effect: `readOnlyHint` for reads,
`destructiveHint` for the ones that cannot be undone, `idempotentHint` for the ones that are safe to
repeat. Interactive assistants normally use these to decide when to ask the user first.

If you are driving the server from something unattended, that prompt does not exist. Read the
annotations yourself, but gate on the action rather than the flag alone. Several tools carry
`destructiveHint` — among them opening a shipment, sending a booking request, accepting a quote,
replacing or deleting BL instructions, and cancelling a shipment — while **declining a quotation
does not**, even though it is effectively irreversible: reopening brings the quotation back, not
the prices that were on it.
