# Tawk.to MCP connector

The Tawk.to connector brings your chat conversations, tickets, agents, properties and widgets into Claude, ChatGPT, Cursor or any MCP client, so your team can ask about live chats and manage Tawk.to inside their own access.

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

## Facts

| | |
| --- | --- |
| Application | Tawk.to |
| Category | Helpdesk |
| AI tools | 80 |
| 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. 80 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Tawk.to is connected

- Show me open Tawk.to tickets from this week.
- Which agents handled the most conversations yesterday?
- List conversations on our support property missing a reply.

## Connect Tawk.to in Elaichi

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

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

## Connect Tawk.to 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 Tawk.to 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 Tawk.to 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 Tawk.to 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 Tawk.to 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 Tawk.to through Elaichi

### Catch up on chats before a shift

Support. Ask for the conversations that came in overnight across your Tawk.to properties and get a short rundown of who wrote in and what they needed, before the first chat of the day lands.

### Find the ticket a customer is asking about

Support. A customer replies quoting a ticket number. Pull up that Tawk.to ticket, read the history, and answer them without leaving the tool you are already working in.

### Spot buying questions hidden in support chats

Sales. Read through recent Tawk.to conversations for anyone asking about pricing, plans or a demo, and turn them into a follow-up list for the sales team.

### Change the chat widget on the website

Marketing. Update a Tawk.to widget, add a card promoting a new offer, or remove one when a campaign ends, without asking a developer to touch the site.

### Bring new chat agents on and off

Operations. Enable a new hire as a Tawk.to agent, set their permissions, and disable or remove agents who have moved on, all from a plain request.

### Set up chat for a new website

Operations. Create a Tawk.to property for a new site or brand, add a widget to it, and check the global widget settings match the rest of your properties.

## Frequently asked questions

### How do I connect Tawk.to to Claude?

Two steps. In Elaichi, add the Tawk.to connector and paste in a Tawk.to API key when asked, then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. There is no OAuth application to register with Tawk.to and no client ID or secret to generate. The whole thing takes a few minutes.

### Does Tawk.to work with ChatGPT and Cursor as well as Claude?

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

### What can an AI agent actually do with my Tawk.to data?

It can read your Tawk.to conversations and tickets, look up a specific chat or ticket, list your properties and the agents on your account, and manage widgets, including adding or removing cards and adjusting global widget settings. It can also enable, disable or remove agents and change their permissions. Because Tawk.to has a lot of tools, short concrete asks such as "show me yesterday's tickets" work better than long paragraphs.

### Does connecting Tawk.to give the AI access to every property and every chat?

No. The AI only sees what the Tawk.to API key it is connected with can see, so the properties, conversations and agents available are the same ones that person could already reach in Tawk.to. Elaichi can narrow that access further with restrictions, but it can never widen it beyond what Tawk.to itself allows.

### Can my team share one Tawk.to connection?

Yes. One person connects Tawk.to in Elaichi and shares the connection with a team, and nobody else ever handles the Tawk.to API key. Each teammate still signs in to Elaichi as themselves, so every chat they read or widget they change is logged under their own name.

### Can I stop an agent from deleting or changing things in Tawk.to?

Yes. Restrictions in Elaichi work per action, so you can allow reading Tawk.to conversations and tickets while blocking widget deletion, agent removal or permission changes. A blocked action is never advertised to Claude, ChatGPT or any other client, so no prompt can reach it.

### What happens to a Tawk.to connection when someone leaves?

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

## All 80 Tawk.to tools

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

- **List all Tawk.to properties** (List). List properties for the authenticated agent. Supports pagination via body.
- **Get single Tawk.to property by ID** (Get). Retrieve property details. Required: propertyId.
- **Create a Tawk.to property** (Create). Create a new property of type site for an agent. Required: name.
- **List all Tawk.to conversations** (List). List chats for a property. Required: propertyId. Optional filters/pagination via body.
- **Get single Tawk.to conversation by ID** (Get). Get a single chat by ID. Required: propertyId, chatId.
- **List all Tawk.to tickets** (List). List tickets for a tawk.to property with optional filters by date range, status, tags, and sort order. Returns: id, humanId, type, source, propertyId, subject, message, requester, personId, status, priority, createdOn, updatedOn, deleted, tags, spam, creator, assignee. Required: propertyId.
- **Get single Tawk.to ticket by ID** (Get). Get a single ticket by ID. Required: propertyId, ticketId.
- **Get single Tawk.to agent by ID** (Get). Get basic information about a specific tawk.to agent by id. Returns: id, name. Required: id.
- **List all Tawk.to agents** (List). List members (agents) of a tawk.to property. Returns: id, name, role, enabled. Required: propertyId.
- **Tawk.to agents me** (Action). Return basic agent information for the owner of the API key or OAuth token.
- **Tawk.to agents enable** (Enable). Enable a member's access to a property. Required: propertyId, agentId. Cannot enable yourself.
- **Tawk.to agents disable** (Disable). Disable a member's access to a property. Required: propertyId, agentId, successor.type, successor.id.
- **Tawk.to agents update permissions** (Update). Update a member's role on a property. Required: propertyId, agentId, role.
- **Tawk.to agents remove** (Delete). Remove a member from a property. Required: propertyId, agentId, successor.
- **List all Tawk.to widgets** (List). List widget API keys for a property. Required: propertyId.
- **Get single Tawk.to widget by ID** (Get). Get settings for a specific Tawk.to widget. Returns the widget object including id, propertyId, name, enabled, version, language, and nested settings for theme, behavior, visibility, notifications, scheduler, and restrictions. Required: propertyId, widgetId.
- **Create a Tawk.to widget** (Create). Create a new tawk.to widget of a specific type and add it to a property. Returns the created widget object including its id, name, type, and language. Required: propertyId, widget.name.
- **Update a Tawk.to widget by ID** (Update). Update widget settings for a tawk.to property, including name, enabled state, language, theme, behavior, visibility, notifications, consent, and scheduler configuration. Returns: ok. Required: propertyId, widgetId.
- **Delete a Tawk.to widget by ID** (Delete). Remove a widget from a tawk.to property. Returns an empty 204 response on success. Required: propertyId, widgetId.
- **Tawk.to widgets add card** (Add). Add a new card to a widget. Required: propertyId, widgetId, state, card.
- **Tawk.to widgets remove card** (Delete). Remove a card from a widget. Required: propertyId, widgetId, cardId, state.
- **Tawk.to widgets update card** (Update). Update widget card settings. Required: propertyId, widgetId, cardId, state, card.
- **Tawk.to widgets get global settings** (Get). Fetch global widget settings for a property. Required: propertyId.
- **Tawk.to widgets update global settings** (Update). Update global widget settings for a property. Required: propertyId, settings.
- **List all Tawk.to webhooks** (List). List tawk.to webhooks for a property. Returns: hookId, propertyId, name, url, events, enabled, secretKey, createdOn, updatedOn. Required: propertyId.
- **Get single Tawk.to webhook by ID** (Get). Get a single tawk.to webhook by hookId and propertyId. Returns: hookId, propertyId, name, url, events, enabled, secretKey, createdOn, updatedOn. Required: hookId, propertyId.
- **Create a Tawk.to webhook** (Create). Create a tawk.to webhook for a property. Returns: hookId. Required: propertyId, events, url, name.
- **Update a Tawk.to webhook by ID** (Update). Update a tawk.to webhook configuration for a property. Returns: ok. Required: hookId, propertyId, config.
- **Delete a Tawk.to webhook by ID** (Delete). Delete a tawk.to webhook from a property. Returns: ok. Required: hookId, propertyId.
- **Get single Tawk.to contact by ID** (Get). Fetch a contact person's details from tawk.to by specifying which fields to return. Returns: id, name, jobTitle, primaryEmail, emails, primaryPhone, phones, avatar, socialProfiles, tags, organizationId, userId, device, location, webSession, liveChat, ticket, firstSeenOn, lastSeenOn, customAttributes, customEvents, createdOn, updatedOn. Required: propertyId, personId, fields.
- **Tawk.to contacts list custom attributes** (List). List custom contact attributes for a property. Required: propertyId, object.
- **List all Tawk.to kb articles** (List). List articles with each article's meta data & translation data in primary site or the first site for which its translation was created
- **Get single Tawk.to kb article by ID** (Get). Fetch article for provided site
- **Create a Tawk.to kb article** (Create). Create new article in KB and its translation for provided site
- **Update a Tawk.to kb article by ID** (Update). Update article and its translation for provided site
- **Delete a Tawk.to kb article by ID** (Delete). Destroy whole article and all its translations. Required: propertyId, articleId.
- **Tawk.to kb articles search** (Search). Searches articles from the given query, it will search through `title`, `subtitle` and `contents`
- **Tawk.to kb articles soft delete** (Delete). Delete an article translation for a site, or the whole article if it is the last translation. Required: propertyId, articleId, siteId.
- **List all Tawk.to kb categories** (List). List knowledge base categories for a property in tawk.to. Returns: id, name, description, slug, sites, icon, position, parent, articlesCount, hasChildren, createdAt, updatedAt. Required: propertyId.
- **Get single Tawk.to kb category by ID** (Get). Retrieves the knowledge base category
- **Create a Tawk.to kb category** (Create). Create a new knowledge base category in tawk.to. Returns the created category object including meta (icon, parent, position) and content (siteId, name, description, slug, createdAt, updatedAt). Required: propertyId, category.
- **Update a Tawk.to kb category by ID** (Update). Update a tawk.to knowledge base category's metadata and content. Returns: ok. Required: propertyId, categoryId, and category (with content.siteId, content.name, content.description).
- **Delete a Tawk.to kb category by ID** (Delete). Delete a Tawk.to knowledge base category for a specific site. Returns: ok. Required: propertyId, categoryId, siteId.
- **Tawk.to kb categories destroy** (Action). Destroy a category for all sites and reparent children. Required: propertyId, categoryId.
- **Tawk.to kb categories list articles** (List). List articles in a knowledge-base category. Required: propertyId, categoryId.
- **Tawk.to kb categories order articles** (Action). Change article order within a category. Required: propertyId, categoryId.
- **List all Tawk.to kb sites** (List). List tawk.to knowledge base sites for a property. Returns: id, language, primary, title, description, header, banner, ticketForm, links, enabled, widgetId. Required: propertyId.
- **Get single Tawk.to kb site by ID** (Get). Get a single tawk.to knowledge base site by property and site id. Returns: id, language, primary, title, description, header, banner, ticketForm, links, enabled, widgetId. Required: propertyId, siteId.
- **Create a Tawk.to kb site** (Create). Create a new tawk.to knowledge base site. Returns: id, language, primary, title, description, header, banner, ticketForm, links, enabled, widgetId. Required: propertyId, language, title.
- **Update a Tawk.to kb site by ID** (Update). Update a tawk.to knowledge base site's settings including language, title, banner, ticket form, and widget configuration. Returns: ok. Required: propertyId, siteId, and site.
- **Delete a Tawk.to kb site by ID** (Delete). Delete a tawk.to knowledge base site. Returns a success-only response with no data payload. Required: propertyId, siteId.
- **Tawk.to metrics chat metrics** (Action). Retrieve chat statistics for a Tawk.to property over a specified time range. Returns: metrics. Required: propertyId, metrics, query.startTime, query.endTime.
- **Tawk.to metrics ticket metrics new** (Action). Retrieve new ticket statistics for a tawk.to property, grouped by date with optional source breakdown. Returns: metrics. Required: propertyId, metrics, query (startTime, endTime).
- **Tawk.to metrics ticket metrics resolved** (Action). Retrieve resolved ticket statistics for a tawk.to property. Returns a metrics array where each item includes date, total, and resolutionTime statistics. Required: propertyId, metrics, query (with startTime and endTime).
- **Tawk.to metrics ticket metrics reopened** (Action). Retrieve reopened ticket statistics for a tawk.to property. Returns: metrics. Required: propertyId, metrics, query.startTime, query.endTime. Defaults granularity to day, timezone to 0.
- **Tawk.to metrics ticket metrics responses** (Action). Retrieve ticket response statistics for a property. Required: propertyId, metrics, query.startTime, query.endTime.
- **List all Tawk.to member invites** (List). List pending member invites for a Tawk.to property. Returns: id, propertyId, role, email, invitedBy, createdOn. Required: propertyId.
- **Create a Tawk.to member invite** (Create). Invite an agent to a Tawk.to property by email. Returns: id. Required: propertyId, email, role.
- **Update a Tawk.to member invite by ID** (Update). Update the role of a pending member invite in a Tawk.to property. Returns: found. Required: propertyId, inviteId, role.
- **Delete a Tawk.to member invite by ID** (Delete). Revoke a pending member invite from a Tawk.to property. Returns: id. Required: propertyId, inviteId.
- **List all Tawk.to tabs** (List). List all tabs configured for a tawk.to property. Returns each tab with propertyId, tabId, type, position, enabled, and optionally subType, label, content, parent, and icon. Required: propertyId.
- **Tawk.to tabs list available** (List). List available tabs that can be added to a tawk.to property. Returns: type, subType. Required: propertyId.
- **Create a Tawk.to tab** (Create). Add a new tab to a tawk.to property. Returns the created tab including propertyId, tabId, type, position, enabled, label, content, parent, and icon. Required: propertyId, type, subType.
- **Update a Tawk.to tab by ID** (Update). Update a tab by ID in tawk.to. Supports changing the label, enabled status, position, content, parent menu, and icon for url, text, and menu type tabs. Returns an empty 204 response on success. Required: propertyId, tabId. Label is limited to 25 characters; url content must start with https and max 1024 characters; text content max 5000 characters.
- **Delete a Tawk.to tab by ID** (Delete). Remove a tab from a Tawk.to property by tab ID. Returns a success-only response with no data payload. Required: propertyId, tabId.
- **Get single Tawk.to tab by ID** (Get). Retrieve a tab by ID. Required: propertyId, tabId.
- **Get single Tawk.to kb setting by ID** (Get). Information that contains the specific settings about the knowledge base
- **Update a Tawk.to kb setting by ID** (Update). Updates knowledge base settings
- **Tawk.to kb settings check domain** (Action). Can be used to check if a certain domain is to available to use
- **Tawk.to kb settings check subdomain** (Action). Can be used to check if a certain subdomain is to available to use
- **Tawk.to kb settings update subdomain** (Update). Updates knowledge base subdomain settings
- **Tawk.to kb settings add domain candidate** (Add). Adds knowledge base domain candidate
- **Tawk.to kb settings remove domain candidate** (Delete). Removes knowledge base domain candidate
- **Tawk.to kb settings remove domain** (Delete). Removes knowledge base domain settings
- **Create a Tawk.to kb site link** (Create). Adds a knowledge base site navigation link
- **Update a Tawk.to kb site link by ID** (Update). Updates a knowledge base site navigation link
- **Delete a Tawk.to kb site link by ID** (Delete). Removes a knowledge base site navigation link
- **Create a Tawk.to knowledge base** (Create). Creates a knowledge base for a property
- **Tawk.to knowledge bases list fonts** (List). Fetches all supported Knowledge Base fonts
- **Tawk.to knowledge bases list languages** (List). List available languages that can be used in Knowledge Base
