# Cohere MCP connector

The Cohere connector brings Cohere's chats, embeddings, reranking, classification, transcription, datasets and batch jobs into Claude, ChatGPT, Cursor and any MCP client, so your team can run and check Cohere work from the assistant they already use.

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

## Facts

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

## What you can ask once Cohere is connected

- Summarize last week's Cohere embed jobs by status.
- Which Cohere batches are still running right now?
- Rerank these support articles for the billing question.

## Connect Cohere in Elaichi

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

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

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

### Sort incoming tickets by intent

Support. Hand Cohere a stack of new ticket messages with a few labeled examples and get each one classified as billing, bug, cancellation or how-to before anyone opens the queue.

### Find the most relevant documents fast

Research. Ask a question, point at a pile of reports or transcripts, and have Cohere rerank them so the three that actually answer it come out on top.

### Kick off and watch an embedding job

Data. Start an embed job over a dataset, check how far it has got, and cancel it if the wrong file went in, all without opening the Cohere dashboard.

### Draft copy variants in one ask

Marketing. Send a brief and a saved prompt to Cohere and get back several headline and email variants to pick from, with the model choice on record.

### Turn meeting recordings into text

Operations. Drop a recorded call or all-hands into Cohere for transcription, then summarize the outcome and action items from the transcript in the same conversation.

### Run large prompt batches overnight

Engineering. Queue a batch of thousands of prompts, list what is running, pull results by batch when they land, and check dataset usage before the bill arrives.

## Frequently asked questions

### How do I connect Cohere to Claude?

Connecting Cohere takes two steps. First, in Elaichi, choose Cohere and paste in your Cohere API key, since Cohere 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. Claude asks you to sign in to Elaichi, and Cohere is ready to use.

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

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

### What can an AI agent actually do with my Cohere account?

Through the Cohere connector an agent can run chats and saved prompts, classify text, rerank documents against a question, create embeddings and embed jobs, transcribe audio, queue and check batch jobs, and create, list or inspect datasets and their usage. It can also list the Cohere models available to you and count tokens. Because Cohere exposes a lot of actions, short concrete asks such as 'classify these ten messages' work better than long paragraphs.

### Does connecting Cohere give the AI my whole Cohere account?

No. The Cohere connector can only do what the API key it was connected with is allowed to do, and each person still signs in to Elaichi as themselves before they can use it. Elaichi can narrow that access further, for example to running chats and classification only, but it can never widen it beyond what the Cohere key already permits.

### Can my team share one Cohere connection?

Yes. One person connects Cohere in Elaichi with the API key and shares the connection with a team, and nobody else on the team ever sees or handles that key. Each teammate still signs in to Elaichi as themselves, so every Cohere chat, batch or dataset action in the audit log is tied to the person who asked for it.

### Can I stop an agent from deleting datasets or canceling jobs in Cohere?

Yes. Restrictions in Elaichi work per action, so you can allow Cohere chats, reranking and classification while blocking dataset deletion and batch or embed job cancellation. 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 Cohere connection when someone leaves?

Offboarding a person in Elaichi ends their access to Cohere and every other connected application at once, with no need to rotate the Cohere API key. If the Cohere connection was shared, it keeps working for everyone else on the team. If you ever want Cohere gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 40 Cohere tools

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

- **Create a Cohere chat** (Create). Generate a text response from a Cohere model given a chronological list of chat messages. Returns: id, finish_reason, message, usage, logprobs. Required: model, messages, stream.
- **Create a Cohere chat v 1** (Create). Generate a text response to a user message in Cohere. Returns: text, generation_id, response_id, citations, finish_reason. Required: message, stream.
- **Create a Cohere prompt** (Create). Construct the text prompt that Cohere would send to the model for a v2 chat request without running generation. Returns: prompt. Required: model, messages. The request body matches Chat v2; the stream field is ignored.
- **Create a Cohere rerank** (Create). Rerank a list of documents against a search query in Cohere, producing an ordered array with each text assigned a relevance score. Returns: results, id, meta. Required: model, query, documents. Up to 1,000 documents recommended per request; longer documents are auto-truncated to max_tokens_per_doc.
- **Create a Cohere embed** (Create). Generate text and image embeddings in Cohere using the v2 Embed API. Returns: id, embeddings, texts, images, meta. Required: model, input_type. Maximum 96 texts per call; image embeddings supported with Embed v3.0 and newer.
- **Create a Cohere embed job** (Create). Create an async embed job in Cohere for a Dataset of type embed-input. The completed job produces a new Dataset of type embed-output with the original text entries and corresponding embeddings. Returns: job_id, meta. Required: model, dataset_id, input_type.
- **List all Cohere embed jobs** (List). List all embed jobs in Cohere for the authenticated user. Returns each embed job record including job_id, status, created_at, input_dataset_id, model, name, output_dataset_id, truncate, and meta.
- **Get single Cohere embed job by ID** (Get). Get a single embed job by id in Cohere. Returns: job_id, status, created_at, input_dataset_id, model, truncate, name, output_dataset_id, meta. Required: id.
- **Cohere embed jobs cancel** (Cancel). Cancel an active embed job in Cohere. Users are charged for embeddings processed up to the cancellation point and partial results are not available after cancellation. Returns an empty 200 response on success. Required: embed_job_id.
- **Create a Cohere audio transcription** (Create). Transcribe an audio file in Cohere. Returns the transcribed text. Required: model, language, file.
- **Create a Cohere batch** (Create). Create and execute a batch in Cohere from an uploaded dataset of requests. Returns the batch object including its id, name, input_dataset_id, model, created_at, and updated_at. Required: name, input_dataset_id, model.
- **List all Cohere batches** (List). List batches for the current authenticated user in Cohere. Returns each batch with its id, name, input_dataset_id, model, created_at, and updated_at. Max 1000 per page.
- **Get single Cohere batch by ID** (Get). Get a single batch by id in Cohere. Returns the batch object including its id, name, input_dataset_id, model, created_at, and updated_at. Required: id.
- **Cohere batches cancel** (Cancel). Cancel an in-progress batch in Cohere by batch_id. Returns an empty 204 response on success. Required: batch_id.
- **Create a Cohere dataset** (Create). Create a Cohere dataset by uploading a file via multipart form. Returns: id, name, dataset_type, validation_status, created_at, warnings. Required: name, type, data. The only valid type is embed-input.
- **List all Cohere datasets** (List). List Cohere datasets with optional filtering by type, validation status, and date range. Returns: id, name, dataset_type, validation_status, created_at, warnings.
- **Get single Cohere dataset by ID** (Get). Get a single Cohere dataset by id. Returns: id, name, dataset_type, validation_status, created_at, warnings. Required: id.
- **Delete a Cohere dataset by ID** (Delete). Delete a Cohere dataset by id. Returns an empty 204 response on success. Required: id.
- **Cohere datasets get usage** (Get). View the dataset storage usage for your Cohere organization. Returns: organization_usage. Each organization can have up to 10GB of storage across all users.
- **Create a Cohere tokenize** (Create). Tokenize input text in Cohere using byte-pair encoding (BPE). Returns: tokens, token_strings, meta. Required: text, model. Text length must be between 1 and 65536 characters.
- **Create a Cohere detokenize** (Create). Detokenize a list of byte-pair encoding tokens back into their text representation in Cohere. Returns: text, meta. Required: tokens, model.
- **List all Cohere models** (List). List models available for use in Cohere. Returns each model's name, endpoints, finetuned, context_length, is_deprecated, tokenizer_url, default_endpoints, features, and sampling_defaults. Optional filters: endpoint (filter by compatible API endpoint) and default_only (only default models for the specified endpoint, requires endpoint).
- **Get single Cohere model by ID** (Get). Get details of a single Cohere model by its name (id). Returns: name, is_deprecated, endpoints, finetuned, context_length, tokenizer_url, default_endpoints, features, sampling_defaults. Required: id.
- **Create a Cohere classify** (Create). Classify up to 96 text inputs in Cohere by predicting the best-fitting label for each input using provided text+label example pairs as reference. Returns: id, classifications, meta. Required: inputs. Fine-tuned models do not require the examples parameter.
- **Create a Cohere generate** (Create). Generate realistic text from a given prompt using Cohere's legacy Generate API. Returns: id, generations (list of generated results), prompt, and meta. Required: prompt, stream. This API is legacy and no longer maintained; migrate to the Chat API.
- **Create a Cohere summarize** (Create). Generate a summary in English for a given text using the Cohere Summarize API (Legacy). Returns: id, summary, meta. Required: text. Input text must be 250–50,000 characters and currently only English is supported.
- **Cohere API keys check** (Action). Check that a Cohere API key is valid and active. Returns: valid, organization_id, owner_id.
- **List all Cohere connectors** (List). List Cohere connectors ordered by descending creation date (newer first). Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Max 100 per page.
- **Create a Cohere connector** (Create). Create a new Cohere connector. The connector is tested during registration and registration is cancelled if the test fails. Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Required: name, url.
- **Get single Cohere connector by ID** (Get). Get a single Cohere connector by id. Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Required: id.
- **Update a Cohere connector by ID** (Update). Update a Cohere connector by id. Omitted fields are not updated. Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Required: id.
- **Delete a Cohere connector by ID** (Delete). Delete a Cohere connector by id. Returns an empty 204 response on success. Required: id.
- **Cohere connectors oauth authorize** (Action). Authorize a Cohere connector via OAuth 2.0 for the connector OAuth app. Returns: redirect_url. Required: connector_id.
- **List all Cohere finetuned models** (List). List fine-tuned models in Cohere that the caller has access to. Returns each model with id, name, status, settings, and created_at. Supports sorting by created_at.
- **Create a Cohere finetuned model** (Create). Create a new fine-tuned model in Cohere with a name and training settings (dataset, hyperparameters). Training runs asynchronously. Returns the model with id, name, status, settings, and created_at. Required: name, settings.
- **Get single Cohere finetuned model by ID** (Get). Get a single fine-tuned model in Cohere by id. Returns the model with id, name, status, settings, and created_at. Required: id.
- **Update a Cohere finetuned model by ID** (Update). Update a fine-tuned model in Cohere by id with a new name and settings. Returns the updated model with id, name, status, settings, and created_at. Required: id, name, settings.
- **Delete a Cohere finetuned model by ID** (Delete). Delete a fine-tuned model in Cohere by id. This operation is irreversible. Returns an empty 204 response on success. Required: id.
- **List all Cohere finetuned model events** (List). List events that occurred during the life-cycle of a Cohere fine-tuned model, ordered by creation time with the most recent first. Returns: created_at. Required: finetuned_model_id.
- **List all Cohere finetuned model metrics** (List). List training step metrics for a Cohere fine-tuned model, ordered by step number with the most recent step first. Returns a list of step metric objects containing training evaluation data for each step. Required: finetuned_model_id.
