Travel
GetYourGuide
Availability, pricing and bookings for tour operators.
11 endpoints
Brief the morning arrivals, add guest notes and create tasks in Mews by asking in plain words. It works in your own Mews login, inside Claude or ChatGPT. Nothing to install or host.
11 tools Read and write
Mews has an official Connector API and no official MCP server (checked 6 Nov 2026). Cotlet adds 11 Mews tools for Claude and ChatGPT: no Mews API credentials or developer setup, hosted 24/7, one Cotlet account for many apps.
| What you need | Connector API | Zapier | Cotlet |
|---|---|---|---|
| What you set up | Certification, tokens, code | A connection and a Zap per job | Sign in to Mews once |
| List arrivals and departures for a day | You build the list | Reservation events and lookups | Yes, as the Mews tabs show them |
| Create a task | Yes, after certification | Yes, Create New Task | Yes, after your OK |
| Add a reservation note | After certification | Not in the action list | Yes, after your OK |
| Cancel a reservation | After certification | Not in the action list | Yes, after your OK |
| Use it inside Claude and ChatGPT | You build the agent layer | Through Zapier MCP | Yes, one address |
Checked 6 Nov 2026. Sources: Mews Connector API: Authentication · Mews Connector API: Getting started · Mews Connector API: Certification · Mews Connector API: Private integration journey · Zapier: Mews operations
Use your own login in your Cotlet Cloud Browser.
Add one address to Claude, ChatGPT or n8n.
Your agent works in your Mews.
We never keep your Mews password, and no note, task or cancellation happens until you approve it. Who can see your session
Three steps. Chat apps, editors, n8n and scripts use the same Cotlet address.
Enable Mews for agents. Sign up, sign in to Mews in its Cloud Browser, then press Enable for agents.
Add the Cotlet address. Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
Approve the connection. Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.
One shared address, https://cotlet.dev/mcp/v1, also carries Mews next to your other apps. If you enable Mews after connecting, refresh the connector so the new tools show up.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-mews \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-mews": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-mews]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: mews_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: mews_write Read only. They follow the Reservation overview tabs, so the account needs access to that screen in Mews.
Returns the reservations arriving on the day with guest name, status and the guest count that the tab shows. Statuses are the tab's own groups: To check in, Checked in online and Checked in. The account needs access to Reservation overview in Mews.
MCP callmews_read → list_arrivals
REST endpointGET https://cotlet.dev/api/v1/mews/arrivals
| Name | Type | Description |
|---|---|---|
| date string | string | Day to read, YYYY-MM-DD. Defaults to today in the property time zone. |
{
"date": "2026-11-06",
"reservations": 3,
"guests": 5,
"arrivals": [
{
"reservation_id": "a1f0c2d4-7b6e-4c1a-9e31-2f5d8b0c1a01",
"guest": "Lindgren, Eva",
"status": "To check in",
"nights": 3
},
{
"reservation_id": "a1f0c2d4-7b6e-4c1a-9e31-2f5d8b0c1a02",
"guest": "Okafor, Tunde",
"status": "Checked in online",
"nights": 2
},
{
"reservation_id": "a1f0c2d4-7b6e-4c1a-9e31-2f5d8b0c1a03",
"guest": "Moreau, Claire",
"status": "Checked in",
"nights": 1
}
]
} Returns the reservations departing on the day. Bookings not yet checked out come first, and those flagged Check-out missed are marked. Completed departures follow, labeled Past. The account needs access to Reservation overview in Mews.
MCP callmews_read → list_departures
REST endpointGET https://cotlet.dev/api/v1/mews/departures
| Name | Type | Description |
|---|---|---|
| date string | string | Day to read, YYYY-MM-DD. Defaults to today in the property time zone. |
{
"date": "2026-11-06",
"reservations": 3,
"guests": 4,
"departures": [
{
"reservation_id": "b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b01",
"guest": "Haddad, Samir",
"status": "Check-out missed"
},
{
"reservation_id": "b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b02",
"guest": "Novak, Petra",
"status": "Not checked out"
},
{
"reservation_id": "b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b03",
"guest": "Silva, Marco",
"status": "Past"
}
]
} Returns each booking in the interval with guest name, status, arrival and departure dates and reservation notes. Mews shows guests arriving on the selected day and guests staying at least one night in the interval. Use it for a room-by-room list.
MCP callmews_read → list_guests_in_house
REST endpointGET https://cotlet.dev/api/v1/mews/guests-in-houses
| Name | Type | Description |
|---|---|---|
| start_date string | string | First day of the interval, YYYY-MM-DD. Defaults to today. |
| end_date string | string | Last day of the interval, YYYY-MM-DD. Defaults to the start date. |
| status string | string | Reservation status filter: Checked out, Checked-in, Confirmed or Optional. Defaults to guests currently at the property. |
| order_by string | string | Ordering: last_name or room_number. |
{
"start_date": "2026-11-06",
"end_date": "2026-11-06",
"order_by": "room_number",
"guests": [
{
"reservation_id": "c3d2e4f6-9d8a-4e3c-9a53-4b7f0d2e3c01",
"room": "204",
"guest": "Lindgren, Eva",
"status": "Checked-in",
"arrival": "2026-11-06",
"departure": "2026-11-09",
"notes": "Late arrival"
},
{
"reservation_id": "c3d2e4f6-9d8a-4e3c-9a53-4b7f0d2e3c02",
"room": "310",
"guest": "Okafor, Tunde",
"status": "Checked-in",
"arrival": "2026-11-05",
"departure": "2026-11-08",
"notes": ""
}
]
} Returns one row per day with the columns the Statistics tab shows: Arrivals (Online), Departures (Online), Stayovers and Staying. Mews exports these totals to Excel; for full reservation details use list_reservations.
MCP callmews_read → get_stay_statistics
REST endpointGET https://cotlet.dev/api/v1/mews/stay-statistics
| Name | Type | Description |
|---|---|---|
| start_date string required | string | First day, YYYY-MM-DD. |
| end_date string required | string | Last day, YYYY-MM-DD. |
{
"start_date": "start date",
"end_date": "end date"
} {
"days": [
{
"date": "2026-11-06",
"arrivals_online": 1,
"departures_online": 0,
"stayovers": 18,
"staying": 22
},
{
"date": "2026-11-07",
"arrivals_online": 2,
"departures_online": 1,
"stayovers": 20,
"staying": 25
}
]
} Read only. A guest profile has no identity documents or payment details.
Returns the reservations that match, each with status, customer, arrival and departure. The Reservation report in Mews is the source, in its detailed mode. Use the reservation_id with get_reservation or cancel_reservation.
MCP callmews_read → list_reservations
REST endpointGET https://cotlet.dev/api/v1/mews/reservations
| Name | Type | Description |
|---|---|---|
| status string | string | Status filter: Canceled, Checked out, Checked in, Confirmed, Inquired or Optional. |
| start_date string | string | First day of the interval, YYYY-MM-DD. |
| end_date string | string | Last day of the interval, YYYY-MM-DD. |
| guest string | string | Guest name to search for, as in the Mews search bar. |
{
"reservations": [
{
"reservation_id": "d4e3f5a7-0e9b-4f4d-8b64-5c8a1e3f4d01",
"status": "Optional",
"customer": "Haddad, Samir",
"customer_id": "e5f4a6b8-1f0c-4a5e-9c75-6d9b2f4a5e01",
"arrival": "2026-11-10",
"departure": "2026-11-12"
},
{
"reservation_id": "d4e3f5a7-0e9b-4f4d-8b64-5c8a1e3f4d02",
"status": "Optional",
"customer": "Novak, Petra",
"customer_id": "e5f4a6b8-1f0c-4a5e-9c75-6d9b2f4a5e02",
"arrival": "2026-11-11",
"departure": "2026-11-13"
}
]
} Returns what the reservation screen shows: status, arrival and departure, the notes saved in the Notes section and the linked customer. Read it before cancel_reservation to check that the guest has not checked in.
MCP callmews_read → get_reservation
REST endpointGET https://cotlet.dev/api/v1/mews/reservations/{reservation_id}
| Name | Type | Description |
|---|---|---|
| reservation_id string required | string | Reservation ID from list_reservations, list_arrivals or list_departures. |
{
"reservation_id": "reservation_8c41d2"
} {
"reservation_id": "d4e3f5a7-0e9b-4f4d-8b64-5c8a1e3f4d01",
"status": "Optional",
"arrival": "2026-11-10",
"departure": "2026-11-12",
"customer": {
"customer_id": "e5f4a6b8-1f0c-4a5e-9c75-6d9b2f4a5e01",
"name": "Haddad, Samir"
},
"notes": [
"Waiting for company confirmation"
]
} Returns matching customer profiles with their IDs and current and future reservations. It searches the property of the signed-in account. Use customer_id with get_customer.
MCP callmews_read → find_customer
REST endpointGET https://cotlet.dev/api/v1/mews/customers/find
| Name | Type | Description |
|---|---|---|
| query string required | string | Guest name or part of it. |
{
"query": "query"
} {
"customers": [
{
"customer_id": "e5f4a6b8-1f0c-4a5e-9c75-6d9b2f4a5e03",
"name": "Lindgren, Eva",
"email": "eva@example.com",
"reservations": [
{
"reservation_id": "a1f0c2d4-7b6e-4c1a-9e31-2f5d8b0c1a01",
"status": "Confirmed",
"arrival": "2026-11-06"
}
]
}
]
} Returns the Profile fields (name, email, nationality, phone), the Internals tab (notes, dietary requirements, preferred space features) and the reservations and open bills the Dashboard and Billing tabs list. It does not return identity documents or payment details.
MCP callmews_read → get_customer
REST endpointGET https://cotlet.dev/api/v1/mews/customers/{customer_id}
| Name | Type | Description |
|---|---|---|
| customer_id string required | string | Customer ID from find_customer or a reservation. |
{
"customer_id": "customer_8c41d2"
} {
"customer_id": "e5f4a6b8-1f0c-4a5e-9c75-6d9b2f4a5e03",
"name": "Lindgren, Eva",
"email": "eva@example.com",
"nationality": "SE",
"internals": {
"notes": "Prefers a quiet room",
"dietary_requirements": "Vegetarian",
"preferred_space_features": "High floor"
},
"reservations": [
{
"reservation_id": "a1f0c2d4-7b6e-4c1a-9e31-2f5d8b0c1a01",
"status": "Confirmed",
"arrival": "2026-11-06",
"departure": "2026-11-09"
}
],
"open_bills": 0
} Each one asks first. A department must already exist in Settings, and a guest in house cannot be cancelled.
Adds the note to the reservation's Notes section, where staff read it and where it shows in reports that list reservation notes. Existing notes stay as they are. Staff can edit or delete a note in Mews. By default you confirm each call; you can switch that off for this tool.
MCP callmews_write → add_reservation_note
REST endpointPOST https://cotlet.dev/api/v1/mews/reservations/{reservation_id}/note
| Name | Type | Description |
|---|---|---|
| reservation_id string required | string | Reservation ID from list_reservations, list_arrivals or list_departures. |
| note string required | string | Note text for staff. |
{
"reservation_id": "reservation_8c41d2",
"note": "note"
} {
"reservation_id": "a1f0c2d4-7b6e-4c1a-9e31-2f5d8b0c1a01",
"notes": [
"Late arrival",
"Vegetarian, quiet room"
]
} Creates the task as the Tasks donut on the Dashboard does. The assignee or department sees it on their Dashboard, or in the Tasks tab of the Mews Operations app. The department must already exist in Settings. By default you confirm each call; you can switch that off for this tool.
MCP callmews_write → create_task
REST endpointPOST https://cotlet.dev/api/v1/mews/tasks
| Name | Type | Description |
|---|---|---|
| name string required | string | Task title. |
| department string | string | Department responsible, by name. Use this or assignee. |
| assignee string | string | Employee responsible, by name. Use this or department. |
| reservation_id string | string | Attach the task to this reservation. |
{
"name": "Check-out missed: call guest",
"department": "Front desk",
"reservation_id": "b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b01"
} {
"task_id": "f6a5b7c9-2a1d-4b6f-8d86-7e0c3a5b6f01",
"name": "Check-out missed: call guest",
"department": "Front desk",
"reservation_id": "b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b01",
"status": "open"
} Cancels a reservation that has not checked in and is still inside the property's editable history window. A reservation that is in house cannot be cancelled: shorten it and check the guest out instead. If the bill is closed, Mews creates a rebate to cancel it out. Needs the Create and manage reservations permission. By default you confirm each call; you can switch that off for this tool.
MCP callmews_write → cancel_reservation
REST endpointPOST https://cotlet.dev/api/v1/mews/reservations/{reservation_id}/cancel
| Name | Type | Description |
|---|---|---|
| reservation_id string required | string | Reservation ID from list_reservations, list_arrivals or list_departures. |
| send_cancellation_email boolean | boolean | Email the customer about the cancellation. Defaults to the Send cancellation email by default setting of the service. |
{
"reservation_id": "reservation_8c41d2"
} {
"reservation_id": "d4e3f5a7-0e9b-4f4d-8b64-5c8a1e3f4d01",
"status": "Canceled",
"cancellation_email_sent": false
} Your signed-in Mews profile, encrypted with AES-256-GCM, in Finland. Not the password.
The 11 Mews tools. Never the cookie.
What your Mews login sees: reservations, guests, notes, tasks.
Bills, payments, settings, password and two-factor.
You type it in. We never do.
Disable for agents, reset the browser, or sign out of Mews.
Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).
The agent works in your own signed-in Mews Operations session, so it sees what your login sees. Reading the day lists needs access to Reservation overview. Cancelling needs the Create and manage reservations permission.
Log in with a front desk role and the agent does front desk work. Log in with a narrower role and it does less. Nothing here asks Mews for extra rights.
When Mews moves a tab or renames a column, the fix happens on our side and your prompts keep working. status.cotlet.dev watches the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Add a reservation note | Staff edit or delete the note in Mews |
| Create a task | Close it in Mews; only staff see it |
| Cancel a reservation | No. Create the booking again in Mews |
3 of 11 tools ask first: all three writes. The 8 reads change nothing. Switch the wait off per tool for a scheduled run.
A guest who is in house cannot be cancelled. Shorten the stay and check the guest out in Mews instead.
{
"name": "create_task",
"arguments": {
"name": "Check-out missed: call guest",
"department": "Front desk",
"reservation_id": "b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b01"
}
} curl -X POST https://cotlet.dev/api/v1/mews/tasks \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Check-out missed: call guest","department":"Front desk","reservation_id":"b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b01"}' {
"task_id": "f6a5b7c9-2a1d-4b6f-8d86-7e0c3a5b6f01",
"name": "Check-out missed: call guest",
"department": "Front desk",
"reservation_id": "b2e1d3c5-8c7f-4d2b-8f42-3a6e9c1d2b01",
"status": "open"
} Scripts and cron jobs reach the same tools over REST, with the same key and price. The tools table lists the REST path of each tool. A failed call costs nothing.
About $43 a monthfor a 50-room hotel, 7,380 credits. Your Mews plan is billed by Mews as before.
| Job | Calls | Credits |
|---|---|---|
| Morning brief: arrivals, departures, numbers | 3 × 30 | 900 |
| Task for a missed check-out | 2 × 30 | 600 |
| Preference notes on tomorrow's arrivals | 11 × 30 | 3,300 |
| Cancel unconfirmed optional bookings, weekly | 6 × 4 | 240 |
| Weekly stay numbers | 1 × 4 | 40 |
| Front desk questions: find a guest, read a booking | 2 × 40 | 800 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 7,380 |
The month is our example: about 17 arrivals a day, 5 of them with a preference note, one missed check-out a day. Small Luxury Hotels of the World says its Mews hotels have 50 rooms on average. Mews publishes no average of its own. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| code-rabi/mews-mcp | Unofficial MCP server on the Connector API: customers, reservations, transactions, settings. Also hosted on Smithery with 53 tools. | Needs your own API tokens. 0 stars, last commit 6 Aug 2025. |
| tjg37/mews-mcp-server | Local MCP server for Claude Desktop and Claude Code, MIT licence. | Needs API tokens and runs on your computer. 0 stars, last commit 20 Mar 2026. |
| Peliqan | Hosted MCP server, EUR 15 per connection a month. Questions run on a synced copy of your Mews data. | Reservations, bills and payments are read only. Writes cover rates, vouchers and companies. |
| Zapier and Zapier MCP | Mews operations as Zaps or as MCP tools: 6 triggers, 12 actions, 5 searches. | No action to add a note or cancel a reservation. |
The Mews Connector API is the official route if your hotel has the certification and a developer. The GitHub servers sit on it. Cotlet needs neither: it works in your signed-in Mews and is hosted, so ChatGPT, your phone and a 7 a.m. schedule all work.
Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the Mews tools.
Sign up at cotlet.dev, log in to Mews once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Mews account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Mews: morning arrivals and departures brief; create tasks for missed check-outs; add guest preferences to arriving reservations. You ask in plain words, and anything that reaches other people waits for your OK first.
Create a free account at https://cotlet.dev, open Mews under Integrations in the console and sign in to Mews in its Cloud Browser. The trial starts with your first app, no card asked.
No. Cotlet works in your own signed-in Mews session. Mews issues production Connector API credentials only after a certification process (docs.mews.com, Authentication). Your Mews role still counts: the agent can only do what your account is allowed to do.
No. Mews does not allow cancelling a reservation that is in house, so cancel_reservation fails for it. A reservation that has not checked in can be cancelled while it is inside the property's editable history window.
Yes, through the Connector API, for certified integrations. Cotlet does not receive them, so run your agent on a schedule instead, for example a list_arrivals and list_departures pass every morning.
Cotlet works in your own Mews login. What the agent can reach follows your role, not a Cotlet setting.
No. get_customer returns the profile, the Internals notes, reservations and open bill counts. It does not return identity documents or payment details.
Only the door is different. Both expose the same 11 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.
No. Cotlet is independent and not affiliated with Mews.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy