study_run, ask_run, person_generate, and the rest) from inside your editor.
The server lives at https://mcp.ishlabs.io/mcp, speaks streamable HTTP, and signs
you in over OAuth on first connect, so no token ever lands in a config file. For the
full add mechanism and the OAuth handshake, see connect an agent.
Connect
Pick one path. Both write the same~/.cursor/mcp.json server block and end with the
same OAuth sign-in.
- With the ish CLI
- By hand
Install the CLI and let it write Cursor’s config block:
ish mcp add writes only the server URL, never a token. Run it with no flags first
for a dry-run plan, then re-run with --yes to commit. See the
ish mcp reference for every flag.Sign in and confirm
Reconnect or restart Cursor so it runs the OAuth flow, approve the sign-in in your browser, then ask the agent a read-only question: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.
Run a study without hitting the tool-call cap
Cursor caps a single MCP tool call at roughly 30 seconds. Interactive and media simulations take one to five minutes, so a blockingstudy_run will hit that ceiling
and return nothing. Prefer the non-blocking pattern: dispatch the run, then poll for the
reactions.
Dispatch with wait=false
Call
study_run with wait=false (the default). It dispatches the simulation and
returns immediately with a next_action poll hint, well inside the 30-second
window.Poll for completion
Follow the
next_action hint: call study_get with view="summary" every so often
until every participant reaches a terminal state. Each poll is a fast read that stays
under the cap.study_run reference. For when to reach for study_run
versus a quick ask_run, see run vs ask.
Troubleshooting
The agent reports no ish tools
The agent reports no ish tools
The OAuth step did not complete. Reconnect the server in Cursor, approve the sign-in
in your browser, then ask again. Confirm the URL has no trailing slash.
A blocking run returns nothing or times out
A blocking run returns nothing or times out
You hit the 30-second tool-call cap. Re-run with
wait=false and poll with
study_get(view="summary"), as above. A wait that runs out of budget comes back with
error_kind="wait_timeout" and the participant_ids set, so you can resume by
polling those participants.ish mcp add refuses to write
ish mcp add refuses to write
A drifted ish block is already in
~/.cursor/mcp.json, or the file is not valid JSON.
Inspect it by hand, or re-run with ish mcp add --client cursor --force --yes to
overwrite the ish block. Unrelated servers are preserved.Next steps
Every MCP tool
All 42 hosted tools, grouped by domain.
Run a study
Create, iterate, run, and read studies across every modality.
Connect an agent
The add mechanism and OAuth, in full.
Other clients
Wire Claude Code, VS Code, ChatGPT, and more.