# Truuth MCP connector

The Truuth connector lets Claude, ChatGPT, Cursor and the Elaichi Agent start identity verifications, send verification invites and read fraud, sanctions and document reports in Truuth, inside each person's own access, with every call logged.

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

## Facts

| | |
| --- | --- |
| Application | Truuth |
| Category | BG Verification |
| AI tools | 59 |
| 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. 59 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Truuth is connected

- Show Truuth verifications created this week by team.
- Summarize sanctions and PEP report hits from yesterday.
- Which Truuth verification invites are still awaiting completion?

## Connect Truuth in Elaichi

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

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

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

### Review the sanctions and PEP report

Compliance. Ask for the sanctions and politically exposed person report on a customer's verification before approving the account, and get the findings summarized in plain language.

### Send a verification invite to a new customer

Onboarding. Start a Truuth verification for a new applicant, send them the invite, and follow the events as they upload their document and complete the face check.

### Run a fraud check on a submitted ID

Risk. Have the document classified, its authenticity checked and its text extracted, then search whether the photo appears elsewhere on the internet.

### Confirm a new hire is who they say

HR. Create a verification for a candidate, then confirm the face match and liveness results came back clean before the offer goes out.

### Catch up on a verification's status

Operations. Pull a single verification by its reference and list its events and reports to see exactly where it is stuck and what is still missing.

### Explain a stalled verification to a customer

Support. Look up the customer's verification, check the document and face images that were received, and tell them clearly what to resubmit.

## Frequently asked questions

### How do I connect Truuth to Claude?

Connect Truuth in Elaichi first: pick Truuth from the catalog and paste in the API key from your Truuth account, then Elaichi confirms the connection. Truuth connects with an API key, so 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 with your Elaichi account and Truuth is available in Claude.

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

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

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

An agent connected to Truuth can start a verification, send a verification invite, and read the reports that come back: fraud checks, sanctions and PEP screening, business reports, document images, face images and the event history. It can also classify a document, extract its text, check its authenticity, run a face match or liveness check, analyze an email address and search the internet for a photo. Truuth exposes many actions, so short concrete asks such as "show the fraud check report for this verification" work better than long instructions.

### Does connecting Truuth give the AI access to every verification?

No. Access follows the person who signed in, so an agent working through Truuth sees only the verifications, reports and images that person's Truuth API key already reaches. Elaichi can narrow that further with restrictions on specific actions, and it can never widen it beyond what Truuth itself allows.

### Can my team share one Truuth connection?

Yes. One person connects Truuth in Elaichi and shares the connection with a team, and nobody else ever sees or handles the Truuth API key. Each teammate still signs in to Elaichi as themselves, so every verification created or report read in Truuth is logged against the person who did it.

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

Yes. Restrictions in Elaichi apply per action, so you can allow reading Truuth reports and verification events while blocking the creation of new verifications or the deletion of overlay files. A blocked action is never advertised to Claude, ChatGPT, Cursor or any other client, so no prompt can reach it.

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

Offboarding the person in Elaichi ends their access to Truuth in every client at once. A shared Truuth connection keeps working for everyone else on the team. If you need to remove Truuth entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

## All 59 Truuth tools

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

- **Create a Truuth verification** (Create). Create a verification invite in truuth, initiating the KYC identity verification journey for a customer. Returns: verificationId, inviteUrl, inviteQRCode.
- **Get single Truuth verification by ID** (Get). Get full verification details from truuth by id. Returns: verificationId, status, tenantAlias, externalRefId, batchRefId, batchRefDescription, shortDeepLink, faceImage, createdAt, updatedAt, completedAt, metadata, identityOwner, inviteeDetails, agentDetails, results. Required: id.
- **Create a Truuth verification invite** (Create). Send a verification invite in truuth by dispatching an invitation email containing a KYC URL to a customer to start their identity verification process. Returns: verificationId. No required body fields — all properties are optional.
- **List all Truuth verification business report** (List). Get the business report for a truuth verification by returning a pre-signed URL to download the report in base64 format. Returns: content. Required: verification_id.
- **List all Truuth verification document image** (List). Download a truuth verification document image in base64 format. Returns: image. Required: verification_id, document_id.
- **List all Truuth verification face image** (List). Download the face image for a truuth verification in base64 format. The face image URL is provided as part of the callback result. Returns: image. Required: verification_id.
- **List all Truuth verification fraud check report** (List). Get the fraud check report pre-signed URL for a truuth verification. Returns: content. Required: verification_id.
- **List all Truuth verification sanctions pep report** (List). Get the Sanctions and PEP report pre-signed URL for a truuth verification. Returns the pre-signed URL (content) that can be used to download the report in base64 format; the URL is valid for 15 minutes. Required: verification_id.
- **List all Truuth verification report** (List). Get the pre-signed URL for a truuth identity verification report. Use the returned URL to download the Verification Report PDF in base64 format. Returns: content. Required: verification_id.
- **List all Truuth verification event** (List). List all events for a truuth verification without a cursor. Returns: cursor, nextAction, verificationEvents. Required: tenant_alias, verification_id.
- **Create a Truuth document classify** (Create). Classify a submitted ID document in truuth by providing one or more page images (base64-encoded or via URL). Returns: confidence, countryCode, documentType, timestamp, traceId. Required: images. Maximum 2 images per request.
- **Create a Truuth document textract** (Create). Extract OCR data from a submitted ID document in truuth by providing one or more document images. Returns: confidence, countryCode, documentType, pageCount, textract, timestamp, traceId. Required: images. Maximum 2 images per request; document will be auto-classified if countryCode and documentType are omitted.
- **Create a Truuth document authenticity** (Create). Verify the authenticity of a submitted ID document in truuth. Returns: authenticityChecks, authenticityScore, countryCode, documentType, timestamp, traceId. Required: images (array of up to 2 document-page images, each supplied as a base64-encoded image + mimeType pair or a URL).
- **Create a Truuth email analyze** (Create). Analyze an email address for fraud risk in truuth. Returns emailValidation (status, domainType, statusCode), emailActivity (dateFirstSeen, popularity, velocity), domainActivity (dateFirstSeen, popularity, velocity), and risk (score, queryId, tumblingRisk, domain risk score, and ip details including proxyType, routingType, and hostingFacility).
- **Create a Truuth face match** (Create). Verify in truuth whether the face on a photo ID document matches the face on a selfie image. Returns: liveness, similarity, status, timestamp, transactionId. Required: photoId, face.
- **Create a Truuth face liveness** (Create). Perform a face match in truuth by verifying whether the face on a photo ID document matches the face in a selfie, with optional liveness detection. Returns: liveness, similarity, status, timestamp, transactionId. Required: photoId, face.
- **Create a Truuth internet image search** (Create). Search the internet in truuth for images matching one or more submitted images. Returns: matches. Required: images (at least one image must be provided; maximum 2 images allowed per request).
- **Create a Truuth document fraud check** (Create). Submit a document to the truuth Document Fraud Checks Service for fraud analysis. Returns: documentVerifyId, batchRefId, status. Required: tenant_alias, document.
- **Get single Truuth document fraud check by ID** (Get). Get the result of a fraud check for a previously submitted document in truuth. Returns: documentVerifyId, batchRefId, status, checkResults, outcomes. Required: tenant_alias, id.
- **Create a Truuth image overlay** (Create). Generate image overlays comparing two submitted documents in Truuth's Document Fraud Checks Service. Returns: negative, delta. Supply original and matched documents using either a base64 content string with mimeType, or a publicly accessible url; set options.returnUrl to receive image URLs in the response instead of base64.
- **Create a Truuth image overlay upload** (Create). Get a presigned upload URL for oversized documents or images in truuth. Returns: fileIdentifier, uploadUrl, documentId. Optionally supply documentId to associate the upload with a known document identifier.
- **Delete a Truuth image overlay file by ID** (Delete). Delete an uploaded image file in truuth's Image Overlay Service by its file identifier. Returns an empty 204 response on success. Required:id.
- **Create a Truuth repeat image instance** (Create). Provision a new Repeat Images instance in Truuth. Returns the provisioned instance object including instanceId, tenantAlias, name, description, instanceType, and settings.
- **List all Truuth repeat image instance** (List). List Repeat Images instances in Truuth. Returns instance records including instanceId, tenantAlias, name, instanceType, and settings.
- **Delete a Truuth repeat image instance by ID** (Delete). Delete a Repeat Images instance by id in Truuth. Returns: message. Required: id.
- **Create a Truuth repeat image index** (Create). Index an image into a truuth Repeat Image Service instance, adding it to the instance's historic database. Returns: imageId, instanceId, embedding, externalAttributes, timestamp, traceId. Required: instance_id.
- **Create a Truuth repeat image match** (Create). Submit a repeat image matching request in truuth to check a submitted image against the indexed historical dataset for a given instance. Returns: status, transactionId. Required: instance_id.
- **Get single Truuth repeat image match by ID** (Get). Get the repeat image matching results for a transaction in truuth. Returns: status, count, limit, page, pageCount, matchedImages, matchData, indexedData. Required: id.
- **List all Truuth repeat image transaction** (List). List repeat image transactions in truuth. Returns: transactions, count, limit, page, pageCount, transactionId, status, result, matchCount, topMatchScore, updatedAt, agentDetails, externalAttributes. Supports optional filtering by status, result, agentId, batchrefid, date ranges, similarity score ranges, and a free-text search term.
- **List all Truuth repeat image match delta image** (List). Get the delta image generated between a submitted and matched image for a repeat-image transaction in truuth. Returns: image, mimeType, url. Required: transaction_id.
- **List all Truuth repeat image match image** (List). List matched images for a repeat image transaction in truuth. Returns image records including image (base64-encoded photo data), mimeType, and url for each matched image associated with the given transaction. Required: transaction_id.
- **List all Truuth repeat image match negative image** (List). Get the negative image generated between a submitted and matched image for a repeat-image transaction in truuth. Returns: image, mimeType, url. Required: transaction_id.
- **List all Truuth repeat image submitted image** (List). Get the submitted image for a repeat image match transaction in truuth. Returns: image, mimeType, url. Required: transaction_id.
- **Delete a Truuth repeat image data ID by ID** (Delete). Delete a specific image by ID from a truuth Repeat Images instance. Returns the deletion result including deleteCount, instanceId, externalReferenceId, and deletedImage (with its imageId). Required: instance_id, id.
- **Delete a Truuth repeat image datum by ID** (Delete). Delete images from a truuth Repeat Image Service instance, optionally filtered by external reference ID. Returns: deletedCount, deletedImages, externalReferenceId, instanceId. Required: instance_id.
- **Create a Truuth repeat text instance** (Create). Provision a new Repeat Text Instance in truuth. Returns: instanceId, tenantAlias, name, description, settings, instanceType. Required: settings (including maxSimilarityThreshold and minSimilarityThreshold).
- **List all Truuth repeat text instance** (List). List Repeat Text Instances in truuth. Returns: instanceId, tenantAlias, name, description, settings, instanceType.
- **Delete a Truuth repeat text instance by ID** (Delete). Delete a Repeat Text Instance in truuth by id. Returns: message. Required: id.
- **Create a Truuth repeat text index** (Create). Index documents (add data) to a Repeat Text instance in truuth. Returns the indexed record including instanceId, documentId, textId, segmentNumber, tenantAlias, createdAt, traceId, and timestamp. Required: instance_id.
- **Create a Truuth repeat text match** (Create). Submit a repeat text matching request in truuth for a specified instance. Returns: status, transactionId. Required: instance_id, image.
- **Get single Truuth repeat text match by ID** (Get). Get the repeat text matching result for a transaction in truuth by id. Returns: status, transactionId, matchedDocuments, indexedData, count, limit, page, pageCount. Required: id.
- **List all Truuth repeat text transaction** (List). List Repeat Text Match transactions in truuth. Returns: transactionId, status, result, matchCount, topMatchScore, updatedAt, externalAttributes, agentDetails. Supports filtering by status, result, batchrefid, agentId, date ranges, and similarity scores.
- **List all Truuth repeat text match delta image** (List). Get the delta image generated between a submitted and matched repeat text image in truuth. Returns: url. Required: transaction_id.
- **List all Truuth repeat text match image** (List). List matched images for a repeat text transaction in truuth. Returns the matched image reference including the url field, which is an external URL (e.g. a presigned URL) supporting GET operations to retrieve the image. Required: transaction_id.
- **List all Truuth repeat text match negative image** (List). Get the negative overlay image comparing a submitted text document against its matched record for a repeat text transaction in truuth. Returns a presigned or externally accessible URL (url) pointing to the negative image, which can be fetched via a standard HTTP GET. Required: transaction_id.
- **List all Truuth repeat text submitted image** (List). Get the submitted image for a repeat text match in truuth. Returns a presigned or permissioned external URL that supports a GET operation to retrieve the image. Required: transaction_id.
- **Delete a Truuth repeat text data ID by ID** (Delete). Delete a repeat text document by id from a truuth instance. Returns: instanceId, externalReferenceId, deleteCount, deletedDocument. Required: instance_id, id.
- **Delete a Truuth repeat text datum by ID** (Delete). Delete documents from a truuth repeat text instance, optionally filtered by external reference ID. Returns: instanceId, externalReferenceId, deletedCount, deletedDocuments. Required: instance_id.
- **Create a Truuth repeat user instance** (Create). Provision a new Repeat User instance in truuth. Returns the provisioned instance object including instanceId, instanceType, name, description, tenantAlias, idDocument match rules, and identityOwner match rules.
- **List all Truuth repeat user instance** (List). List Repeat User instances in truuth. Returns instance records including instanceId, instanceType, name, description, tenantAlias, idDocument match rules, and identityOwner match rules.
- **Delete a Truuth repeat user instance by ID** (Delete). Delete a Repeat User instance in truuth by id. Returns a confirmation message. Required: id.
- **Create a Truuth repeat user index** (Create). Index records into a truuth Repeat Users instance by submitting identity owner and/or ID document data. Returns: recordId, instanceId, externalAttributes, idDocument, identityOwner, timestamp, traceId. Required: instance_id.
- **Create a Truuth repeat user match** (Create). Submit a Repeat User Matching request in truuth against a specific instance to check whether a user already exists in the system. Returns: status, transactionId. Required: instance_id.
- **Get single Truuth repeat user match by ID** (Get). Get the Repeat User Matching result for a previously submitted transaction in truuth. Returns: status, count, page, pageCount, limit, matchedRecords, indexedData, matchData. Required: id.
- **Delete a Truuth repeat user data ID by ID** (Delete). Delete a repeat user data record by id in truuth. Returns: deleteCount, deletedRecord, externalReferenceId, instanceId. Required: instance_id, id.
- **Delete a Truuth repeat user datum by ID** (Delete). Delete repeat user data records from a truuth instance, optionally filtered by external reference ID. Returns: deleteCount, deletedRecords, externalReferenceId, instanceId. Required: instance_id.
- **Create a Truuth repeat user fraud check** (Create). Submit a fraud check request in truuth by providing identity document and owner data for analysis. Returns: status, transactionId.
- **Get single Truuth repeat user fraud check by ID** (Get). Get the result of a previously submitted fraud check in truuth by transaction id. Returns: outcome, message, count, page, limit, pageCount, anomalousRecords, indexedData, matchData. Required: id.
- **List all Truuth verification events using cursor** (List). Get the latest truuth verification events after a specific cursor position. Returns: cursor, nextAction, verificationEvents. Required: tenant_alias, verification_id, cursor.
