# Tidio MCP connector

The Tidio connector brings your contacts, tickets, operators, departments, Lyro knowledge sources and product catalog to Claude, ChatGPT, Cursor and any MCP client, so support and sales teams can ask about customers, reply to tickets and keep records current from a chat window.

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

## Facts

| | |
| --- | --- |
| Application | Tidio |
| Category | Helpdesk |
| AI tools | 30 |
| 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 | Yes |

## What you can ask once Tidio is connected

- Summarize open Tidio tickets by department this week.
- Which Tidio operators closed the most tickets yesterday?
- Create Tidio contacts for these five trial signups.

## Connect Tidio in Elaichi

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

1. Open Connections, choose Add connection, and pick Tidio.
2. Optionally set Share with, then press Connect.
3. Paste a Tidio API key. One person generates a token in Tidio 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 Tidio tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Tidio 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 Tidio 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 Tidio 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 Tidio 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 Tidio 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 Tidio through Elaichi

### Reply to a ticket without opening Tidio

Support. Ask what a customer has written in a Tidio ticket, draft the reply in the tone your desk uses, and send it back on the same thread.

### Clear the queue by priority

Support. List the open Tidio tickets, sort them by who is waiting longest or which department they belong to, and update status or assignment as you work through them.

### Catch the contact up after a call

Sales. Add the notes, phone number and deal details to the Tidio contact right after a conversation, or create the contact if the visitor was new.

### Import a list of new contacts in one go

Marketing. Paste a list of leads from an event or a signup form and have them created in Tidio as contacts, with the right properties filled in for each.

### Keep the product catalog in sync

Ecommerce. Push updated product names, prices and availability into Tidio so Lyro and your operators answer with current information, and remove products you no longer sell.

### Teach Lyro from your help pages

Customer success. Point Lyro at a new help center page or a policy document so it can answer common questions on its own, and check which knowledge sources it is already using.

## Frequently asked questions

### How do I connect Tidio to Claude?

Connect Tidio in Elaichi first, which means pasting the API key from your Tidio settings; there is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in as yourself and Tidio is ready to use.

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

Yes. Once Tidio 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 Tidio once and every client you use picks it up.

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

It can look up a Tidio contact, create or update contacts one at a time or in bulk, and list your operators and departments. It can find and read tickets, reply to them, change their status or assignment, and ask Lyro to answer one. It can also add or update the websites and documents Lyro learns from, and keep your product catalog in Tidio current.

### Does connecting Tidio give the AI access to everything in my Tidio account?

No. Every call to Tidio runs under the access of the person who signed in, so the AI sees the contacts, tickets and settings that person can already see in Tidio. Elaichi can narrow that further, for example to reading tickets but not deleting them, but it can never widen it beyond what Tidio itself allows that person.

### Can my team share one Tidio connection?

Yes. One person connects Tidio in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in as themselves, so the audit log names the actual person behind every ticket reply or contact update in Tidio.

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

Yes. Restrictions in Elaichi are set per action, so you can allow reading and replying to Tidio tickets while blocking deletion of tickets, contacts or products. A blocked action is never shown to Claude, ChatGPT, Cursor or any other client, so no prompt, however worded, can reach it.

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

Offboarding that person in Elaichi ends their access to Tidio through every client at once. If they connected a Tidio account that was shared with a team, the shared connection keeps working for everyone else. Disconnecting Tidio in Elaichi removes it from Claude, ChatGPT, Cursor and every other client in one step.

## All 30 Tidio tools

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

- **List all Tidio contacts** (List). List Tidio contacts with all their properties. Returns: id, distinct_id, first_name, last_name, email, phone, language, country, city, created_at, email_consent, properties. Supports filtering by email address.
- **Create a Tidio contact** (Create). Create a new Tidio contact. Returns: id. Required: distinct_id. At least one of email, first_name, last_name, or phone must also be provided.
- **Get single Tidio contact by ID** (Get). Get a single Tidio contact by id. Returns: id, distinct_id, first_name, last_name, email, phone, language, country, city, created_at, email_consent, properties. Required: id.
- **Update a Tidio contact by ID** (Update). Update a Tidio contact's properties such as email, phone, name, newsletter consent, and custom properties. Returns an empty 204 response on success. Required: id.
- **Delete a Tidio contact by ID** (Delete). Delete a Tidio contact by id. Once deleted, the contact cannot be recovered. Returns an empty 204 response on success. Required: id.
- **Tidio contacts bulk create** (Create). Create up to 100 Tidio contacts in a single batch request using an all-or-nothing strategy. Returns: id, distinct_id, first_name, last_name, email, phone, language, country, city, created_at, email_consent, properties. Required: contacts array (each with distinct_id). At least one of email, first_name, last_name, or phone per contact.
- **Tidio contacts bulk update** (Update). Update up to 100 Tidio contacts in a single batch request using an all-or-nothing strategy. Returns an empty 204 response on success. Required: contacts array (each with id). Settable: email, first_name, last_name, phone, distinct_id, email_consent, properties. Maximum 100 contacts per request.
- **List all Tidio contact properties** (List). List all contact property definitions configured in the Tidio panel. Returns: name, label, type.
- **List all Tidio operators** (List). List all Tidio operators — chat agents who interact with customers or website visitors in real-time — with all their properties. Returns: id, active, email, name, role, picture, last_seen.
- **List all Tidio departments** (List). List all departments in Tidio. Departments are teams or groups of operators that handle specific types of customer inquiries or problems. Returns: id, name. The department id is a UUID used when assigning tickets via assigned_department_id.
- **List all Tidio tickets** (List). List all Tidio tickets with their details but without messages. Returns: id, link, status, subject, priority, contact_id, contact_email, assigned_operator_id, assigned_department_id, custom_channel_id.
- **Get single Tidio ticket by ID** (Get). Get a single Tidio ticket by id with all details and messages. Returns: id, link, subject, contact_id, contact_email, priority, status, assigned_operator_id, assigned_department_id, custom_channel_id, messages. Required: id.
- **Update a Tidio ticket by ID** (Update). Update a specific Tidio ticket by id to change its status, priority, assignment, tags, or custom fields. Returns an empty 204 response on success. Required: id.
- **Delete a Tidio ticket by ID** (Delete). Delete a specific Tidio ticket by id. Returns an empty 204 response on success. Required: id.
- **Tidio tickets reply** (Reply). Add a reply message to an existing Tidio ticket, either from an operator or a contact. Returns: id. Required: ticket_id, author_type, content.
- **Create a Tidio ticket** (Create). Create a Tidio ticket on behalf of a contact. Returns: id. Required: contact_email, subject, message_content.
- **Tidio lyro answer ticket** (Action). Ask the Tidio Lyro AI agent to generate an answer for a ticket based on the provided ticket data. Returns: message_content. Required: ticket_id, subject, contact_email, contact_name, recipient_email, messages. Responding can take up to 40 seconds and currently only works for the first message in a ticket.
- **Tidio lyro data sources upsert website** (Upsert). Upload or update a website data source for the Tidio Lyro AI Agent. If a data source with the same URL already exists it is updated; otherwise a new one is created. Returns: id. Required: url, content, title.
- **Tidio lyro data sources scrape website** (Action). Submit a website URL to be scraped and used as a knowledge data source for the Tidio Lyro AI Agent. Each URL must be unique per project. Returns: id. Required: url.
- **List all Tidio lyro data sources** (List). List data sources for the Tidio Lyro AI Agent, organized in a two-level hierarchy of folder and qa kinds. Returns: id, parent_id, title, type, kind, origin, status, used_by_lyro, used_by_copilot, sync_status, source_url, content, skip_auto_sync, manual_sync_available_at, next_auto_sync_at, created_at, updated_at.
- **Create a Tidio lyro data source** (Create). Create a QA data source for the Tidio Lyro AI Agent. The content is provided as text and processed by the AI Agent. Returns: id. Required: title, content.
- **Update a Tidio lyro data source by ID** (Update). Update an existing QA data source for the Tidio Lyro AI Agent by id. Returns: id. Required: id, title, content.
- **Delete a Tidio product by ID** (Delete). Permanently delete a product from Tidio Lyro AI recommendations by id. Deletion is irreversible and processed asynchronously. Returns an empty 202 Accepted response indicating the deletion has been queued. Required: id.
- **Tidio products bulk upsert** (Upsert). Bulk upload or update products for Tidio Lyro AI recommendations using batch processing. Products are processed in an all-or-nothing manner with a maximum of 100 products per request. Returns an empty 204 response on success. Required: products.
- **List all Tidio project** (List). Get information about the authenticated Tidio project. Returns: project_id, status.
- **List all Tidio contact viewed pages** (List). List pages a contact has viewed on your website in Tidio. Returns: url, viewed_at. Required: contact_id. Results cover the past 30 days.
- **List all Tidio contact messages** (List). List messages in a Tidio contact's conversation, including messages from the contact, chat operators, and chatbots. Returns: id, author_type, author_id, message, created_at. Required: contact_id.
- **Create a Tidio contact message** (Create). Send a message to a Tidio contact's conversation, attributed to the contact as if they sent it. Processing is asynchronous (202 Accepted). Returns: status. Required: contact_id, message. Message text must be 1–5000 characters.
- **List all Tidio ticket tags** (List). List Tidio ticket tags for the authenticated project. Returns a flat list of {id, name} objects sorted alphabetically by name.
- **List all Tidio ticket custom fields** (List). List all ticket custom field definitions configured for the authenticated Tidio project. Returns: id, name, type, is_required, is_dynamic, values.
