LiveVariant
Build, inspect and read adaptive A/B tests. Config travels in the URL; no account or API key needed.
Connect it
Settings → Connectors → Add custom connector
URL: https://livevariant.com/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://livevariant.com/mcp{
"mcpServers": {
"livevariant": {
"url": "https://livevariant.com/mcp"
}
}
}claude mcp add --transport http livevariant https://livevariant.com/mcp{
"servers": {
"livevariant": {
"type": "http",
"url": "https://livevariant.com/mcp"
}
}
}{
"mcpServers": {
"livevariant": {
"command": "npx",
"args": [
"-y",
"@livevariant/mcp@0.1.5"
],
"env": {
"LIVEVARIANT_API_TOKEN": "<value>",
"LIVEVARIANT_ASSET_UPLOAD_TOKEN": "<value>"
}
}
}
}claude mcp add livevariant -- npx -y @livevariant/mcp@0.1.59 tools, verified live
build_testCreates a LiveVariant test and returns every URL needed to run it, plus a freshly generated stats secret. Pass `variants` to test one element, or `slots` to test several at once (hero image AND call-to-action, say). With slots the test optimizes the COMBINATION: one model learns how the elements interact, which two separate tests structurally cannot see. There is no algorithm to pick either way;
inspect_testread-onlyDecodes a test and describes it: slots, variants, context, and whether it can be served by redirect. Also lints it for the mistakes that only show up once a campaign is out, such as an email test whose context comes from geo (which a mail proxy answers about itself). Use this before sending anything, and to answer 'what is this link?'.
generate_priorsread-onlyTakes YOUR estimate of how each variant will perform and converts it into the prior the model starts from, so a test does not spend its first visitors rediscovering what you already suspect. You supply the guess; this does the arithmetic and the capping. That capping is the point: a prior is expressed as pseudo-observations, and it is deliberately held weak enough that real data overrides it quic
get_statsread-onlyFetches a test's results and works out what they mean. Alongside the raw counts it returns the probability that each combination is genuinely best and the expected cost of stopping now and keeping the leader. Use those rather than comparing conversion rates by eye: a variant ahead 2/10 to 1/10 looks twice as good and is very close to a coin flip, and that mistake is the single most common way an
get_test_statusread-onlyReports what the deployment's registry knows about a test: whether it is claimed into an account (and by which organization), and whether each redirect destination is a verified domain. Unverified destinations work, but visitors see a 'Redirecting you to…' continue screen first. When you see verified: false, tell the user to verify the domain under Settings on the dashboard; the three ways are a
list_testsread-onlyLists tests registered to the signed-in account, newest first, with cursor pagination and an optional case-insensitive name filter. Only exists on deployments with accounts, and only answers for an identified caller: unlike every other tool, WHOSE tests these are cannot be expressed as an argument. Each entry carries the encoded config, which inspect_test and get_stats accept directly.
register_testRegisters a test you built earlier to the organization a publishable key belongs to, so it shows under My tests and its stats are readable from the dashboard without the secret. Use this only when the user provides both the test's stats secret and a publishable key for an organization they administer. The stats secret must match the hash inside the config, and the publishable key identifies the o
upload_imageUploads an image to the deployment's asset store and returns its URL, for use as a variant's `image` (email tests) or `url`. The returned URL is deliberately not fetchable on its own: assets are only served with a short-lived signature that the serve endpoints mint per request, so uploading here does not create free static hosting. Use `previewUrl` (valid for an hour) to check what was stored. S
variant_briefread-onlyReturns the constraints to write or generate test variants against, for email or web, plus the rules that decide whether a test can be read at all once it runs. The one that matters most: one idea per slot. To vary two elements, give the test two slots and let it learn the combination, rather than bundling both changes into one variant and never learning which half worked. Ask for this before dra
Alternatives in Developer Tools
Compare →GIGitHubOfficialA
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
GIGitDiagramA
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
MDMCP Docs ServerOfficialA
AI access to Mapbox docs, API references, style specs, and guides. No token required.
MGMCP GrafanaOfficialA
An MCP server giving access to Grafana dashboards, data and more.
MDMCP Devkit ServerOfficialA
Provides AI assistants with direct access to Mapbox developer APIs and documentation.
Front-End ChecklistA
Review frontend code and live pages against 386 quality-gated web development rules.