study_create, study_add_iteration, study_run, and the rest) while you build. The
server lives at https://mcp.ishlabs.io/mcp, speaks streamable HTTP, and signs you in
over OAuth on first connect, so no token lands in a config file. For the full add
mechanism and the OAuth handshake, see connect an agent.
The one thing that differs for Replit: ish runs simulated people from the cloud, so the
study URL must load without your Replit session. The in-editor preview is gated to
you, so a URL that works in your tab fails silently for ish. Most of this page is about
getting that URL right.
Connect
Add the ish server inside Replit’s MCP settings, pointing at the hosted endpoint:clientInfo Replit sends
in the MCP handshake, recognizes the replit client, and tailors the URL guidance below
to Replit’s webview and deploy paths.
Confirm the connection
Ask the agent a read-only question. A read confirms the connection without drawing any credits:workspace_get and reports your workspaces back.
A brand-new account shows an empty list, which is still a successful connection.
The agent returns a workspace list (or an explicit empty list) instead of “no ish tools
available”. That means the OAuth sign-in landed and the tools are live.
Point a study at a reachable URL
When you create an interactive iteration against a Replit URL, ish has to load that URL from a cloud browser that does not carry your Replit session. The trap: a Replit preview URL is a public hostname, so it passes ish’s localhost check, yet still shows a login wall to anyone but you. Pick the link type that loads without your session.| Replit URL | Reachable for ish? | Use it |
|---|---|---|
| In-editor preview pane | No, gated to your session | Open the webview or deploy first |
Public .replit.dev webview URL | Yes, while the app is running | Good for a quick run |
| Deployment URL | Yes, served by Replit Deployments | Best for a study you reuse |
Get a public URL in Replit
Open the app’s
.replit.dev webview in its own browser tab and copy that URL, or use
Replit Deployments and copy the deployment URL. The webview URL serves while the app
is running; the deployment URL is the durable one for a study you run more than once.Create the iteration against that URL
Tell the agent to add an interactive iteration pointed at the URL. Under the hood it
calls
study_add_iteration with platform="browser" and the public url. You set
this once per study; later runs reuse the same iteration.What ish tells the agent
ish steers the agent for you. Because Replit’s handshake identifies thereplit client,
the study_add_iteration response carries a notes hint that names Replit’s own reach
paths: use the app’s public .replit.dev webview URL, or Deploy and use the deployment
URL, not the in-editor preview. ish also recognizes Replit hosts (.replit.dev,
repl.co) on the study URL itself, so the same hint fires when the agent points a study
at one of those hosts even from a different client.
The
.replit.dev webview is reachable only while the app is running in your workspace.
If you stop the repl, a run that worked before will fail to load the page. Deploy for a
URL that stays up.When the page needs a login you cannot remove
If the part of the app under test sits behind a real sign-in that you cannot deploy around, register the access once on the workspace instead of fighting the gate. Then every interactive study you point at that origin reuses it.Share the results
Replit’s agent can create and run studies, but it cannot mint a public results link. Sharing is a CLI action:ish study share returns a public, no-login
share_url to paste into an email or hand to a stakeholder. See
sharing results for the lifecycle and what a viewer sees.
A share link points at one study’s results. The Replit URL above points at the app the
simulation experiences. Two different links for two different jobs.
Troubleshooting
The agent reports no ish tools
The agent reports no ish tools
The OAuth step did not complete. Reconnect the ish server in Replit’s MCP settings,
approve the sign-in in your browser, then ask again. Confirm the URL has no trailing
slash.
Every simulated person bounces off a login wall
Every simulated person bounces off a login wall
The study is pointed at a gated URL. The in-editor preview loads only with your
session. Switch the iteration to the public
.replit.dev webview URL or a deployment
URL, or register a login with site_access_set.A run that worked before fails now
A run that worked before fails now
The
.replit.dev webview serves only while the repl is running. Start the app again
and rerun, or deploy the app and point the iteration at the deployment URL for a URL
that stays up.Next steps
Run a study
Every parameter for
study_create, study_add_iteration, and study_run.Site access
Reach a gated URL with basic auth, a cookie, or a login form.
Sharing results
Mint a public, no-login link to a study’s results from the CLI.
Other clients
Wire Lovable, Bolt, v0, Claude Code, and more.