> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ishlabs.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect your client

> Pick your AI client and wire it to the ish MCP server.

ish runs as a hosted MCP server at `https://mcp.ishlabs.io/mcp`. Any client that
speaks MCP over streamable HTTP can call ish tools (`study_run`, `ask_run`,
`person_generate`, and the rest) once it points at that URL and signs in. The
endpoint and sign-in are the same everywhere; pages differ only in where the
client keeps its config and what ish can do for that client. Pick yours below
for the exact steps.

These pages cover the **MCP** path. Local coding agents (Claude Code, Cursor, VS Code)
can also drive ish through the [CLI](/cli/overview) instead — and testing a web, iOS, or
Android app on your own machine needs the CLI either way, since the hosted server can't
reach your localhost. You don't need both; see [the CLI and the MCP server](/concepts/cli-and-mcp).

<Columns cols={3}>
  <Card title="Claude Code" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/claude.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=8e6b48dea9630a77a53062ecaf9eb3cc" href="/integrations/claude-code" width="24" height="24" data-path="images/logos/claude.svg">
    Best for terminal-driven runs, wired with one command.
  </Card>

  <Card title="Cursor" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/cursor.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=dc25e6628e5939c4f56c8a117dfffba4" href="/integrations/cursor" width="24" height="24" data-path="images/logos/cursor.svg">
    Best for editor agents under a 30-second tool-call cap.
  </Card>

  <Card title="Claude Desktop" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/claude.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=8e6b48dea9630a77a53062ecaf9eb3cc" href="/integrations/claude-desktop" width="24" height="24" data-path="images/logos/claude.svg">
    Best for desktop chat that reads ish resources in full.
  </Card>

  <Card title="ChatGPT" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/openai.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=75d0c402100c285b29b4a20bdcb99d18" href="/integrations/chatgpt" width="24" height="24" data-path="images/logos/openai.svg">
    Best for chat where you read findings through tools, not resources.
  </Card>

  <Card title="VS Code" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/vscode.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=cd0803d83dac3f2702b3d8dfe26f6fbb" href="/integrations/vscode" width="24" height="24" data-path="images/logos/vscode.svg">
    Best for Copilot agent mode, with the loopback-port OAuth handled for you.
  </Card>

  <Card title="Lovable" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/lovable.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=2a718949c3f7a8fbc392ea87da8e54dd" href="/integrations/lovable" width="121" height="122" data-path="images/logos/lovable.svg">
    Best for testing a build, once you point ish at a reachable URL.
  </Card>

  <Card title="Replit" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/replit.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=3855d33ff6c65a14ff9eeaf67da8ea06" href="/integrations/replit" width="24" height="24" data-path="images/logos/replit.svg">
    Best for a repl, pointed at a webview or deployment URL.
  </Card>

  <Card title="Bolt" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/bolt.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=beb61cdb8cbfad7f660b132dbe696539" href="/mcp/connecting" width="24" height="24" data-path="images/logos/bolt.svg">
    Best for the embedded agent, pointed at a published preview.
  </Card>

  <Card title="v0" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/v0.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=2932a00012d904871035d045ec63fb69" href="/mcp/connecting" width="24" height="24" data-path="images/logos/v0.svg">
    Best for the in-editor agent, pointed at a deployed URL.
  </Card>

  <Card title="Windsurf" icon="https://mintcdn.com/ish/Cj54DaF8kB36LM0P/images/logos/mcp.svg?fit=max&auto=format&n=Cj54DaF8kB36LM0P&q=85&s=0c73b17e3c604fa31be5c00cc898a957" href="/mcp/connecting" width="24" height="24" data-path="images/logos/mcp.svg">
    Best for any MCP-over-HTTP setup the CLI can wire for you.
  </Card>
</Columns>

<Note>
  No card for your client? Any MCP client that speaks streamable HTTP works.
  Point it at `https://mcp.ishlabs.io/mcp`, sign in on first connect, and follow
  [Connecting](/mcp/connecting). More clients get their own page over time.
</Note>

Every client uses the same endpoint and the same sign-in. The
[connecting guide](/mcp/connecting) owns the add mechanism and the OAuth handshake;
the per-client pages above are the short, client-specific version.

## How clients group

All clients reach the same server the same way. They differ in how much ish can
do *for* them when you set up or run a study. There are three groups.

<AccordionGroup>
  <Accordion title="The CLI wires these for you" icon="wrench">
    The ish CLI writes the MCP config block for Cursor, VS Code, Claude Code,
    Claude Desktop, and Windsurf. Run `ish mcp add` to plan and apply the change,
    `ish mcp list` to see what is wired, and `ish mcp remove` to unwire it. The CLI
    edits local JSON config files only; it never embeds a token, since the server
    handles OAuth on first connect. See the [`ish mcp` reference](/cli/generated/mcp).
  </Accordion>

  <Accordion title="App builders get reachability hints" icon="globe">
    Lovable, Replit, Bolt, and v0 build apps whose preview URLs are gated to your
    editor session. ish runs simulated people from the cloud, so a preview URL that
    loads in your tab fails silently for them. When ish detects one of these
    clients (or a study URL on a known builder host), it returns a hint that names
    the share or deploy path for that builder. The per-client pages above carry the
    exact steps.
  </Accordion>

  <Accordion title="Other clients connect and run" icon="plug">
    Any other MCP client connects to `https://mcp.ishlabs.io/mcp` and runs every
    tool. ish recognizes the client from its handshake to tailor guidance, but the
    CLI does not write its config and there is no builder hint. ChatGPT is in this
    group and has [its own page](/integrations/chatgpt) because it reads ish tools
    but not ish resources.
  </Accordion>
</AccordionGroup>

## Other MCP clients

No page for your client? It still works. Point any MCP client that speaks
streamable HTTP at `https://mcp.ishlabs.io/mcp` and sign in on first connect.
This covers clients like [Cline](https://github.com/cline/cline) and
[Roo Code](https://github.com/RooCodeInc/Roo-Code): add the server with their
own MCP settings, using the URL above.

<Warning>
  Use `https://mcp.ishlabs.io/mcp` with no trailing slash. A trailing slash
  redirects (HTTP 307) and breaks some clients, ChatGPT among them.
</Warning>

For the generic steps that work in any client, see
[Connecting](/mcp/connecting).

## Next steps

<Columns cols={2}>
  <Card title="Connecting" icon="link" href="/mcp/connecting">
    The add mechanism and OAuth, in full.
  </Card>

  <Card title="Tool index" icon="list" href="/mcp/generated/index">
    Every ish MCP tool, grouped by domain.
  </Card>
</Columns>
