# Optimizely Experimentation MCP server

> Query and manage Optimizely projects, flags, experiments, audiences and results, and get Feature Experimentation SDK guidance.

- Listing: https://mcp.tc/i/optimizely
- Connect: use the server's own URL `https://exp.mcp.opal.optimizely.com/mcp` (OAuth sign-in at the server); clients connect to it directly. The listing link is a page, not an MCP endpoint.
- Type: remote (Streamable HTTP)
- Auth: OAuth sign-in
- Category: [Marketing & SEO](https://mcp.tc/c/marketing-seo)
- Vendor: Optimizely
- Homepage: <https://docs.optimizely.com/experimentation-strategy/docs/optimizely-experimentation-mcp-server-overview>

## About

Connects an assistant to Optimizely Experimentation (Web Experimentation, Feature Experimentation, Personalization). You can list projects, flags, experiments and environments, retrieve experiment results, create and update flags, experiments and audiences, and search Feature Experimentation SDK documentation for implementation code.

It runs as a hosted service over streamable HTTP. Users sign in with an Opti ID through OAuth and select their Opal instance. An Optimizely account with Opal enabled and linked to an experimentation instance is required. The server sees the same projects and data as the Optimizely UI, and write actions change live data.

## What it can do

- List projects, flags, experiments and environments
- Retrieve and summarize results for individual experiments
- Surface top-performing experiments across a program
- Create and update flags, experiments and audiences
- Configure targeting rules and rollouts
- Search Feature Experimentation SDK docs and generate integration code

## Example prompts

- "What experiments are running in my project?"
- "Show me the results for the checkout redesign test."
- "Which experiments performed best across my program?"
- "Show me how to set up a feature flag with the Python SDK."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport http optimizely https://exp.mcp.opal.optimizely.com/mcp
```

2. Start Claude Code, type `/mcp`, pick **optimizely** and choose **Authenticate**. A browser window opens for the Optimizely sign-in.

Add `--scope user` to make it available in every project, not just this one.

### Claude Desktop

1. Open **Settings → Connectors** and click **Add custom connector**.

2. Name it **Optimizely Experimentation** and paste this URL:

```url
https://exp.mcp.opal.optimizely.com/mcp
```

3. Click **Add**, then **Connect**, and sign in when Optimizely asks.

Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.

### claude.ai

1. Open the connector form on claude.ai. This button fills in the name and URL for you:

[Add to claude.ai](<https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Optimizely%20Experimentation&connectorUrl=https%3A%2F%2Fexp.mcp.opal.optimizely.com%2Fmcp>) (opens connector settings)

2. Check that the URL reads `https://exp.mcp.opal.optimizely.com/mcp` and click **Add**.

3. Click **Connect** and sign in when Optimizely asks.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under **Organization settings → Connectors**.

### ChatGPT

1. On chatgpt.com, open **Settings → Security and login** and turn on **Developer mode**.

2. Go to `chatgpt.com/plugins` and click **+** to create an app for a remote MCP server.

3. Paste `https://exp.mcp.opal.optimizely.com/mcp` as the server URL and choose **OAuth**. ChatGPT sends you to Optimizely to sign in.

Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=optimizely&config=eyJ1cmwiOiJodHRwczovL2V4cC5tY3Aub3BhbC5vcHRpbWl6ZWx5LmNvbS9tY3AifQ%3D%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "optimizely": {
      "url": "https://exp.mcp.opal.optimizely.com/mcp"
    }
  }
}
```

Cursor shows **Needs login** next to the server. Click it to sign in.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=optimizely&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fexp.mcp.opal.optimizely.com%2Fmcp%22%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"optimizely","type":"http","url":"https://exp.mcp.opal.optimizely.com/mcp"}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "optimizely": {
      "type": "http",
      "url": "https://exp.mcp.opal.optimizely.com/mcp"
    }
  }
}
```

VS Code asks you to sign in the first time the server starts.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "optimizely": {
      "serverUrl": "https://exp.mcp.opal.optimizely.com/mcp"
    }
  }
}
```

2. Refresh the MCP server list in Cascade and sign in when asked.

Devin Desktop is the new name for Windsurf. It reads `serverUrl` (or `url`) for remote servers.

### Codex

```bash
codex mcp add optimizely --url https://exp.mcp.opal.optimizely.com/mcp
codex mcp login optimizely
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.optimizely]
url = "https://exp.mcp.opal.optimizely.com/mcp"
```

### Gemini CLI

```bash
gemini mcp add --transport http optimizely https://exp.mcp.opal.optimizely.com/mcp
```

Then, inside Gemini CLI, run `/mcp auth optimizely` to sign in.

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients accept this shape. Some name the URL field differently: `serverUrl` in Devin Desktop, `httpUrl` in Gemini CLI’s settings file.

```json
{
  "mcpServers": {
    "optimizely": {
      "type": "http",
      "url": "https://exp.mcp.opal.optimizely.com/mcp"
    }
  }
}
```

Zed puts servers under `context_servers` in its settings. Cline needs `"type": "streamableHttp"`, or it assumes SSE.

Client only starts local servers? Bridge it with `npx -y mcp-remote https://exp.mcp.opal.optimizely.com/mcp`.

## Details

- Last checked: 2026-10-03 (reachable, asks for credentials)
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/optimizely (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
