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

# Other clients

> Connect Cursor, Gemini CLI, VS Code, Windsurf, Zed, OpenCode or any MCP client

Any client that speaks MCP can use Context. There are two ways in.

## Local, through the CLI

Install and sign in once, then let the CLI add Nemu to your editor:

```bash theme={null}
npm i -g nemu-cli
nemu login
nemu setup cursor        # or vscode, gemini, windsurf, zed, opencode
```

| Editor | Command | What it writes |
| - | - | - |
| Cursor | `nemu setup cursor` | `mcpServers.nemu` in `~/.cursor/mcp.json` |
| VS Code | `nemu setup vscode` | `servers.nemu` in your user `mcp.json`, through `code --add-mcp` when `code` is on your PATH |
| Gemini CLI | `nemu setup gemini` | `mcpServers.nemu` in `~/.gemini/settings.json` |
| Windsurf | `nemu setup windsurf` | `mcpServers.nemu` in `~/.codeium/windsurf/mcp_config.json` |
| Zed | `nemu setup zed` | `context_servers.nemu` in Zed's `settings.json` |
| OpenCode | `nemu setup opencode` | `mcp.nemu` in `~/.config/opencode/opencode.json`, or `opencode.jsonc` when that is the file you have |

Setup writes only the `nemu` entry. Every other server, setting and comment in the file, and its
indentation, stay exactly as they were, and the previous file is kept next to it with a
`.nemu-backup` suffix. A file that cannot be parsed is left alone, and so is a different server that
is already called `nemu`. Restart the editor afterwards. `nemu uninstall <editor>` takes the entry
out again, and `nemu status` lists the editors it finds. Hooks, which load notes when a session
starts, exist for [Claude Code](https://docs.nemu.cc/context/claude-code.md) and [Codex](https://docs.nemu.cc/context/codex.md) only.

The entry starts `nemu mcp`, which runs on your machine, uses your sign in, refreshes it, and knows
which project you are in from the folder the client started in. For any other client,
`nemu mcp config <client>` prints the snippet and where it goes, for `cursor`, `gemini`, `vscode`,
`windsurf`, `zed`, `opencode`, `claude`, `codex` and `remote`. For Cursor it is:

```json ~/.cursor/mcp.json theme={null}
{
  "mcpServers": {
    "nemu": { "command": "nemu", "args": ["mcp", "--client", "cursor"] }
  }
}
```

OpenCode keeps the program and its arguments in one `command` array:

```json ~/.config/opencode/opencode.json theme={null}
{
  "mcp": {
    "nemu": { "type": "local", "command": ["nemu", "mcp", "--client", "opencode"], "enabled": true }
  }
}
```

Run `opencode mcp list` afterwards to see it connected.

## Remote, over HTTP

The server is at `https://app.nemu.cc/api/mcp` (Streamable HTTP). Authenticate in either of two
ways.

**Sign in with OAuth.** Clients that support MCP authorization, such as Claude Code's `/mcp`,
claude.ai custom connectors and ChatGPT connectors, discover Nemu's sign in on their own: add the URL
and approve the request in your browser. The app registers itself and can only read and write
Context. It cannot reach the rest of your account.

**Use a Context key.** Create one in the console under **Context, Keys** and send it as a bearer
token.

```json theme={null}
{
  "url": "https://app.nemu.cc/api/mcp",
  "headers": { "Authorization": "Bearer nctx_..." }
}
```

A remote client does not know which folder you are in, so the agent opens the project itself with
the `project_open` tool, passing the repository name and its first commit. See [MCP](https://docs.nemu.cc/context/mcp.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.