> ## Documentation Index
> Fetch the complete documentation index at: https://docs.braintrust.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure MCP server with self-hosted data plane

> [!NOTE]
>
> **Applies to:**
>
> * Plan - Enterprise
> * Deployment - Self-hosted
> *
> *

Summary

When your organization uses a dedicated or hybrid data plane (for example, a CloudFront-based endpoint), configure your MCP client to use the **MCP URL** from ** Settings** > [** Data plane**](https://www.braintrust.dev/app/~/configuration/data-plane) instead of the default SaaS endpoint.

## Problem

MCP clients configured with the default SaaS endpoint (`https://api.braintrust.dev/mcp`) cannot read logs from orgs on a dedicated data plane. Symptoms include a data plane mismatch error, or `sql_query` returning empty results for projects that show data in the UI.

## Configuration Steps

### Step 1: Find your MCP URL

Go to ** Settings** > [** Data plane**](https://www.braintrust.dev/app/~/configuration/data-plane) and copy the value in the **MCP URL** card. This is your data plane's API URL with the `/mcp` path appended.

### Step 2: Configure MCP server with your MCP URL

Remove existing Braintrust MCP configuration, then add it with your MCP URL:

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
claude mcp remove braintrust

# Replace with the MCP URL from Step 1
YOUR_MCP_URL="https://your-data-plane.example.com/mcp"
```

**OAuth:** If your client supports OAuth (Claude Code, Cursor, and most interactive MCP clients), omit the API key. Your client opens a browser login where you sign in to Braintrust, using your organization's SSO if configured, then stores tokens automatically.

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
claude mcp add --transport http braintrust \
  "$YOUR_MCP_URL"

# To authenticate, open Claude Code and run:
/mcp
```

**API key:** Pass a Braintrust API key as a bearer token when your client does not support OAuth or cannot complete a browser login.

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
claude mcp add --transport http braintrust \
  --header "Authorization: Bearer $YOUR_BRAINTRUST_API_KEY" \
  "$YOUR_MCP_URL"
```

### Step 3: Verify configuration

Restart your client and test the MCP connection. Log queries for projects on your dedicated data plane should return the same data visible in the UI.

## Known Limitations

The Braintrust Claude Code plugin does not support custom data plane URLs. Use direct MCP setup as shown above instead of the plugin for hybrid deployments.

If you need access to both a dedicated data plane and a SaaS org, add a [second MCP connection](https://docs.braintrust.dev/kb/mcp-returns-empty-logs-for-saas-org-from-self-hosted-endpoint) for the SaaS endpoint.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.