ABsmartly MCP Server
The ABsmartly Model Context Protocol (MCP) server lets AI assistants — Claude, Cursor, VS Code, Windsurf, Gemini, ChatGPT and any other MCP-compatible client — operate the ABsmartly experimentation platform directly. The AI plans experiments, creates them, starts them, reads results and updates metrics, all through natural-language prompts.
It exposes 230+ commands across 33 groups: experiments, metrics, goals, teams, applications, segments, webhooks and more.
Why use it
An MCP server turns ABsmartly into a "tool" your AI assistant can call. Instead of switching between your assistant, the ABsmartly UI and the API docs, you work in one place and the assistant does the rest.
Typical workflows that get faster with MCP:
- Drafting experiments from a description, including templates with goals, metrics, variants and ownership prefilled
- Bulk operations — "clone this experiment for the EU app, switch the unit
type to
device_id, and update the audience" - Reading state — "what experiments are running this week and what's their status?"
- Reviewing setups — "find experiments without owners" or "list metrics pending review"
- Cross-tool agentic work — combine ABsmartly actions with code edits in Cursor / Claude Code, or with Slack / Jira / Notion via other MCP servers
When to use MCP vs the alternatives
| Use case | Best tool |
|---|---|
| Conversational, ad-hoc operations | MCP server |
| Application code that assigns variants and tracks goals | Client SDKs |
| Programmatic automation, CI/CD, custom integrations | Web Console API |
| Visual editing of pages for an A/B test | LaunchPad browser extension |
| Manual UI work | The ABsmartly Web Console |
MCP isn't a replacement for the SDKs — application code still assigns variants and tracks goals via the SDK. MCP is for the control plane: configuring, launching and reviewing experiments and metrics.
How it works
The server exposes just 4 tools that give AI assistants access to the full ABsmartly CLI surface:
| Tool | Purpose |
|---|---|
discover_commands | Browse command groups or search by keyword |
get_command_docs | Get detailed docs for a specific command |
execute_command | Execute any command with typed parameters |
get_auth_status | Check authentication status |
A typical interaction looks like this:
"What experiments are running?"
→ discover_commands(group: "experiments")
→ execute_command(group: "experiments", command: "listExperiments",
params: { state: "running" })
Destructive operations (start, stop, archive, delete) always require an
explicit confirmation step before they run. Experiment creation from templates
returns a preview first.
See the Tools Reference for the full surface.
Authentication at a glance
| Method | Best for | How it works |
|---|---|---|
| OAuth | Interactive use in Claude Desktop, Cursor, the web | Browser-based login via your ABsmartly SAML/SSO flow |
| API Key | Programmatic access, CI/CD, headless | Pass the key in HTTP headers or via the URL |
Both methods are documented in detail in Authentication.
What's next
- Quick Start — connect Claude Desktop with OAuth and run your first command in under five minutes
- Setup — per-client setup for every supported MCP client
- Authentication — API key formats, OAuth flow, security model
- Usage Examples — natural-language prompts that work today
- Tools Reference — full list of tools, command groups, resources and prompts
- Troubleshooting — common errors and how to fix them
Source code
The MCP server is open source under the MIT license: github.com/absmartly/mcp.