optimizely-mcp-server
v1.0.4
Published
MCP server for the Optimizely REST API — manage experiments, feature flags, audiences, and more from any MCP client.
Maintainers
Readme
Optimizely MCP Server
An MCP (Model Context Protocol) server that connects AI assistants to the Optimizely REST API. Manage experiments, feature flags, audiences, and more without leaving your editor.
Quick Start
1. Get an Optimizely API Token
- Log into app.optimizely.com
- Go to Profile → API Access
- Click Generate New Token
2. Add to Cursor
Add this to your ~/.cursor/mcp.json:
{
"mcpServers": {
"Optimizely": {
"command": "npx",
"args": ["-y", "optimizely-mcp-server"],
"env": {
"OPTIMIZELY_API_TOKEN": "<your-token-here>"
}
}
}
}Restart Cursor and the Optimizely tools will be available in any chat.
Available Tools
Projects
| Tool | Description |
|------|-------------|
| list_projects | List all projects in your account |
| get_project | Get details for a specific project |
Experiments
| Tool | Description |
|------|-------------|
| list_experiments | List experiments in a project |
| get_experiment | Get full experiment details |
| create_experiment | Create a new A/B test |
| update_experiment | Update or start/pause an experiment |
| get_experiment_results | Get conversion rates and statistical significance |
Feature Flags
| Tool | Description |
|------|-------------|
| list_flags | List all feature flags in a project |
| get_flag | Get flag details including variables and rules |
| create_flag | Create a new feature flag |
| update_flag | Update a flag's name, description, or archive it |
| toggle_flag | Enable or disable a flag in a specific environment |
| list_flag_rules | List rules (rollouts, A/B tests) for a flag |
| list_flag_variations | List all variations for a flag |
| create_flag_variation | Create a new variation with variable values |
Audiences & Targeting
| Tool | Description |
|------|-------------|
| list_audiences | List all audiences in a project |
| get_audience | Get audience targeting conditions |
| list_attributes | List custom attributes used for targeting |
Campaigns & Results
| Tool | Description |
|------|-------------|
| list_campaigns | List all campaigns in a project |
| get_campaign_results | Get campaign metrics and significance |
Other
| Tool | Description |
|------|-------------|
| list_events | List tracked events/goals |
| list_environments | List environments (production, staging, etc.) |
| list_pages | List pages (URL targeting) |
| list_changes | View recent change history |
| search | Search across all resources by keyword |
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| OPTIMIZELY_API_TOKEN | Yes | Your Optimizely personal access token |
Development
git clone <repo-url>
cd optimizely-mcp
npm install
npm run buildTo test locally, update your mcp.json to point at the local build:
{
"Optimizely": {
"command": "node",
"args": ["/path/to/optimizely-mcp/dist/index.js"],
"env": {
"OPTIMIZELY_API_TOKEN": "<your-token>"
}
}
}License
MIT
