Mimiq: AI agents use your app like your users and find what breaks

io.github.victorgulchenko由 GitHub 帳號 victorgulchenko 發布v0.5.1更新於 Oct 28, 2026

AI agents use your app like your users, in real browsers, and report what is broken or confusing.

發布方自己的服務:Verified Codes

已驗證Streamable HTTP可網頁執行瀏覽器自動化開發者工具

概覽

AI 產生的概覽

Mimiq 讓模擬 AI 代理在真實瀏覽器中像使用者一樣走完註冊、結帳等流程,並回報哪裡出錯、卡住,附上步驟與截圖。

可以做什麼
  • 執行流程測試:提供預覽、預備或正式環境網址與一句自然語言任務,模擬代理在各自瀏覽器中點擊、輸入並填寫表單
  • 檢視結果:了解每個代理是完成、部分完成或放棄,以及依命中人數排序的問題、步驟、截圖與修正建議
  • 檢視瀏覽器層記錄:JavaScript 錯誤、失敗或 4xx/5xx 請求、超過 3 秒的慢速請求,依命中代理數分組
  • 依工作階段 ID 或報告連結重新開啟已儲存的報告,不消耗額度
適用情境
適合在助理剛完成或修改使用者會經過的環節(註冊、導引、結帳、設定、新功能)後,先在預覽或預備環境跑一遍再合併上線,並在修正後重跑。
執行需求
遠端 HTTP 端點 mcp.mimiqai.com,不需本機執行環境。超出少量免費試用後需要 Mimiq 帳號與 API 金鑰,透過 Authorization Bearer 標頭(或 X-API-Key)傳送;每個代理會消耗額度。受測應用程式需有公開可存取的網址,localhost 需搭配通道。受保護預覽與登入頁可選設定存取憑證。
安裝前請注意
每次執行會消耗額度(每個代理 5 點),付費方案需購買,免費試用有限。API 金鑰屬機密,不要寫進會提交的設定檔。代理會以使用者身分操作應用程式,應指向預覽或預備環境而非正式資料。為受保護預覽或測試帳號提供的憑證只在瀏覽器中填入,但仍需謹慎提供。開啟 localhost 通道期間頁面可被公開存取。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mimiq: AI agents use your app like your users and find what breaks,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "mimiq-ai-agents-use-your-app-like-your-u": {
      "type": "http",
      "url": "https://mcp.mimiqai.com/mcp"
    }
  }
}

README

Mimiq MCP Server

Your agent built it. AI agents use it like your users before you ship.

Point Mimiq at a preview or staging URL and a task in plain words, such as signing up or reaching checkout. No test scripts. Each agent acts as one of your users: it opens the app in its own real browser, clicks, types and fills in your forms (with an inbox of its own for verification codes), and the report shows what was broken, what did nothing, where each agent got stuck or gave up and why, with the step and a screenshot. Fix what they hit and run it again on the new build.

[Install in VS Code] [Install in Cursor]

Tools

ToolWhat it does
mimiq.test_flowAI agents go through a flow on your preview, staging or live URL in real browsers and report what broke, what did nothing and where they got stuck, step by step with screenshots. 5 credits an agent.
mimiq.show_reportShows a saved report again. Reads your account only and spends no credits.

Ask your agent directly, or let it test what it just built:

"Have three agents sign up on this preview and tell me where they get stuck"

"Check the new checkout on the preview before I merge"

"Run Mimiq on staging with parents shopping for school shoes, then fix what they hit"

"Run it again on the fixed build"

What the agents find, and the limits

  • Errors on screen, buttons and links that do nothing, forms that reject good input, dead ends, and steps where agents wait, give up or go the wrong way because of the wording.
  • What the browser recorded: JavaScript errors, failed or 4xx/5xx requests and requests slower than 3 seconds, on the step each happened.
  • Each problem comes with which agents hit it, the step, the screenshot and a suggested fix, ranked by how many agents hit it.
  • The agents are simulated users. They find problems fast; they do not forecast how many real people will convert.
  • They cannot pay with real cards, and CAPTCHAs or bot protection can stop them. Use a preview or staging URL without bot protection.

On every pull request

The Mimiq preview check GitHub Action runs the agents on each Vercel, Netlify or Cloudflare Pages preview and keeps one comment on the pull request with what they hit. Any other CI can call the same endpoint: it is plain JSON-RPC over HTTP.

bash
curl -s https://mcp.mimiqai.com/mcp \  -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \  -H "Authorization: Bearer $MIMIQ_API_KEY" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mimiq.test_flow","arguments":{"url":"'"$PREVIEW_URL"'","goal":"Sign up and start using it","count":3}}}'

Setup

Claude Code

bash
claude mcp add --transport http mimiq https://mcp.mimiqai.com/mcp --header "Authorization: Bearer $MIMIQ_API_KEY"

Or in .mcp.json at your project root (Claude Code reads ${MIMIQ_API_KEY} from your environment, so the key stays out of the repo):

json
{  "mcpServers": {    "mimiq": {      "type": "http",      "url": "https://mcp.mimiqai.com/mcp",      "headers": { "Authorization": "Bearer ${MIMIQ_API_KEY}" }    }  }}

Leave out the header to use the free try.

Make it part of every change

Add these lines to your project's CLAUDE.md or AGENTS.md, and your agent checks a customer-facing change before it calls it done:

markdown
## Before calling a user-facing change doneAfter changing anything a user goes through (signup, onboarding, checkout,settings, a new feature), run mimiq.test_flow on the preview URL with the taska user would try. Fix what the agents hit, then run it again. Ask me beforeusing more than 25 credits.

Codex

In ~/.codex/config.toml (or .codex/config.toml in your project):

toml
[mcp_servers.mimiq]url = "https://mcp.mimiqai.com/mcp"bearer_token_env_var = "MIMIQ_API_KEY"

Cursor

In ~/.cursor/mcp.json or .cursor/mcp.json (do not commit a file with a key in it):

json
{  "mcpServers": {    "mimiq": {      "url": "https://mcp.mimiqai.com/mcp",      "headers": { "Authorization": "Bearer mq_sk_..." }    }  }}

VS Code (GitHub Copilot)

In .vscode/mcp.json; VS Code asks for the key once and stores it:

json
{  "inputs": [{ "type": "promptString", "id": "mimiq-key", "description": "Mimiq API key", "password": true }],  "servers": {    "mimiq": {      "type": "http",      "url": "https://mcp.mimiqai.com/mcp",      "headers": { "Authorization": "Bearer ${input:mimiq-key}" }    }  }}

Windsurf

In ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "mimiq": {      "serverUrl": "https://mcp.mimiqai.com/mcp",      "headers": { "Authorization": "Bearer mq_sk_..." }    }  }}

Claude Desktop

Through mcp-remote, in the Claude Desktop config:

json
{  "mcpServers": {    "mimiq": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.mimiqai.com/mcp", "--header", "Authorization:${MIMIQ_AUTH}"],      "env": { "MIMIQ_AUTH": "Bearer mq_sk_..." }    }  }}

Keys and the free try

  • Without a key, each agent gets one free test: one flow with up to 3 agents, while the daily free allowance lasts. Anything larger needs a key, and the tool says so before anything is spent.
  • Get a key: create a free account at www.mimiqai.com/sign-up (it includes 50 credits). Open Settings, find "Use Mimiq from your coding agent", and choose "Create a key". The key starts with mq_sk_ and is shown once.
  • Send it on every request as Authorization: Bearer mq_sk_... (X-API-Key: mq_sk_... works too). The setup snippets above do this.
  • Credits: an agent in a flow uses 5 credits. Buy more at www.mimiqai.com/app/usage: a one-time Starter of 120 credits for $9, or plans from $19 a month.

Signed-in pages and protected previews

Pass access to test_flow for a preview behind Vercel Deployment Protection (vercel_bypass), a browser password prompt (basic_auth) or pages behind a sign-in (login, a test account). The agents type placeholders; the real values are filled in only in the browser, kept apart from the test and deleted when the run ends, and never appear in results or reports. Access comes with paid credits.

Report links

With a key, every run is saved to your account, and the result ends with a link to it in the Mimiq app (/app/t/...). Put the link in your summary so your human can open the full report, the agents' steps and their screenshots. Reports are private until you share them from the app.

Without a key, runs stay private to the agent that ran them and cannot be opened in the app; the result says how to get a key instead.

What a run returns

  • Each agent's journey_steps: what it did at each step, where it was, and what it said.
  • Where each agent stopped and why: finished, got partway, or gave up.
  • The problems the agents hit, ranked by how many hit them, with the steps.
  • browser_caught: what the browser itself recorded on your site, grouped and ranked by how many agents hit each: JavaScript errors, requests that failed or answered 4xx or 5xx (including your hosted backend, such as Supabase or Firebase), and requests slower than 3 seconds. The summary card lists them too.
  • counts, a plain summary_card, and report_url (with a key).

Who the agents are

By default Mimiq builds agents who match who the app is for, from the page. Pass audience in plain words to choose ("freelance designers", "parents shopping for school shoes"). The run starts right away unless the recruited agents are wrong (more than 1 in 5 not the requested audience); then the result is status: "audience_review": show the warning, then continue with review_id, confirm_audience: true and audience_fit_acknowledged: true, or recruit again with review_id and audience_correction. In the app you can also build agents from your own customers (a CSV; names, emails and phone numbers are stripped before upload).

Localhost

Mimiq needs a public URL. For a local dev server, open a temporary tunnel with cloudflared (free, no account) and pass its URL. The page is public while the tunnel runs, so your agent should tell you before it opens one:

bash
cloudflared tunnel --url http://localhost:3000 > /tmp/mimiq_tunnel.log 2>&1 &sleep 5; grep -o 'https://[^ |]*trycloudflare.com' /tmp/mimiq_tunnel.log

Errors

Every error carries a code, a plain message and a request_id. Credit and key errors also carry how_to_get_a_key (the steps, the header and the .mcp.json).

CodeWhat it meansWhat to do
INSUFFICIENT_CREDITSreason says which: free_try_used, free_flow_too_big, free_flows_used_today, network_monthly_limit, or out_of_credits (with a key).Get a key, run fewer agents, or buy more credits.
UNAUTHORIZEDThe key was not accepted (invalid_key).Check it starts with mq_sk_ and is still listed in Settings.
INVALID_INPUTA missing field, or a URL Mimiq cannot reach (localhost, a private address).Fix the input; for localhost, use a tunnel.
SIM_FAILEDThe run failed, for example the page did not load. A failed run is refunded.Check the URL loads in a normal browser, then call again.
SIM_TIMEOUTThe run outlasted timeout_seconds. It keeps going on Mimiq's side.With a key, open the report link later; or call again with a longer timeout.
RATE_LIMITEDToo many calls from one network in a minute.Wait a minute.

Self-hosting

Against your own Mimiq API:

bash
cd mcp-hostedMIMIQ_API_URL=http://127.0.0.1:8000/api node src/server.js

Point your agent at http://127.0.0.1:8787/mcp.

VariableDefaultWhat it sets
MIMIQ_API_URLhttp://127.0.0.1:8000/apiThe Mimiq API
MIMIQ_APP_URLhttps://mimiqai.comWhere report links point
MIMIQ_MCP_PUBLIC_URLhttps://mcp.mimiqai.com/mcpThe URL shown in setup help
PORT / HOST8787 / 127.0.0.1Where this server listens. Behind a proxy, keep 127.0.0.1 and have the proxy set X-Real-IP (it identifies the caller's network for rate limits and the free try).
RATE_MAX_CALLS10Tool calls per network per minute
EMIC_API_KEYnoneTurns on submit_agent_feedback (hidden without it)
POSTHOG_API_KEYnoneUsage events

Development

ChatGPT account linking and inline reports

The plugin uses OAuth account linking with S256 PKCE. Existing API-key and keyless clients continue to work. Verified ChatGPT calls require an OAuth-linked account for tests; the backend remains responsible for credits and ownership. Use mimiq.show_report after a test finishes to render its saved report in an MCP Apps host. It reads the account's report without spending credits.

OAuth discovery is available at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server. The authorization, registration, token and revocation routes live under /oauth/. A configured OPENAI_APPS_CHALLENGE is served verbatim at /.well-known/openai-apps-challenge; without it that route returns 404.

See deploy/plugin.env.example and deploy/openai-mtls.nginx.conf.example before enabling the ChatGPT integration. Trustworthy ChatGPT identification requires certificate verification at the existing proxy, with Node bound to loopback. Client name and User-Agent hints alone do not establish identity. The report HTML is checked in and self-contained, so serving it adds no runtime dependencies.

The OAuth HTTP test needs Python with fastapi and uvicorn; set MIMIQ_TEST_PYTHON if they are not in the default Python. Widget DOM tests use the parent web app's development jsdom dependency after root npm ci. Without these development dependencies, the corresponding tests explicitly skip. In the full Mimiq checkout, npm run widget:build rebuilds embedded fonts and scripts, npm run widget:check detects drift, and npm run widget:verify -- --screenshots runs browser checks and captures the three example reports. Browser capture needs root development dependencies and a working local Playwright browser.

Commands

bash
npm test                        # unit tests, the tools against a mocked APInpm run vendor                  # rebuild src/vendor/app-logic.js from the app (src/mimiq/lib)MIMIQ_API_URL=http://127.0.0.1:8000/api MIMIQ_E2E_API_KEY=mq_sk_... npm run e2e   # compare_copy end to end, 3 people./deploy.sh --dry               # what a deploy would sync (see deploy.sh)

src/vendor/app-logic.js is generated from the app's compare.ts, model.ts, readout.ts and names.ts; a test fails when it no longer matches them.

License

MIT

來源:README.md,提交 7fa92ad

工具

2

mimiq.show_report

Show a Mimiq report

Show the finished result of a saved Mimiq run: what the agents hit, where each stopped and why, and a link to the full report. Use the session ID from an earlier run or a report URL. Reads your account only and spends no credits.

輸入參數session_id必填compare_session_id

mimiq.test_flow

Test a flow

Use this after you build or change anything a user goes through (signup, onboarding, checkout, settings, a new feature), on the preview or staging URL, and again after each fix. AI agents, each acting as one of the app's users, open it in their own real browser and try the task by clicking, typing and filling in forms (they get a working inbox for verification codes). They report what was broken, what did nothing, where they got stuck or gave up and why, with the step and a screenshot, and the problems ranked by how many agents hit them. Pass the URL and, as goal, the task a user would try in plain words. For a protected preview or pages behind a sign-in, pass access (a Vercel bypass secret, a username and password, or a test account). Each agent keeps going until it finishes the task or gets stuck, so a run takes a few minutes, longer for a long task; each agent uses 5 credits. It starts right away and the result includes the audience summary, examples and fit. If the recruited crowd is not the requested audience (more than 1 in 5 wrong) or the page could not be read to check its market, the result is an audience_review instead: show the warning, then continue with review_id, confirm_audience and audience_fit_acknowledged, or recruit again with audience_correction.

輸入參數url必填goalcountaccessdevicesaudiencemax_stepsreview_idtimeout_secondsconfirm_audienceaudience_correctionaudience_fit_acknowledged

版本歷史

6
  1. v0.5.1最新Oct 22, 2026
  2. v0.5.0Oct 22, 2026
  3. v0.4.2Oct 20, 2026
  4. v0.4.1Sep 28, 2026
  5. v0.4.0Sep 24, 2026
  6. v0.2.1Sep 16, 2026

評分

已滿足適用檢查項的 100%

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

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

其他 Find 整合