Docs
Two independent extras. Each one works on its own. Use one, both, or neither.
Test a site running on your machine
Point noemica at a URL that's only reachable from your laptop: http://localhost:3000, 127.0.0.1, a private LAN address, a dev tunnel. The noemica CLI bridges your machine to the engine so participants can browse it.
This is a separate capability from MCP. It works whether you're running studies from this website or from a coding agent.
Run the bridge
In a terminal on the machine running your site:
npx noemica
Authenticate once in the browser when prompted, then leave the terminal running for the duration of the study (typically 10-15 minutes). When the study is done, you can close it.
What it does
The bridge keeps a persistent connection from your machine to noemica's engine so each participant's browser session can navigate to your private URL through you. Without it, runs against local targets fail because the engine has no path to your machine.
You do not need this for public URLs
If your target is reachable on the public internet, skip this entirely. The engine connects directly.
Use noemica from your coding agent (MCP)
noemica is an MCP server. Your coding agent (Claude Desktop, Claude Code, Cursor, or any MCP-compatible client) can design and run studies, then question participants about their experience, without you leaving the IDE.
Use this when you want the agent to autonomously discover bugs and friction your real users would hit, before you ship to them.
Server URL
https://noemica-backend-1033529941416.us-central1.run.app/mcp
Streamable HTTP with OAuth 2.1 (DCR + PKCE). The first time you connect, a browser tab opens to noemica for you to grant access. Tokens are short-lived; you'll re-grant occasionally.
Claude Desktop
Edit your claude_desktop_config.json:
{
"mcpServers": {
"noemica": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://noemica-backend-1033529941416.us-central1.run.app/mcp"]
}
}
}Restart Claude Desktop. On first use the OAuth flow will open a browser for you to sign in.
Claude Code
claude mcp add --transport http noemica https://noemica-backend-1033529941416.us-central1.run.app/mcp
Then call /mcpfrom inside Claude Code. The server will show up as unauthenticated; pick it to start the auth flow when you're ready.
On older Claude Code versions without streamable-HTTP MCP, fall back to the stdio bridge:
claude mcp add noemica -- npx -y mcp-remote https://noemica-backend-1033529941416.us-central1.run.app/mcp
Cursor
In Cursor Settings โ MCP, add a new server:
Name: noemica Type: command Command: npx -y mcp-remote https://noemica-backend-1033529941416.us-central1.run.app/mcp
Or project-level via .cursor/mcp.json:
{
"mcpServers": {
"noemica": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://noemica-backend-1033529941416.us-central1.run.app/mcp"]
}
}
}What the agent gets
Once connected, the agent sees: create_study, set_study_objective, add_participant, edit_participant, delete_participant, get_study, list_studies, run_study, get_study_status, ask_participants, get_thread, list_threads, get_study_report, set_study_visibility. The flow is: design participants, run them, poll status, then ask them questions.