# Cursor

Connect Cursor to Silan with one click, open Cursor again, and use your devices from its chat.

Cursor reaches your devices through `silan mcp`, Silan's MCP server, written into Cursor's global MCP settings by the Silan app. Status: **supported**. It is proven with a real Cursor on a Mac with no phone attached: Cursor listed Silan's 16 core tools. Cursor acting on a phone from start to end is still owed, as it is for every connected app.

<figure class="shot"><img src="/media/connections-connect-an-app.webp" alt="Connect an app, step 1 of 3, with the Cursor row." width="1440" height="900" loading="lazy" /><figcaption>Connect an app, step 1 of 3, with the Cursor row.</figcaption></figure>

## Setup

1. Open **Connections** in Silan's sidebar, or setup's **Your AI tools**. Press **Connect an app**, then **Connect** on the Cursor row. The row shows **Connect** only when Cursor is on this Mac.
2. Silan asks **Do you test your own app with Cursor?** **Just my devices** gives the `core` set of 16 tools. **Test my app** gives the `testing` set of 27, with installs, recordings and test pushes.
3. Silan writes one entry, `mcpServers.silan`, into `~/.cursor/mcp.json`:

   ```json
   {
     "mcpServers": {
       "silan": {
         "type": "stdio",
         "command": "/Applications/Silan.app/Contents/Helpers/silan",
         "args": ["mcp"],
         "env": {}
       }
     }
   }
   ```

   **Test my app** writes `"args": ["mcp", "--profile", "testing"]`. Any other server in the file, and its keys, stay byte for byte. The first change keeps a copy at `~/.cursor/mcp.json.silan-backup`. No key is written.
4. Quit Cursor and open it again. Press Command Q, then open Cursor. A Cursor that was open before Connect does not see Silan.
5. In Cursor's chat, type `Use Silan to list my devices`. On its first tool call Silan shows **Cursor wants to use your devices**, with who signed it. Press **Allow**, **Allow this time** or **Don't allow**.

## Try it

A first prompt for Cursor's chat:

```text
Use Silan to take a screenshot of my iPhone and describe what is on the screen.
```

You should see Cursor call `list_devices`, then `observe`, and describe the screen from the element list and the picture. The first call brings the Allow sheet in Silan. From Cursor's command line you can also list the tools Silan gives it:

```sh
cursor-agent mcp list-tools silan
```

With the core set it prints 16 tool names, `list_devices` and `observe` among them.

## Limits

- Cursor acting on a phone from start to end is not yet proved on a real device. The proof so far is the tool list and the written config, with no phone.
- The testing set shows 27 tools over Connect: the five scenario tools are not served over XPC.
- Silan must be open on this Mac to ask you. With Silan closed, the call ends at once with **Open Silan on this Mac to allow Cursor**.
- `~/.cursor/mcp.json` must be a JSON object, and `mcpServers` in it an object. Silan leaves any other file alone and tells you to fix it first.
- **Disconnect** on the row takes the `silan` entry out of `~/.cursor/mcp.json` and leaves your other servers as they were, with `mcpServers` empty when Silan was the only one.
- A risky step answers `APPROVAL_REQUIRED` until you say yes in Silan. See [Safety](/safety/).

:::note[Proof]
Proved on this Mac with no phone, 31 Oct 2026, by a Silan worker, with a real Cursor command line: Connect (**Just my devices**) wrote `~/.cursor/mcp.json`, and `cursor-agent mcp list-tools silan` listed the same 16 tools while signed out. Run `20261031-140512-62730`, pictures `connect-*.png`. On 24 Oct 2026 one click wrote `silan` into a file that already held another server and its key and kept them byte for byte, run `20261024-042236-97156`. Source: verify-silan feature map, connections.
:::