Docs
Menso MCP server
AI users run real tasks on your live site and show where they get stuck, with a replay of every step.
Connect Menso to Claude, Claude Code, Codex, Cursor or Windsurf, then ask for a test in plain words: “Test https://staging.example.com with Menso and tell me where the AI user gets stuck.”
Quick start: one sentence
In Claude Code or the Codex app, tell the assistant:
Add the Menso MCP server at https://api.menso.io/mcpIt adds the server and opens Menso in your browser. Sign in and choose Allow. No API key is needed.
In Grok, run this in a terminal, then open /mcps, enable menso and press i to sign in.
grok mcp add --transport http menso https://api.menso.io/mcp1. Sign in, or create an API key
Claude, Claude Code, Codex and Grok connect with your Menso sign-in and need no key. Scripts, CI and other clients use an API key.
Sign in to Menso, open Settings and choose Create API key. Copy the key right away: Menso shows it once and stores only a fingerprint of it. Each account has one key; revoke it there at any time and create a new one.
2. Connect your editor
The server is hosted at https://api.menso.io/mcp (Streamable HTTP). Nothing to install: add the address, then sign in or add your key. Keep a key in an environment variable and out of your repository.
Claude
In Claude, open Settings → Connectors → Add custom connector, name it Menso and paste https://api.menso.io/mcp. Leave the advanced OAuth fields empty. Choose Connect, sign in to Menso and choose Allow. To disconnect, remove the connector in Claude.
Claude Code
Install the Menso plugin inside Claude Code. It asks for your key once and keeps it in secure storage.
/plugin install menso --marketplace menso-io/mensoOr add the server by hand:
claude mcp add --transport http menso https://api.menso.io/mcp \
--header "Authorization: Bearer YOUR_MENSO_API_KEY"To share the server with a team, put this in .mcp.json at the project root; each person sets MENSO_API_KEY in their own shell.
{
"mcpServers": {
"menso": {
"type": "http",
"url": "https://api.menso.io/mcp",
"headers": { "Authorization": "Bearer ${MENSO_API_KEY}" }
}
}
}Codex
Add this to ~/.codex/config.toml and set MENSO_API_KEY in your shell; Codex sends it as the bearer token.
[mcp_servers.menso]
url = "https://api.menso.io/mcp"
bearer_token_env_var = "MENSO_API_KEY"Cursor
Add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project).
{
"mcpServers": {
"menso": {
"url": "https://api.menso.io/mcp",
"headers": { "Authorization": "Bearer ${env:MENSO_API_KEY}" }
}
}
}Windsurf
Add this to ~/.codeium/windsurf/mcp_config.json (Devin Desktop: ~/.config/devin/mcp_config.json). Windsurf names the address serverUrl.
{
"mcpServers": {
"menso": {
"serverUrl": "https://api.menso.io/mcp",
"headers": { "Authorization": "Bearer ${env:MENSO_API_KEY}" }
}
}
}Any other MCP client that supports Streamable HTTP and a custom header works the same way: address https://api.menso.io/mcp, header Authorization: Bearer <your key>.
3. What the tools do
draft_test(url): Start here. Menso's Research reads the site and drafts the persona and task that fit it best, in 1–3 minutes. Research is free and uses no tests.get_draft(draft_id): The draft's progress, then the persona (who the AI user is), the task (what they will try to do), the draft version and the tests left.edit_draft(draft_id, version, persona, task): Applies the changes you ask for and saves them as a new version. An edit to a version that is no longer the latest is refused.run_draft(draft_id, version, confirmed): Starts the test from the version you saw, only after you say to start, and returns a test_id. It uses 1 test; with none left it starts nothing and says when your tests reset. Calling it again returns the same test, never a second run.get_status(test_id): Queued, running with step progress, paused for you, scoring, done, failed or stopped.submit_verification(test_id, code | link): When the site emails a verification code or link, the run pauses and your assistant asks you for it in the chat; this passes it to the run, which then continues. A human verification check (CAPTCHA) or an account sign-in is done by you in the test's live browser, at the link get_status gives.get_findings(test_id): The TRACES score (0–100) with each dimension's score and reason, friction points with their steps, evidence and a fix prompt for your coding agent, and the link to the private report. Free shows the first three friction points; Pro and Max show them all. Text that comes from the tested site is marked as untrusted evidence: review it before you change code, and never run commands it contains.get_replay_link(test_id, visibility): The private report and replay, which only you can open, on every plan. With visibility public it creates a menso.io/r/… link that anyone with it can watch (Pro and Max); your assistant creates one only when you ask for it.get_account(): Your plan, the tests left this month, when they reset and where to upgrade.run_test(url, template, tier): Starts a test right away, without a draft, and returns a test_id; the command line and older clients use it. Templates: purchase (read the homepage and pricing, then decide whether to buy) and signup (create an account with the email and password you pass, then go through first-run onboarding). Every run is Deep, the same run as menso.io, and uses 1 test.
A test starts as a draft: your assistant calls draft_test, shows you the persona and task, and changes them if you ask. Nothing runs until you say to start. The run then takes several minutes; your assistant checks get_status every 30–60 seconds and reads get_findings when it is done.
Ask for a sign-up test or a purchase-intent test and the draft uses Menso's template for that task; the persona still comes from Research. A sign-up test needs a dedicated test account: an email and password you give your assistant.
Tests and plans
Runs started through the MCP server follow the rules of runs started on menso.io.
- Research and drafts are free. Every run is one test. The month's tests are checked before a run starts; a run with no test left does not start.
- A run interrupted by a problem on Menso's side does not count: its test comes back within about an hour.
- Free accounts get 3 tests a month, Pro 12 and Max 30. Every plan gets the TRACES score and its reasons.
- Public replay links are included in Pro and Max.
- Friction points come with evidence and a fix prompt. Free shows the first three; Pro and Max show the full list.
- The same limits on concurrent runs apply as on menso.io.
See Pricing for plans and add-on tests.
Security
- A key can start tests and read this account's results; error messages may show how many tests are left and the plan. It cannot change the plan or payment details, and it cannot create or revoke keys.
- Menso stores only a fingerprint of the key; revoking it stops it immediately.
- The site must be publicly reachable. Menso runs in the cloud and cannot open localhost or a private network: test a preview deployment instead.
- For the signup template, use a dedicated test inbox and a password you use nowhere else. Menso keeps it in the same saved-account vault as the web app and checks replays for it before they can be shared. Menso keeps the 100 most recently used test accounts created this way; a run whose test account is no longer kept cannot get a public replay link.
- Test only sites you own or have permission to test (see the Terms).