# OpenPipe MCP connector

The OpenPipe connector brings your logged calls, datasets, fine-tuned models and evaluation judges to Claude, ChatGPT, Cursor and any MCP client, so your team can work with OpenPipe from the tools they already use.

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

## Facts

| | |
| --- | --- |
| Application | OpenPipe |
| Category | Artificial Intelligence |
| AI tools | 23 |
| 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 | Yes |

## What you can ask once OpenPipe is connected

- List our OpenPipe datasets and their entry counts.
- Which OpenPipe models were called most this week.
- Show the latest logged calls and their tags.

## Connect OpenPipe in Elaichi

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

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

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

### Turn logged calls into a training dataset

AI engineering. Pull the latest logged calls from OpenPipe, tag the good ones, and add them as entries to a dataset without leaving the chat you are already working in.

### Kick off a fine-tune from a conversation

AI engineering. Pick a dataset, choose a base model, and start a fine-tuning job in OpenPipe, then check on it later by asking how the run is going.

### Keep datasets tidy before a training run

Data science. List every dataset in OpenPipe, spot the stale or duplicate ones, and remove them so the next fine-tune starts from a clean set.

### Score model output against your own criteria

Quality. Run a criteria judge in OpenPipe on a batch of responses and get a plain summary of where the model passed and where it fell short.

### Label production calls by feature and customer

Product. Update tags and metadata on logged calls in OpenPipe after a launch, so the team can filter later by the feature or account that produced them.

### Compare the models you have deployed

Platform. List the models in OpenPipe, look up any single one by ID, and retire the ones nobody is calling anymore.

## Frequently asked questions

### How do I connect OpenPipe to Claude?

Connect OpenPipe in Elaichi first, which means pasting the API key you copy from your OpenPipe project settings. There is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in as yourself and OpenPipe is available in your next conversation.

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

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

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

An agent can fetch your latest logged calls from OpenPipe, tag them, update their metadata and add the useful ones to a dataset. It can create and remove datasets, start a fine-tuning job, check how a fine-tune is going, list and look up your models, run a criteria judge on responses and send chat completions through OpenPipe. In short, the everyday work of building a dataset and training a model, done by asking.

### Does connecting OpenPipe give the AI access to every project?

No. Access follows the OpenPipe API key the person connected, so the agent can only reach the project and records that key already covers. Elaichi can narrow that further by turning off individual actions, but it can never widen access beyond what OpenPipe itself grants.

### Can my team share one OpenPipe connection?

Yes. One person connects OpenPipe with the API key and shares the connection with a team in Elaichi, and nobody else ever sees or handles the key. Each teammate still signs in as themselves, so every dataset entry, fine-tune or model change in the audit log is attributed to the person who did it.

### Can I stop an agent from deleting datasets or models in OpenPipe?

Yes. Restrictions in Elaichi work per action, so you can allow an agent to read logged calls and add dataset entries while blocking it from deleting datasets, models or fine-tuning jobs in OpenPipe. A blocked action is never advertised to Claude, ChatGPT or any other client, so no prompt can reach it.

### What happens to an OpenPipe connection when someone leaves?

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

## All 23 OpenPipe tools

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

- **Create a OpenPipe check cach** (Create). Check a cached prompt request in OpenPipe. Returns: respPayload. Deprecated: OpenPipe no longer supports prompt caching. Required: requestedAt.
- **Create a OpenPipe chat completion** (Create). Create a chat completion in OpenPipe. Returns the generated completion object including id, object, created, model, choices, and usage. Required: messages, model.
- **Create a OpenPipe report** (Create). Record a request log from an OpenAI model in OpenPipe. Returns: status.
- **Create a OpenPipe report anthropic** (Create). Record a request log from an Anthropic model call in OpenPipe. Returns: status. Optional fields include statusCode, errorMessage, metadata, and tags.
- **Create a OpenPipe logs update tag** (Create). Update tags on OpenPipe log entries matching the given filters. Returns: matchedLogs. Deprecated: use /logs/update-metadata instead. Required: filters, tags.
- **Create a OpenPipe logs update metadata** (Create). Update tags metadata for logged OpenPipe calls matching the provided filters. Returns: matchedLogs. Required: filters, metadata.
- **List all OpenPipe local testing only get latest logged calls** (List). Get the latest logged call from OpenPipe. Returns the call object with createdAt, cacheHit, statusCode, reqPayload, respPayload, tags, and metadata. Local testing only.
- **Create a OpenPipe criteria judge** (Create). Judge a completion against an OpenPipe criterion. Returns: score, explanation, usage. Required: criterion_id, output.
- **List all OpenPipe datasets** (List). List datasets in an OpenPipe project. Returns dataset objects with id, name, created, updated, dataset_entry_count, and fine_tune_count.
- **Create a OpenPipe dataset** (Create). Create a new dataset in OpenPipe. Returns the created dataset including id, name, created, updated, dataset_entry_count, and fine_tune_count. Required: name.
- **Delete a OpenPipe dataset by ID** (Delete). Delete a dataset in OpenPipe by id. Returns the deletion status with id, object, and deleted. Required: id.
- **Create a OpenPipe dataset entry** (Create). Create new dataset entries in OpenPipe. Returns the creation summary including object, entries_created, and errors (with entry_index and message). Max 100 entries per request. Required: dataset_id, entries.
- **List all OpenPipe models** (List). List all models in an OpenPipe project. Returns models with id, name, openpipe status, contextWindow, and pricing.
- **Create a OpenPipe model** (Create). Train a new model in OpenPipe. Returns the created model including id, name, openpipe status, and pricing. Required: datasetId, slug, trainingConfig.
- **Delete a OpenPipe model by ID** (Delete). Delete an OpenPipe model by its slug. Returns: id, object, deleted. Required: id.
- **Get single OpenPipe model by ID** (Get). Get a single OpenPipe model by id. Returns the model object including id, name, openpipe status, contextWindow, and pricing. Required: id.
- **Create a OpenPipe dataset create** (Create). Create a new dataset in openpipe. Returns: datasetId. Deprecated; prefer the `/datasets` endpoint. Required: name.
- **Create a OpenPipe dataset delete** (Create). Delete an OpenPipe dataset by its datasetId. Returns: datasetId. Deprecated endpoint; use the `/datasets/{dataset}` endpoint instead. Required: datasetId.
- **List all OpenPipe dataset lists** (List). List OpenPipe dataset lists via the deprecated /unstable/dataset/list endpoint. Returns an array of dataset objects with id, name, createdAt, updatedAt, datasetEntryCount, and fineTuneCount. Prefer the /datasets endpoint instead.
- **Create a OpenPipe dataset entry create** (Create). Create dataset entries in OpenPipe. Returns: createdEntries, errors. Deprecated: use `/datasets/{dataset}/entries` instead. Required: datasetId, entries.
- **Create a OpenPipe finetune create** (Create). Create a fine-tune job in OpenPipe. Returns the new fine-tune job's id. Deprecated. Required: datasetId, slug, baseModel.
- **List all OpenPipe finetune gets** (List). Get a fine-tuned model in openpipe by id or slug. Returns: id, status, slug, baseModel, errorMessage, datasetId, createdAt. Deprecated: use the `/models/{model}` endpoint instead.
- **Create a OpenPipe finetune delete** (Create). Delete an openpipe fine-tuned model by id or slug. Returns: deleted. Deprecated: use the `/models/{model}` endpoint instead.
