# Verbit MCP connector

The Verbit connector brings Verbit transcription orders, jobs, transcripts, deliveries and insights to Claude, ChatGPT, Cursor and any MCP client, so each person can place, track and read Verbit work from their AI assistant inside their own Verbit access.

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

## Facts

| | |
| --- | --- |
| Application | Verbit |
| Category | Artificial Intelligence |
| AI tools | 46 |
| 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. 46 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Verbit is connected

- List Verbit orders still awaiting transcript delivery this week.
- Summarize Verbit insights generated for last month's orders.
- Which Verbit recurrences are active and when do they run?

## Connect Verbit in Elaichi

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

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

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

### Order a deposition transcript from chat

Legal. Send a recording to Verbit as a new order, add the exhibits and case notes it needs, and get the transcript back without opening another tab.

### Check where every caption job stands

Media. Ask which Verbit jobs are still in progress, which are ready for delivery, and which orders are waiting on media before the broadcast deadline.

### Keep recurring lecture captioning on schedule

Education. Adjust a Verbit recurrence when the class timetable changes, or cancel it at the end of term, and confirm each delivery arrived.

### Turn webinar recordings into transcripts

Marketing. Upload the recording, create the Verbit job, and pull the finished transcript so the team can cut quotes and write the follow-up post.

### Update a batch of orders at once

Operations. Change the status or details of many Verbit orders in one ask instead of clicking through each one, and add a backup record where a job needs it.

### Pull insights from finished transcripts

Research. Generate Verbit insights across a set of interview transcripts and read the summary in plain language before the next round of analysis.

## Frequently asked questions

### How do I connect Verbit to Claude?

Two steps. In Elaichi, choose Verbit and paste in your Verbit API key, since Verbit connects with a key rather than a sign-in screen, and there is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in with your Elaichi account and Verbit is available in the conversation.

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

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

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

It can list your Verbit orders and jobs, create new ones, upload media and attach notes or exhibits, and pull back a finished transcript to read or summarize. It can also update order statuses in bulk, adjust or cancel a recurring captioning schedule, check whether a delivery arrived, and generate insights from transcripts. Verbit has a large set of actions, so short concrete asks such as "show me orders due this week" work better than long paragraphs.

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

No. Every request runs under the Verbit access of the person who signed in, so the AI sees only the orders, jobs and transcripts that person can already see in Verbit. Elaichi can narrow that further with restrictions on specific actions, but it can never widen it beyond what Verbit itself allows that person.

### Can my team share one Verbit connection?

Yes. One person adds the Verbit API key in Elaichi and shares the connection with a team, and nobody else ever handles or sees the key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who placed a Verbit order or read a transcript.

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

Yes. In Elaichi you can restrict individual Verbit actions, such as cancelling a recurrence, updating order statuses or creating deliveries, while leaving read-only access to transcripts and job details open. A blocked action is never advertised to Claude, ChatGPT or any other client, so no prompt can reach it.

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

Offboarding that person in Elaichi ends their Verbit access at once, in every client they used. If they shared a Verbit connection with a team, it keeps working for everyone else, and the API key never needs to be re-entered by anyone. If you want Verbit gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 46 Verbit tools

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

- **List all Verbit insights** (List). List Verbit AI insights for a specific job, supporting both live sessions and post-production jobs. Returns: uuid, url, fields. One of job_id, job_uuid, or order_id must be provided.
- **Verbit insights generate** (Generate). Generate Verbit AI insights for a job based on the job's insights configuration. Returns: ErrorType, ErrorComment. Required: insights. One of job_id, job_uuid, or order_id must be provided.
- **List all Verbit orders** (List). List Verbit orders filtered by various criteria including search text, order type, status, recurrence, and dates. Returns: id, category_id, short_id, name, client_transaction_id, status, internal_status, last_updated_at, input, output, po_number, cost_center, service_type, settings, contact_details, request_origin, attachments, created_by, container, groups, created_at, verbitext_group_id,…
- **Create a Verbit order** (Create). Create a new live order in Verbit. Returns the created order including id, name, status, internal_status, input, output, and created_at. Required: name, client_transaction_id, input, output. Start time must be in the future.
- **Get single Verbit order by ID** (Get). Get a single Verbit order by id. Returns: id, created_at, uuid, url, fields. Required: id.
- **Update a Verbit order by ID** (Update). Update an existing Verbit order by id, modifying fields such as name, status, input, settings, contact details, and attachments. Returns the updated order object including id, name, status, internal_status, input, output, and created_at. Required: id.
- **Verbit orders get transcript** (Get). Get the transcript for a specific Verbit order. Returns: link, is_verbitext_available, series_link, audio_recording_link, uuid, url, fields. Required: order_id.
- **Verbit orders update status** (Update). Update the status of a Verbit order — primarily used to cancel an order. Returns the updated order object including id, name, status, and created_at. Required: order_id, name. Status can only be updated to canceled; cancellations only affect orders in created, pending_approval, pending_execution, ready_to_connect, or execution_error status.
- **Verbit orders bulk update** (Update). Bulk update multiple Verbit orders by sending a JSON array of order objects. Returns: orders, uuid, url, fields. Required: client_transaction_id per order. Status can only be updated to canceled; updates must be made at least 5 hours (Captivate) or 24 hours (Human tier) before event start.
- **Update a Verbit recurrence by ID** (Update). Update a Verbit recurrence order by id, modifying details such as name, input, settings, and contact information. Returns the updated order including id, name, status, internal_status, input, output, settings, contact_details, groups, and created_at. Required: id. The recurrence parameter defaults to 'future', which requires order_id.
- **Verbit recurrences cancel** (Cancel). Cancel orders in a Verbit recurring event series by recurrence id. Returns the order object including id, name, status, internal_status, created_at, input, output, and groups with recurrence rules. Required: recurrence_id. Orders can only be canceled in created, pending_approval, pending_execution, ready_to_connect, or execution_error status.
- **Create a Verbit delivery** (Create). Create a download request for Verbit captioning/transcription files. Returns the delivery object including its id, order_ids, formats, status, and download url. Required: order_ids, formats. The delivery status is automatically set to pending on creation.
- **Get single Verbit delivery by ID** (Get). Get a Verbit download delivery by id. Returns the delivery object including its id, order_ids, formats, languages, status, and download url. Required: id.
- **Verbit deliveries get status** (Get). Get the status of a Verbit download delivery by delivery_id. Returns: status, uuid, url, fields. Required: delivery_id.
- **Verbit uploads get presigned URL** (Get). Get a presigned URL for uploading attachments to Verbit. Returns: uuid, url, fields. Required: file_name.
- **List all Verbit jobs** (List). List Verbit jobs with optional filtering by external_id, profile, job_name, language, label, and permission. Returns: id, category_id, short_id, name, client_transaction_id, status, internal_status, last_updated_at, input, output, po_number, cost_center, service_type, settings, contact_details, request_origin, attachments, created_by, container, groups, created_at, verbitext_group_id, editor_ids,…
- **Create a Verbit job** (Create). Create a new transcription job in Verbit by specifying an API version and a transcription profile. Returns a 201 success response. Required: v, profile. Optional parameters include job_name, language, dynamic_dictionary, permissions, labels, job_metadata, translation settings, and order_details.
- **Verbit jobs add asset** (Add). Add an asset file to a Verbit transcription job. Returns a 200 success response. Required: v, job_id.
- **Verbit jobs add media** (Add). Add media to a Verbit transcription job via a direct media URL or previously uploaded asset IDs. Returns a 200 success response. Required: v, job_id, media_url. Media URLs must be GET-accessible for at least 24 hours; merge_assets requires at least two asset_ids.
- **Verbit jobs add backup record** (Add). Add a backup record to a Verbit job by linking a previously uploaded asset to an existing transcription job. Returns a 200 success response. Required: v, job_id, asset_id.
- **Verbit jobs add notes attachments** (Add). Add notes or attachments to a Verbit transcription job by URL or asset ID. Returns an empty 200 response on success. Required: v, job_id. One of notes_attachment_url or asset_ids must be provided (mutually exclusive).
- **Verbit jobs add transcription** (Add). Add existing transcription text or a transcription URL to a Verbit job. Returns an empty 200 response on success. Required: v, job_id. One of transcription_text or transcription_url must be provided (mutually exclusive).
- **Verbit jobs perform transcription** (Action). Start transcription processing for a Verbit job, initiating ASR and human review. Returns an empty 200 response on success. Required: v, job_id.
- **Verbit jobs get info** (Get). Get information and status for a specific Verbit job. Returns: job_id, external_id, status, draft_ready. Required: v, job_id.
- **Verbit jobs get draft** (Get). Download the draft transcription for a Verbit job in the requested caption format. Returns the draft content as a file (srt, web_vtt, sami, txt, docx, or pdf). Required: v, job_id.
- **Verbit jobs get caption** (Get). Download a transcription or caption file for a Verbit job. Returns: caption. Required: v, job_id.
- **Verbit jobs get keywords** (Get). Get keywords associated with a Verbit job. Returns: keywords. Required: v, job_id.
- **Verbit jobs get widget code** (Get). Get embeddable HTML widget code for a Verbit job's transcription viewer, synced with a media player. Returns: widget_code. Required: v, job_id. Either player_id or media_url must be provided, but not both.
- **Verbit jobs get offline widget** (Get). Get the offline widget for a Verbit transcription job by job_id. Returns: widget. Required: v, job_id.
- **Verbit jobs request review** (Action). Request a review for a Verbit transcription job by job_id. Returns: status, ErrorType, ErrorComment. Required: v, job_id.
- **Verbit jobs request upload URL** (Upload). Request a direct upload URL for a media file associated with a Verbit job. Returns a 200 success response with no documented response body fields. Required: v, job_id, file_name.
- **Verbit jobs create smart player** (Create). Create a Smart Player for a Verbit job. Returns a 200 success response with no documented response body fields. Required: v, job_id, video_url, title.
- **Verbit jobs get smart player** (Get). Get the Smart Player configuration for a Verbit job. Returns: job_id, video_url, title, description, credits, thumbnail_url, favicon. Required: v, job_id.
- **Verbit jobs bulk update** (Update). Update the Smart Player configuration for a Verbit job. Returns: job_id, video_url, title, description, credits, thumbnail_url, favicon. Required: v, job_id, video_url, title.
- **List all Verbit profiles** (List). List Verbit profiles available for transcription job configuration. Profiles are referenced by name when creating or filtering jobs. Returns: id, name. Required: v.
- **List all Verbit users** (List). List users in Verbit. Returns a collection of user objects including id and email.
- **Get single Verbit user by ID** (Get). Get a single Verbit user by id. Returns the user object including id and email. Required: id.
- **Verbit users find by email** (Action). Find a Verbit user by email address. Returns the matching user object including id and email. Required: email.
- **Get single Verbit session by ID** (Get). Get details for a specific Verbit live session by id. Returns the full session order object including id, name, status, internal_status, input, output, contact_details, settings, and created_at. Required: id.
- **Verbit sessions set upstream** (Set). Set the upstream state for a Verbit live session, controlling whether the audio/video source is blocked or passed through. Returns an empty 200 response on success. Required: order_id, upstream.
- **Verbit sessions set caption placement** (Set). Set the caption placement position for a Verbit live session. Returns an empty 200 response on success. Required: order_id, caption_placement.
- **Verbit sessions end** (Action). End a Verbit live session immediately by order id. Returns an empty 200 response on success. Required: order_id.
- **Verbit sessions get max extend time** (Get). Get the maximum extend time available for a Verbit live session by order id. Returns the session order object including id, name, status, input, output, and created_at. Required: order_id.
- **Verbit sessions extend** (Action). Extend a Verbit realtime session's duration to a specified end time. Returns: ErrorType, ErrorComment. Required: order_id (UUID), end_time (ISO 8601 UTC).
- **Verbit sessions change connection plan** (Action). Change the connection plan template for a Verbit realtime session. Returns: ErrorType, ErrorComment. Required: order_id, connection_plan_id.
- **Create a Verbit auth token** (Create). Acquire a JWT bearer token for authenticating Verbit API calls by submitting the integration's configured API key. Returns: token, ErrorType, ErrorComment. The bearer token expires 24 hours after creation.
