LiveVariant

io.github.livevariant由 GitHub 帳號 livevariant 發布v0.1.5更新於 Oct 24, 2026

Build, inspect and read adaptive A/B tests. Config travels in the URL; no account or API key needed.

已驗證Streamable HTTP可網頁執行資料與分析商業與電商

概覽

AI 產生的概覽

LiveVariant 讓助理建立、檢查並讀取自適應 A/B 測試,設定隨 URL 傳遞,託管服務無需帳號。

可以做什麼
建立單變體或多槽位測試,回傳執行所需 URL 與新產生的統計密鑰,並提供撰寫變體須遵守的規則(build_test、variant_brief)。解碼並檢查既有測試的槽位、變體、情境及投放後才會浮現的問題(inspect_test)。把你對變體表現的估計轉成模型先驗,避免測試從零摸索(generate_priors)。取得結果,包括各組合最佳機率與現在停止的預期成本(get_stats)。查看測試是否已被帳號認領、重新導向目標是否為已驗證網域,並列出已登入帳號的測試(get_test_status、list_tests)。
適用情境
適合讓助理草擬、檢查或解讀電子郵件與網頁行銷的 A/B 測試,尤其是同時比較多個元素或判斷是否該停止測試時。託管端點無需設定即可使用;自架適合執行自有部署的團隊。
執行需求
使用託管遠端端點,或透過 npx 以 Node.js 在本機執行 npm 套件。託管服務無需帳號或 API 金鑰。自架部署需設定 LIVEVARIANT_SERVER_URL,若介面受限還需設定 LIVEVARIANT_API_TOKEN 與 LIVEVARIANT_ASSET_UPLOAD_TOKEN。
安裝前請注意
會建立與註冊測試並上傳圖片,即在部署上寫入資料。build_test 會回傳新產生的統計密鑰,register_test 需要統計密鑰與可發布金鑰,應視為憑證。上傳的資源僅透過短期簽章提供。指向自架 URL 時請求會送往該位址。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 LiveVariant,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.livevariant%2Flivevariant/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "livevariant": {
      "type": "http",
      "url": "https://livevariant.com/mcp"
    }
  }
}

README

@livevariant/mcp

MCP server for LiveVariant: build, inspect and read adaptive A/B tests from Claude, ChatGPT, Copilot or any MCP client.

bash
npx -y @livevariant/mcp

Set runtime environment variables before starting the MCP server when you point it at a self-hosted deployment:

  • LIVEVARIANT_SERVER_URL: the deployment origin to call.
  • LIVEVARIANT_API_TOKEN: the deployment's LV_API_TOKEN, when /mcp or /api/v1/* is gated.
  • LIVEVARIANT_ASSET_UPLOAD_TOKEN: the deployment's LV_ASSET_UPLOAD_TOKEN, when /assets is gated.

The hosted endpoint at https://livevariant.com/mcp offers the same tools with nothing installed.

Part of livevariant/livevariant; the repository README covers the whole system. AGPL-3.0.

來源:packages/mcp/README.md,提交 b30beb4

工具

9

build_test

Build a test

Creates 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; every test runs the same joint model, sized from its shape. By default, nothing is registered anywhere: the config IS the test, encoded into the URLs, and the test's identity is a hash of it. Pass `publishableKey` on an account-enabled deployment to also register the new test to that key's organization, so it appears under My tests; the config and URLs are still the test, and registration failure is returned as a warning rather than failing the build. Editing a variant later produces a DIFFERENT test with its own empty history, which is usually what you want per campaign but is worth saying out loud to whoever you are building this for. The stats secret is returned once and never again. Only its hash goes into the config, so nobody, including this service, can recover it. Give it to the person who will read the results.

輸入參數nameslotsregioncontextvariantsredirectUrlvariantParamslotRedirectspublishableKey

inspect_test

Inspect a test

Decodes 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?'.

輸入參數testconfig

generate_priors

Add warm-start priors

Takes 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 quickly. The response says exactly how many real visitors per variant it takes to wash your guess out, so you can judge whether you have been too confident. Being wrong here costs a little early traffic, not the test. Priors are outside the identity hash, so the test keeps its id, its URLs and any history it already has. Pass `when` to make the belief hold for ONE segment only ("image B is the one for the blue segment"). Without it the belief is about every visitor, which is a different and much stronger claim.

輸入參數testwhenconfigbeliefs必填confidence

get_stats

Read a test's results

Fetches 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 A/B test gets called wrong. Multi-slot tests also report per-slot marginals: how each variant did across every combination it appeared in. Needs the stats secret. If you have the manage URL, its #fragment IS the secret and it will be used automatically.

輸入參數testconfigstatsSecret

get_test_status

Check a test's account and domain status

Reports 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 DNS TXT record, serving the well-known file, or having the SDK tag with their publishable key live in the site's source. If the test is unclaimed, remind them the manage URL claims it in one click when opened signed in. Requires the test's stats secret, the same as get_stats. A manage URL's #fragment is used automatically.

輸入參數testconfigstatsSecret

list_tests

List my tests

Lists 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.

輸入參數qlimitcursor

register_test

Register a test to an account

Registers 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 organization to register into. Prefer passing publishableKey to build_test directly: it registers at creation in one step. Keyless tests cannot be registered this way (nothing to prove with); they register through the tag on a verified domain. The organization can remove a listing from its dashboard (the test itself keeps serving).

輸入參數config必填statsSecret必填publishableKey必填

upload_image

Upload an image

Uploads 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. Storage is content-addressed: the id is the sha256 of the bytes, so uploading the same image twice is harmless and returns the same URL. Raster images only; SVG is refused because it can carry scripts. Not every deployment enables asset hosting, and this tool says so plainly when yours does not.

輸入參數data必填contentType必填

variant_brief

Brief for writing variants

Returns 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 drafting variants, then produce them yourself against what it returns.

輸入參數goal必填countformat必填channel必填audience

版本歷史

1
  1. v0.1.5最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分