# Cursor

> Source: https://elaichi.ai/docs/guides/mcp-servers/cursor/

Connect Cursor to Elaichi **once**. From then on, every app your organization has connected in Elaichi — and every tool you are allowed to use — is reachable from Cursor.

**Where to find the endpoint:** in the Elaichi web app, open **Connect your AI client** and copy the endpoint shown there.

Elaichi works the same way behind every client: one connection, one consent screen, your own access. [How Elaichi connects to AI clients](/guides/mcp-servers/how-it-works) covers that part — this page is the Cursor half.

## Before you start

| Requirement | Detail |
| --- | --- |
| **Cursor** | Any recent version with MCP support |
| **Where it applies** | Cursor reads a file on your machine, so this is **per-machine** — and optionally per-project. Unlike Claude and ChatGPT, there is nothing account-level to configure |
| **Elaichi account** | The same sign-in you use for the web app |

## Connect Cursor to Elaichi

1. Open `~/.cursor/mcp.json`, or `.cursor/mcp.json` for one project only.
2. Add an entry under `mcpServers` with the endpoint as its `url`.
3. Reload Cursor, then sign in to Elaichi and approve the access.

The entry is just a name and a URL:

```json
{
  "mcpServers": {
    "elaichi": {
      "url": "https://api.elaichi.ai/mcp"
    }
  }
}
```

Use the endpoint exactly as Elaichi gives it to you, in place of the URL above. If the file already has other servers under `mcpServers`, add this alongside them rather than replacing the block.

:::callout{type="info"}
There is no `type` field and no command to run. Cursor detects the transport from the endpoint itself, and Elaichi supports dynamic client registration — so you do not need an `auth` block, a client ID, or a secret.
:::

Reloading brings up Elaichi's sign-in, then the consent screen. Only **Read** is granted by default, and for most Cursor use you want **Read** and **Run tools** — see [Approve what the client can do](/guides/mcp-servers/how-it-works#approve-what-the-client-can-do) for what each scope covers.

## Connect your first app

Start by pasting this into Cursor — it is the same prompt the **Connect your AI client** dialog hands you, and it both confirms the connection and gets you moving:

> Elaichi is connected. List the Elaichi tools you have, then help me connect my first app. If a sign-in comes up, stop and tell me. I approve the access myself.

Those last two sentences are deliberate. A model cannot grant itself access to Elaichi — approving is yours to do. Without them a client will happily report success while the sign-in sits there unanswered.

Connecting the app itself happens **in Elaichi, not in Cursor** — see [Connecting an account](/guides/connections/connecting-an-account).

Anything you connect appears in Cursor without editing `mcp.json` again — same endpoint, more tools behind it. The same is true in reverse: disconnect in Elaichi and it disappears from Cursor.

## Good to know

- **Global or per-project.** `~/.cursor/mcp.json` applies everywhere; `.cursor/mcp.json` in a repository applies to that project only. Use the project file when only one codebase should reach your tools.
- **Per-machine.** Setting this up on your laptop does not set it up on your desktop — repeat it on each machine, and sign in on each.
- **To disconnect**, remove the entry from `mcp.json` and reload, or revoke the grant in Elaichi — revoking stops the token working immediately.

## Troubleshooting

| Symptom | Likely cause |
| --- | --- |
| **The server never appears after editing the file** | Invalid JSON — a trailing comma or a missing brace. Check the file parses, then reload Cursor |
| **No sign-in prompt appears** | Cursor did not reload. Reload the window, then open the MCP settings to trigger the connection |
| **No tools appear after signing in** | No apps connected in Elaichi yet, or no toolbox you can reach. Connect an app first |
| **A tool you expect is missing** | It is blocked by a restriction, or it is not in a toolbox you can reach. Connected tools are never listed, so ask Cursor to search for it |
| **A call is refused after consent** | The scope it needs was not granted. Reconnect and widen the consent |

## Related

- [How Elaichi connects to AI clients](/guides/mcp-servers/how-it-works) — one connection, scopes, and what Cursor sees
- [Claude](/guides/mcp-servers/claude) — the same endpoint in Claude
- [ChatGPT](/guides/mcp-servers/chatgpt) — the same endpoint in ChatGPT
- [Connecting an account](/guides/connections/connecting-an-account)
- [How toolboxes work](/guides/toolboxes/overview)
- [Set restrictions](/guides/governance/set-restrictions)
