AI Assistant (MCP)
Where: Settings → AI Assistant (MCP) (/config/mcp)
Connect an AI assistant — such as Claude — directly to your Gurita system and ask questions in plain language: "How was our occupancy in March compared to last year?", "Which products sold best this month?", "Which bookings still have open payments?" The assistant answers using your live data through a set of read-only report tools. It can look things up and calculate — it can never change, create, or delete anything in Gurita.
Note: This feature must be switched on under Active Modules (AI Assistant (MCP), System & Data category). If you don't see the page, the module is off or you lack permission.
What the assistant can see
The AI connects with the identity of a Gurita user and inherits that user's permissions. It can run:
- Revenue & finance — income per month, profit & loss, payment reports, open/overdue balances, and bank cash flow.
- Occupancy — daily occupancy, yearly/monthly roll-ups, booking trends, capacity utilization, and per-vessel targets & trip occupancy.
- Sales — product sales, POS sales, top products, categories, supplements, guests, customer tags, countries, rooms, agencies, sales agents, and booking conversion rates.
- Trips & guest lists — find a departure by name, vessel, itinerary or date, see how full it is, and read its guest list. See Trips and guest lists below.
- Dive operations — dive statistics over time.
- Lookups — find a booking, list every booking on one trip, look up a customer, or check the invoice balance of a booking (summaries only).
Money values are returned with their currency, and dates follow your system's time zone.
Note: Users limited to a specific resort or vessel see only that asset's bookings, invoices and trips through the assistant. Customer lookups are the exception — they are available only to users without an asset restriction, because a customer record belongs to no single property.
Trips and guest lists
The assistant can work with a trip — one dated departure of an itinerary on a vessel, the same thing you manage under Trip Dates. Name the trip the way your crew does and the assistant looks it up itself; it matches the trip name, internal id, tags, ports, vessel name and itinerary name, so "the Raja Ampat departure in March" is enough.
Once it has the trip, you can ask for:
- How full it is — cabin occupancy, how many bookings are confirmed, on option or still an inquiry, and the trip's revenue. Ask about several departures in one question ("Compare the three March trips on Amira") to get them side by side.
- The bookings on it — the same summary rows as a booking search, limited to that departure.
- The guest list — who is on board with their cabin, booking and nationality.
- Nationalities only — "Which countries are the guests on this trip from?" returns just the per-country counts and no personal data. Prefer this phrasing when the question is about the mix rather than the people; it is also the safer one, because nothing personal leaves your system.
Tip: Ask "which trips are coming up on Amira?" first if you are not sure of the exact departure — the assistant lists the upcoming ones, soonest first, and you can then point it at the right one.
Trips are the one place an asset-restricted account works fully: a user assigned to a single vessel can read that vessel's trips and manifests through the assistant, but never another vessel's.
Permissions: finding trips needs the Schedules permission (Read); occupancy and bookings additionally need Bookings; the guest list additionally needs Customers.
Top guests vs. customer tags
Two rankings sound alike and answer different questions:
- Top guests ranks individual people by revenue — "Who are our best customers this year?" — with each guest's booking count, nights and total.
- Top customers ranks customer tags/segments, not persons. If your company doesn't use customer tags, this one returns a single None row, which is expected rather than a fault.
Phrase the question in terms of people ("top guests", "which guests spent the most") to get the first.
Connecting Claude (claude.ai or the Claude desktop app)
- In Claude, open Settings → Connectors → Add custom connector.
- Enter your system's MCP address:
https://YOUR-DOMAIN/api/mcp(shown on the Gurita page, with a copy button). - Claude opens a Gurita sign-in window — log in with your Gurita email and password and click Sign in & allow.
- Done. Ask Claude something about your business to test it, e.g. "List my assets and show this month's income."
The sign-in creates an access entry in the token list automatically (named after the client, e.g. "OAuth: Claude"). Revoke it there at any time to disconnect that assistant.
Connecting developer tools (Claude Code, Cursor, …)
Tools that support custom headers can use an access token instead of the sign-in flow:
On the Gurita page, click New token, give it a recognizable name (e.g. "Claude Code Michael"), optionally set an expiry date, and click Create.
Copy the token immediately — for security it is shown only once. If you lose it, revoke it and create a new one.
Add the connection in your tool. For Claude Code, the page shows the ready-made command:
claude mcp add --transport http gurita https://YOUR-DOMAIN/api/mcp --header "Authorization: Bearer YOUR-TOKEN"
Connecting ChatGPT
ChatGPT (Deep Research and custom connectors) can also use your Gurita system as a source. Add https://YOUR-DOMAIN/api/mcp as a connector in ChatGPT; it uses the same Gurita sign-in as Claude. ChatGPT works through two built-in tools — search (find bookings and customers matching a query) and fetch (open one record in full) — so you can ask it to research across your bookings and guests and cite what it finds. The same permission and asset limits apply: it only surfaces what the signed-in user is allowed to see, and customer records require an unrestricted account.
Managing tokens
The token list shows every access token with its name, the first characters of the token, when it was created, last used, and when it expires.
| Column | Meaning |
|---|---|
| Name | The label you gave it, or the connected client's name for sign-in connections. |
| Token | The first characters — enough to recognize it, never the full secret. |
| Last used | When an assistant last accessed the system with it. Useful for spotting unused or unexpected access. |
| Status | active, expired, or revoked. |
Click the revoke button to disconnect a token immediately. Revoking cannot be undone — the assistant simply stops working until a new connection is made.
Tip: Create one token per person and client rather than sharing one token. That way you can see who uses what and revoke a single connection without affecting others.
Security notes
- Everything is read-only — no AI client can change data in Gurita.
- The assistant only sees what the connected user's permissions allow (e.g. no POS report without the POS permission). Bookings, invoices and trips are additionally limited to the assets the user is assigned to; customer lookups require an account without any asset restriction.
- Tokens are stored securely (only a fingerprint is kept, never the token itself) and can be revoked at any time.
- Whatever the assistant reads becomes part of your conversation with the AI provider — connect only accounts and clients you trust.
Who can access this: Requires the Settings permission (Update) or Administrator access. The AI Assistant (MCP) module must be active.
