# Chekin MCP connector

The Chekin connector brings your housings, rooms, reservations, police accounts and stat accounts into Claude, ChatGPT, Cursor and any MCP client, so your team can ask about properties and guest registration setup in plain language and update them as themselves.

Source: https://elaichi.ai/connectors/chekin/

## Facts

| | |
| --- | --- |
| Application | Chekin |
| Category | Default |
| AI tools | 64 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 64 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Chekin is connected

- List every Chekin housing added this month
- Which Chekin rooms have no reservations next week?
- Show police accounts linked to our Madrid housings

## Connect Chekin in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Chekin.
2. Optionally set Share with, then press Connect.
3. Paste a Chekin API key. One person generates a token in Chekin and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Chekin tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Chekin to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Chekin to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Chekin to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Chekin to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Chekin tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Chekin through Elaichi

### Set up a new property in minutes

Operations. Create the housing for a new listing, add its rooms in one go, and attach the police and stat accounts it reports through, all from a conversation.

### Check today's reservations before guests arrive

Front desk. Ask which reservations are coming up across your housings and see the details you need before the first guest walks in.

### Confirm every property reports to the authorities

Compliance. List your housings alongside their police accounts and stat accounts to spot any property that is missing a registration or statistics setup.

### Keep housing details current

Property management. After an owner changes an address, a name or a room layout, catch the Chekin housing and its rooms up without opening the dashboard.

### Bring a portfolio of rooms in at once

Onboarding. Hand over a list of rooms for a housing and have them created in bulk instead of adding them one at a time.

### Retire and restore properties safely

Operations. Remove a housing you no longer manage, and if the contract comes back, restore it rather than rebuilding it from scratch.

## Frequently asked questions

### How do I connect Chekin to Claude?

Connect Chekin in Elaichi first, then open Claude and go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Chekin connects with an API key, so the sign-in step is pasting the key from your Chekin account into Elaichi. There is no OAuth application to register and no client ID or secret to generate.

### Does Chekin work with ChatGPT and Cursor as well as Claude?

Yes. Once Chekin is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Chekin once and every client you use picks it up.

### What can an AI agent actually do with my Chekin data?

With Chekin connected, an agent can list and look up your housings, rooms, reservations, police accounts and stat accounts, create and update housings and rooms, add rooms in bulk, and set up or change the police and stat accounts a property reports through. It can also remove a housing and restore one that was removed. Because Chekin has a large number of actions, short concrete asks such as "list rooms for the Lisbon apartment" work better than long paragraphs.

### Does connecting Chekin give the AI access to every property in my account?

Connecting Chekin gives an agent only what the person who signed in can already reach in Chekin. The Chekin API key you connect with defines the outer limit, and Elaichi can narrow that further with roles and restrictions, but it can never widen it. Nothing the AI does in Chekin goes beyond that person's own access.

### Can my team share one Chekin connection?

Yes. One person connects Chekin in Elaichi and shares it with a team, and nobody else ever handles the Chekin API key. Each teammate still signs in to Elaichi as themselves, so every action on a housing, room or reservation in the audit log is tied to the person who did it, not to whoever connected the account.

### Can I stop an agent from deleting or changing things in Chekin?

Yes. Restrictions in Elaichi work per action, so you can allow reading housings and reservations while blocking the actions that delete or update housings, rooms, police accounts or stat accounts. A blocked action is never advertised to Claude, ChatGPT, Cursor or any other client, so no prompt can reach it.

### What happens to a Chekin connection when someone leaves?

When you offboard someone in Elaichi, their access to Chekin through every client ends at once. If they had shared a Chekin connection with a team, it keeps working for everyone else. If you want to remove Chekin entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 64 Chekin tools

Every tool below is callable through https://api.elaichi.ai/mcp once Chekin is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Chekin auth get token** (Get). Request a Chekin JWT access token by sending an API key. Returns: api_key, token. Token expires after 1 hour. Required: api_key.
- **List all Chekin housings** (List). List chekin housings in your account. Returns housing records including id, name, type, location, registration flags, and identity verification settings.
- **Get single Chekin housing by ID** (Get). Get a single chekin housing by id. Returns the housing record including id, name, type, location, registration flags, and identity verification settings. Required: id.
- **Create a Chekin housing** (Create). Create a new chekin housing. Returns the created housing with id, name, type, location, and registration flags. Required: name. For HOT type, rooms_quantity is mandatory and rooms must be created separately.
- **Update a Chekin housing by ID** (Update). Update an existing chekin housing by id. Returns the updated housing record including id, name, type, location, registration flags, and identity verification settings. Required: id.
- **Delete a Chekin housing by ID** (Delete). Delete a chekin housing by id. Returns an empty 204 response on success. Required: id.
- **Chekin housings restore** (Restore). Restore a deleted Chekin housing. Returns the restored housing object including id, name, origin, type, and is_deactivated. Required: housing_id.
- **List all Chekin rooms** (List). List rooms in Chekin. Returns: id, number, external_id, external_name, housing.
- **Get single Chekin room by ID** (Get). Get a single Chekin room by id. Returns: id, number, external_id, external_name, housing. Required: id.
- **Create a Chekin room** (Create). Create a new Chekin room. Returns: id, number, external_id, external_name, housing. Required: number, housing.
- **Chekin rooms bulk create** (Create). Create multiple Chekin rooms in one request. Returns an array of created rooms, each with id, number, external_id, external_name, and housing. Required: number and housing for each room in the array.
- **Update a Chekin room by ID** (Update). Update an existing Chekin room by id. Returns: id, number, external_id, external_name, housing. Required: id.
- **Delete a Chekin room by ID** (Delete). Delete a room from chekin by id. This action permanently removes the room from the inventory. Returns an empty 204 response on success. Required: id.
- **List all Chekin police accounts** (List). List police accounts in Chekin. Returns: id, type, username, password, certificate_password, establishment_number, username_type, external_id, external_name, police_external_housing_id, external_administration_id, police_extra_data, certificate, payment_method, external_housing_code, renter_code, local_send_time, delay, is_sending_guest_cards_enabled, service_key. Optional filters: number,…
- **Get single Chekin police account by ID** (Get). Get a single Chekin police account by id. Returns: id, type, username, password, certificate_password, establishment_number, username_type, external_id, external_name, police_external_housing_id, external_administration_id, police_extra_data, certificate, payment_method, external_housing_code, renter_code, local_send_time, delay, is_sending_guest_cards_enabled, service_key. Required: id.
- **Create a Chekin police account** (Create). Create a new police account in Chekin. Returns the created account including id, type, username, payment_method, and local_send_time. Required: type, username, password.
- **Update a Chekin police account by ID** (Update). Update an existing Chekin police account. Returns the updated account including id, type, username, payment_method, and local_send_time. Required: id.
- **Delete a Chekin police account by ID** (Delete). Delete a Chekin police account by id. Returns an empty 204 response on success. Required: id.
- **List all Chekin stat accounts** (List). List statistical accounts in Chekin. Returns each account's id, type, username, password, external_housing_id, external_location_id, id_camera, created_by, delay, local_send_time, and send_mode.
- **Get single Chekin stat account by ID** (Get). Get a single Chekin statistical account by id. Returns: id, type, username, password, external_housing_id, external_location_id, id_camera, created_by, delay, local_send_time, send_mode. Required: id.
- **Create a Chekin stat account** (Create). Create a new statistical account in Chekin. Returns the created account with id, type, username, password, external_housing_id, external_location_id, id_camera, created_by, delay, local_send_time, and send_mode. Required: type, username, password.
- **Update a Chekin stat account by ID** (Update). Update an existing Chekin statistical account by id. Returns the updated account with id, type, username, password, external_housing_id, external_location_id, id_camera, created_by, delay, local_send_time, and send_mode. Required: id.
- **Delete a Chekin stat account by ID** (Delete). Delete a Chekin statistical account by id. Returns an empty 204 response on success. Required: id.
- **List all Chekin reservations** (List). List reservations in Chekin, optionally filtered by housing, check-in date, external ID, booking reference, or guest name. Returns: id, housing_id, rooms ids, room_ids, default_leader_full_name, current_leader_full_name, default_invite_email, default_phone_number, default_email_language, language, check_in_date, check_out_date, created_at, night_of_stay, nights_of_stay, origin, source,…
- **Get single Chekin reservation by ID** (Get). Get a single Chekin reservation by id. Returns: id, housing_id, rooms ids, room_ids, default_leader_full_name, current_leader_full_name, default_invite_email, default_phone_number, default_email_language, language, check_in_date, check_out_date, created_at, night_of_stay, nights_of_stay, origin, source, external_id, booking_reference, guest_group, general_status, detailed_statuses, links,…
- **Create a Chekin reservation** (Create). Create a new reservation in Chekin. Returns: id, housing_id, room_ids, rooms ids, default_leader_full_name, current_leader_full_name, default_invite_email, default_phone_number, default_email_language, language, check_in_date, check_out_date, created_at, night_of_stay, nights_of_stay, origin, source, external_id, booking_reference, guest_group, general_status, detailed_statuses, links,…
- **Update a Chekin reservation by ID** (Update). Update an existing Chekin reservation by id. Returns: id, housing_id, housing, room_ids, rooms ids, default_leader_full_name, current_leader_full_name, default_invite_email, default_phone_number, default_email_language, language, check_in_date, check_out_date, created_at, night_of_stay, nights_of_stay, origin, source, external_id, booking_reference, guest_group, general_status, detailed_statuses,…
- **Delete a Chekin reservation by ID** (Delete). Delete a Chekin reservation by id. Returns an empty 204 response on success. Required: id.
- **Chekin reservations resend police check in** (Resend). Force resend the police check-in report for a Chekin reservation. Returns an empty 204 response on success. Required: reservation_id.
- **Chekin reservations resend police check out** (Resend). Force resend the police check-out report for a Chekin reservation. Returns an empty 204 response on success. Required: reservation_id. Only needed for police integrations with check-out reports.
- **Chekin reservations resend stat check in** (Resend). Force resend the stat check-in report for a Chekin reservation. Returns an empty 204 response on success. Required: reservation_id.
- **Chekin reservations resend stat check out** (Resend). Force resend the stat check-out report for a Chekin reservation. Returns an empty 204 response on success. Required: reservation_id. Only needed for stat integrations with check-out reports.
- **Create a Chekin reservation payment** (Create). Create a new payment for a reservation in Chekin. Returns the created payment object including status, type, amount, reservation_id, name, and e-invoicing metadata.
- **List all Chekin reservation payments** (List). List all payments for a Chekin reservation. Returns: status, type, amount, reservation_id, name, metadata. Required: reservation.
- **Delete a Chekin reservation payment by ID** (Delete). Delete a Chekin reservation payment by id. Returns an empty 204 response on success. Required: id.
- **Create a Chekin einvoicing supplier** (Create). Create a new e-invoicing supplier in Chekin. Returns the supplier record including id, name, vat_number, provider, country, series, webhook_configurations, created_at, and updated_at. Required: initial_housing_id, name, vat_number, provider, country, street, building_number, city, postal_code, payment_method, tax_category_key, series, and data.
- **Get single Chekin einvoicing supplier by ID** (Get). Get an e-invoicing supplier in Chekin by id. Returns the supplier record including id, name, vat_number, provider, country, series, webhook_configurations, created_at, and updated_at. Required: id.
- **Update a Chekin einvoicing supplier by ID** (Update). Update an e-invoicing supplier in Chekin by id. Returns the supplier record including id, name, vat_number, provider, country, series, webhook_configurations, created_at, and updated_at. Required: id.
- **Chekin guests get schema** (Get). Get the dynamic guest schema template from Chekin. Returns the form field definitions (default, iv) that depend on the reservation and nationality. Required: reservation_id.
- **Create a Chekin guest** (Create). Create a new guest in Chekin. Returns the created guest record including id, name, surname, birth_date, document_number, and guestapp_status. Required: name, surname, birth_date, nationality, residence_country, document_type, document_number, document_issue_date, gender, reservation_id.
- **Get single Chekin guest by ID** (Get). Retrieve a guest's information from Chekin by id. Returns the full guest record including id, name, surname, birth_date, document_number, and guestapp_status. Required: id.
- **Update a Chekin guest by ID** (Update). Update an existing guest in Chekin by id. Returns the updated guest record including id, name, surname, birth_date, document_number, and guestapp_status. Required: id.
- **Delete a Chekin guest by ID** (Delete). Delete a guest record from Chekin by id. Returns an empty 204 response on success. Required: id.
- **Chekin guests pre create min** (Create). Pre-create a Chekin guest with minimal fields to prefill the online check-in form. Returns: name, surname, reservation_id. Required: name, surname.
- **Chekin guests attach ocr checks** (Action). Attach ID document OCR scan results to a Chekin guest. Returns the updated guest object including id, name, surname, reservation_id, ocr_passed, and document scan fields. Required: guest_id, reservation_id, ocr_passed, external_documents_front_side_scan, external_documents_front_side_scan_service.
- **Create a Chekin guest entry form** (Create). Generate a guest entry form for a Chekin guest. Returns the guestbook record including id, guest_id, reservation_id, status, and file metadata. Required: guest_id, reservation_id.
- **Chekin guest entry forms get status** (Get). Check the status of a Chekin guest entry form. Returns the guestbook record including id, status, file_path, and created_at. Required: guest_id, guestbook_id.
- **Chekin guest entry forms download** (Download). Download the generated guest entry form file once its status is READY. Returns the file content (binary). Required: guest_id, guestbook_id.
- **Chekin identity verification extract face ID** (Action). Extract a guest's face from an ID document image in Chekin. Returns: id, picture_field, status, is_face_detected. Required: picture_file.
- **Chekin identity verification get face ID status** (Get). Check the status of an ID facial-data extraction in Chekin. Returns: id, picture_field, status, is_face_detected. Required: indetification_id.
- **Chekin identity verification extract face selfie** (Action). Extract a guest's face from a selfie image in Chekin. Returns: id, picture_field, status, is_face_detected. Required: picture_file.
- **Chekin identity verification get face selfie status** (Get). Check the status of a selfie facial-data extraction in Chekin. Returns: id, picture_field, status, is_face_detected. Required: person_id.
- **Chekin identity verification compare faces** (Action). Compare ID and selfie facial data in Chekin. Returns: id, identification_picture, person_picture, status, distance, is_match. Required: identification_picture, person_picture.
- **Chekin identity verification get comparison result** (Get). Get the facial comparison result for a Chekin identity verification. Returns: id, identification_picture, person_picture, status, distance, is_match. Required: compare_id.
- **Chekin ocr analyze image** (Action). Submit an identity document image to Chekin's OCR service for MRZ detection and analysis. Returns the OCR request including id, status, mrz_detected, extracted document fields, and validity flags. Required: picture_file.
- **Chekin ocr get analysis** (Get). Retrieve the status and extracted MRZ data for an OCR analysis request by data_id. Returns the OCR result including id, status, mrz_detected, extracted traveler fields, and validity flags. Required: data_id.
- **Chekin webhooks subscribe** (Action). Subscribe to Chekin webhook events in bulk. Returns the created subscriptions with id, event, target, housing_id, and whitelist. Required: events and target.
- **List all Chekin webhooks** (List). List all webhook subscriptions for your Chekin account. Returns each subscription's id, event, target, housing_id, and whitelist.
- **Chekin webhooks unsubscribe** (Action). Unsubscribe a Chekin webhook by id. Returns an empty 204 response on success. Required: webhook_id.
- **Create a Chekin reservation source** (Create). Create a reservation source in Chekin. Returns the created source with id and name. Required: name.
- **List all Chekin reservation sources** (List). List all reservation sources in Chekin. Returns each source's id and name.
- **Delete a Chekin reservation source by ID** (Delete). Delete a reservation source in Chekin by id. Returns an empty 204 response on success. Required: id.
- **List all Chekin spain municipalities** (List). List Spanish municipalities from Chekin. Returns each municipality's name and official code. Optional: q.
- **List all Chekin search locations** (List). Search Chekin location codes across countries and administrative divisions. Returns a list of locations, each containing a country object with code, alpha_3, name, and splitted. Hard limit: phone_code and country filters are mutually exclusive.
