# ComplyCube MCP connector

The ComplyCube connector brings identity verification clients, addresses, documents and live photos into Claude, ChatGPT, Cursor and any MCP client, so your team can check, update and clean up verification records under their own ComplyCube access.

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

## Facts

| | |
| --- | --- |
| Application | ComplyCube |
| Category | Compliance |
| AI tools | 63 |
| 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. 63 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once ComplyCube is connected

- Show ComplyCube clients with a high risk profile
- List documents added to ComplyCube clients this week
- Which ComplyCube clients have no verified address yet?

## Connect ComplyCube in Elaichi

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

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

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

### Check a client's risk profile before approval

Compliance. Pull up a ComplyCube client, read their risk profile and see which documents and live photos are attached, all in one ask before signing off on onboarding.

### Create the client record from a signup

Onboarding. When a new applicant comes in, create the ComplyCube client, add their address and attach the ID document they sent, without switching between screens.

### Fix a mistyped name or address

Support. A customer says their date of birth or address is wrong on file. Find the ComplyCube client, correct the record or the address and confirm the change back to them.

### Review pending verifications across clients

Risk. List ComplyCube clients and their documents to spot anyone still waiting on a passport upload or a live photo, then chase the right people.

### Redact documents after a retention deadline

Legal. Redact ComplyCube documents and live photos for clients past your retention period, and remove the record entirely when a deletion request comes in.

### Retrieve a document image for an audit

Operations. An auditor asks for proof of a specific verification. Download the ComplyCube document image or live photo for that client and hand it over.

## Frequently asked questions

### How do I connect ComplyCube to Claude?

Connect ComplyCube in Elaichi by pasting a ComplyCube API key when asked, then in Claude go to Customize, then Connectors, then Add and paste https://api.elaichi.ai/mcp. There is no OAuth application to register in ComplyCube and no client ID or secret to generate. Sign in to Elaichi from Claude and ComplyCube is ready to use.

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

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

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

With ComplyCube connected, an agent can look up a client and their risk profile, create or update clients and addresses, attach ID documents and upload or download their images, retrieve live photos, and redact or delete documents and photos when a record must be cleaned up. Because ComplyCube has many actions, short concrete asks such as "show the documents for client Ana Ruiz" work better than long sentences.

### Does connecting ComplyCube give the AI everything in my account?

No. Every call to ComplyCube runs under the access of the person who signed in, so the agent sees the clients, documents and live photos that person's ComplyCube key allows and nothing more. Elaichi can narrow that further by blocking actions, and it can never widen it beyond what ComplyCube already grants.

### Can my team share one ComplyCube connection?

Yes. One person connects ComplyCube in Elaichi and shares it with a team, and nobody else ever sees or handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who looked up or changed a ComplyCube record, not a shared account.

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

Yes. Restrictions in Elaichi work per action, so you can allow reading ComplyCube clients and documents while blocking deletion, redaction or updates. A blocked action is never advertised to Claude, ChatGPT or any other client, so no prompt, however worded, can reach it.

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

Offboarding a person in Elaichi ends their access to ComplyCube at once, across every client they used. A shared ComplyCube connection keeps working for everyone else on the team. If you disconnect ComplyCube in Elaichi, it disappears from Claude, ChatGPT, Cursor and every other client in one step.

## All 63 ComplyCube tools

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

- **Create a ComplyCube client** (Create). Create a new client in ComplyCube. Returns the created client including id, type, email, createdAt, and updatedAt. Required: type and email. personDetails is required when type is person.
- **Get single ComplyCube client by ID** (Get). Get a single ComplyCube client by id. Returns the client including id, type, email, createdAt, and updatedAt. Required: id.
- **Update a ComplyCube client by ID** (Update). Update a ComplyCube client by id. Returns the updated client including id, type, email, createdAt, and updatedAt. Required: id. The client type cannot be changed after creation.
- **Delete a ComplyCube client by ID** (Delete). Delete a ComplyCube client by id. Returns an empty 204 response on success. Required: id.
- **List all ComplyCube clients** (List). List all ComplyCube clients sorted by creation date, with the most recent first. Returns each client including id, entityName, type, email, createdAt, and updatedAt.
- **ComplyCube clients get risk profile** (Get). Get the risk profile for a ComplyCube client. Returns the risk profile including overall risk, countryRisk, politicalExposureRisk, watchlistRisk, and updatedAt. Required: client_id.
- **Create a ComplyCube address** (Create). Create a new address for a client in ComplyCube. Returns the created address with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: clientId, line, city, and country.
- **Get single ComplyCube address by ID** (Get). Get a single ComplyCube address by id. Returns the address with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: id.
- **Update a ComplyCube address by ID** (Update). Update an existing ComplyCube address by id. Returns the updated address with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: id.
- **Delete a ComplyCube address by ID** (Delete). Delete a ComplyCube address by id. Returns an empty 204 response on success. Required: id.
- **List all ComplyCube addresses** (List). List all addresses for a ComplyCube client. Returns address records with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: clientId.
- **Create a ComplyCube document** (Create). Create a new document in ComplyCube. Returns the document including id, clientId, type, classification, issuingCountry, and createdAt. Required: clientId, type.
- **Get single ComplyCube document by ID** (Get). Get a single ComplyCube document by id. Returns the document including id, clientId, type, classification, issuingCountry, and createdAt. Required: id.
- **Update a ComplyCube document by ID** (Update). Update a ComplyCube document by id. Returns the updated document including id, clientId, type, classification, issuingCountry, and updatedAt. Required: id.
- **ComplyCube documents upload image** (Upload). Upload an image attachment to a ComplyCube document. Returns the image record including id, fileName, documentSide, downloadLink, contentType, and size. Required: document_id, side, fileName, data. Images must be JPG, PNG, or PDF and between 34 KB and 4 MB.
- **ComplyCube documents delete image** (Delete). Delete an image attachment from a ComplyCube document. Returns an empty 204 response on success. Required: document_id, side.
- **ComplyCube documents download image** (Download). Download a document image attachment from ComplyCube. Returns: fileName, contentType, data. Required: document_id, side.
- **ComplyCube documents redact** (Action). Redact all document image attachments for a ComplyCube document. Returns an empty JSON object on success. Required: document_id, attributes.
- **Delete a ComplyCube document by ID** (Delete). Delete a ComplyCube document and all associated attachments. Returns an empty 204 response on success. Required: id.
- **List all ComplyCube documents** (List). List all ComplyCube documents for a client. Returns: id, clientId, type, classification, issuingCountry, createdAt, updatedAt. Required: clientId.
- **Get single ComplyCube live photo by ID** (Get). Get an existing ComplyCube live photo by id. Returns: id, clientId, downloadLink, contentType, performLivenessCheck, size, createdAt, updatedAt. Required: id.
- **ComplyCube live photos download** (Download). Download an existing ComplyCube live photo image. Returns: fileName, contentType, data. Required: livephoto_id.
- **ComplyCube live photos redact** (Action). Redact all instances of an existing ComplyCube live photo. Returns an empty 200 response object on success. Required: livephoto_id.
- **Delete a ComplyCube live photo by ID** (Delete). Delete an existing ComplyCube live photo by id. Returns an empty 204 response on success. Required: id. Cannot be deleted once used to perform a check.
- **List all ComplyCube live photos** (List). List all live photos for a ComplyCube client, sorted by creation date with the most recent first. Returns live photo records including id, clientId, downloadLink, contentType, performLivenessCheck, size, createdAt, and updatedAt. Required: clientId.
- **Create a ComplyCube live photo** (Create). Upload a new live photo to ComplyCube. Returns the uploaded live photo including id, clientId, downloadLink, contentType, performLivenessCheck, size, createdAt, and updatedAt. Required: clientId, data. Image must be JPG or PNG and between 34 KB and 4 MB.
- **Get single ComplyCube live video by ID** (Get). Get a specific live video from ComplyCube by id. Returns: id, clientId, language, challenges, createdAt, updatedAt, message. Required: id.
- **ComplyCube live videos redact** (Action). Redact all instances of an existing live video in ComplyCube. Returns an empty 200 response on success. Required: livevideo_id.
- **Delete a ComplyCube live video by ID** (Delete). Delete an existing live video from ComplyCube. Returns an empty 204 response on success. Required: id. Cannot delete a live video once used to perform a check.
- **List all ComplyCube live videos** (List). List all live videos for a given client in ComplyCube, sorted by creation date with the most recent first. Returns: id, clientId, language, challenges, createdAt, updatedAt. Required: client_id.
- **Create a ComplyCube check** (Create). Create a new ComplyCube check. Returns the created check including id, clientId, type, status, createdAt, and updatedAt. Requires clientId and type.
- **Get single ComplyCube check by ID** (Get). Get a ComplyCube check by id. Returns the check including id, clientId, type, status, result, createdAt, and updatedAt. Required: id.
- **Update a ComplyCube check by ID** (Update). Update continuous monitoring on a ComplyCube check. Returns the updated check including id, clientId, type, status, result, createdAt, and updatedAt. Required: id. Only standard_screening_check and extensive_screening_check checks can be updated.
- **ComplyCube checks validate** (Validate). Validate the outcome of a ComplyCube check. Returns the validated outcome. Required: check_id and outcome.
- **ComplyCube checks redact** (Action). Redact selected attributes and images from a ComplyCube Document Check. Returns an empty JSON object on success. Required: check_id. Only applies to document_check checks.
- **List all ComplyCube checks** (List). List all existing checks in ComplyCube. Returns each check with id, clientId, entityName, type, status, result, createdAt, and updatedAt. Checks are sorted by creation date, newest first.
- **Get single ComplyCube workflow session by ID** (Get). Get a ComplyCube workflow session by id. Returns the full session object including id, clientId, status, workflowTemplateId, workflowId, outcome, createdAt, completedAt, and updatedAt. Required: id.
- **ComplyCube workflow sessions complete** (Complete). Complete a ComplyCube workflow session to trigger all configured verification checks. Returns: status. Required: workflowsession_id.
- **ComplyCube workflow sessions cancel** (Cancel). Cancel a started ComplyCube workflow session. Returns an empty object on success. Required: workflowsession_id. Only sessions with status 'started' can be cancelled.
- **List all ComplyCube workflow sessions** (List). List ComplyCube workflow sessions sorted by creation date, most recent first. Returns: id, clientId, entityName, status, workflowTemplateName, workflowTemplateId, workflowId, workflowVersion, outcome, createdAt, updatedAt.
- **Create a ComplyCube note** (Create). Create a new note in ComplyCube. Returns the created note including id, clientId, type, note, createdAt, and updatedAt. Requires clientId, type, and note.
- **Get single ComplyCube note by ID** (Get). Get a single ComplyCube note by id. Returns the note including id, clientId, type, note, createdAt, and updatedAt. Requires id.
- **Update a ComplyCube note by ID** (Update). Update a ComplyCube note by id. Returns the updated note including id, clientId, type, note, createdAt, and updatedAt. Requires id.
- **Delete a ComplyCube note by ID** (Delete). Delete a ComplyCube note by id. Returns an empty 204 response on success. Requires id.
- **List all ComplyCube notes** (List). List ComplyCube notes for a client. Returns notes sorted by creation date, each containing id, clientId, type, note, createdAt, and updatedAt. Requires clientId.
- **Get single ComplyCube custom list by ID** (Get). Get a custom list in ComplyCube by id. Returns: id, name, description, stats, createdAt, updatedAt. Required: id.
- **ComplyCube custom lists add record** (Add). Add an entity to a custom list in ComplyCube. Returns an empty response object on success. Required: customlist_id, entityType, names.
- **List all ComplyCube custom lists** (List). List custom lists in ComplyCube. Returns: id, name, description, stats, createdAt, updatedAt. Results are sorted by creation date, most recent first.
- **Get single ComplyCube company lookup by ID** (Get). Get a single company's full details from ComplyCube by id. Returns the company record including id, name, registrationNumber, incorporationCountry, incorporationDate, incorporationType, address, active, sourceUrl, owners, officers, filings, industryCodes, createdAt, and updatedAt. Required: id.
- **List all ComplyCube company lookup** (List). List company summaries in ComplyCube by name and incorporation country. Returns: id, name, registrationNumber, incorporationCountry, incorporationDate, incorporationType, address, active, sourceUrl, createdAt, updatedAt. Required: companyName, incorporationCountry.
- **List all ComplyCube address lookup** (List). List matching postal addresses in ComplyCube. Returns an array of address objects containing line, city, state, postalCode, and country. Required: line, country, postalCode.
- **Create a ComplyCube flow session** (Create). Create a ComplyCube hosted flow session using a workflow template. Returns: redirectUrl. Required: clientId, workflowTemplateId, successUrl, cancelUrl.
- **Create a ComplyCube webhook** (Create). Create a new webhook endpoint in ComplyCube. Returns the created webhook object including id, description, url, enabled, events, secret, and timestamps. Required: url, enabled, and events. Maximum of 20 webhooks allowed.
- **Get single ComplyCube webhook by ID** (Get). Get an existing ComplyCube webhook by id. Returns the webhook object including id, description, url, enabled, events, and timestamps. Required: id.
- **Update a ComplyCube webhook by ID** (Update). Update a ComplyCube webhook by id. Returns the updated webhook object including id, description, url, enabled, events, secret, and timestamps. Required: id.
- **Delete a ComplyCube webhook by ID** (Delete). Delete an existing ComplyCube webhook by id. Returns an empty 204 response on success. Required: id.
- **List all ComplyCube webhooks** (List). List all existing ComplyCube webhooks. Returns webhook objects containing id, url, enabled status, events, and timestamps.
- **Create a ComplyCube token** (Create). Generate a ComplyCube SDK token for a client. Returns the generated SDK token. Required: clientId. Supply referrer for the Web SDK or appId for Mobile SDKs.
- **ComplyCube autofill perform** (Action). Extract data and images from an identity document in ComplyCube. Returns extractedData with holderDetails, documentDetails, allExtractedData, and mrz, plus extractedImages. Required: data.
- **ComplyCube reports generate client report** (Generate). Generate a client PDF report in ComplyCube. Returns the base64-encoded report as contentType and data. Required: clientId.
- **ComplyCube reports generate check report** (Generate). Generate a check PDF report in ComplyCube. Returns the base64-encoded report as contentType and data. Required: check_id.
- **Get single ComplyCube team member by ID** (Get). Get a specific ComplyCube team member by id. Returns: id, firstName, lastName, role, createdAt. Required: id.
- **List all ComplyCube team members** (List). List ComplyCube team members sorted by creation date, newest first. Returns: id, firstName, lastName, role, createdAt. Supports filtering by firstName, lastName, and role.
