---
title: Connect Cursor
description: Add the Siglata MCP server to Cursor with a two-line mcp.json entry and a browser sign-in.
sidebar:
  order: 1
---

Cursor reads MCP servers from a small JSON file. You add the Siglata address there, then sign in once in your browser. Cursor is a **proven (v1)** client.

## Before You Start [#prerequisites]

- A Siglata account. Sign in once at the [Siglata Console](https://www.siglata.com/app). See [Sign in](/docs/en-US/sign-in).
- Cursor, installed and up to date.

## Steps [#steps]

1. Decide where the server should be available. Use `.cursor/mcp.json` inside a project for that project alone. Use `~/.cursor/mcp.json` for every project you open.
2. Create the file if it does not exist, and put this in it.

   ```json title=".cursor/mcp.json"
   {
     "mcpServers": {
       "siglata": {
         "url": "https://www.siglata.com/v1/mcp"
       }
     }
   }
   ```

   The file already has an `mcpServers` block if you use other servers. In that case, add the `"siglata"` entry beside them and leave the rest alone.

3. Save the file.
4. Open **Cursor Settings** and go to **MCP**. The **siglata** server is listed there.
5. Click **Login** next to **siglata**. Cursor opens your browser on Siglata.
6. Sign in with your email magic link if you are not signed in already.
7. Pick the organization this connection may reach, then approve the permissions Cursor asked for.
8. Return to Cursor. The browser tab can be closed.

## You're Done When [#done]

- **Cursor Settings** then **MCP** shows **siglata** as enabled, with no login prompt left.
- The server lists exactly two tools, `execute` and `search`.
- You open the chat in agent mode, ask it to list the files in your Siglata organization, and it answers with your files.

## Troubleshooting [#troubleshooting]

- **The browser never opened.** Click **Login** again. A pop-up blocker or a second browser profile can swallow the first attempt.
- **The server still asks for login after you approved.** Use the reload control next to **siglata** in **MCP** settings. Cursor picks the new token up on reload.
- **The tool list is empty.** Check that the entry uses `"url"` and not `"command"`, and that the JSON parses. Then open the **Output** panel and select **MCP Logs** to read the error.
- **The agent reads the wrong organization.** A connection is bound to the organization you picked while authorizing. Add a second entry under another name, such as `"siglata-acme"`, and pick the other organization when it asks.
- **Calls fail with 401.** Your grant ended, because the session was revoked or your membership changed. Click **Login** again to authorize a fresh grant.

## What the Agent Can Do [#capabilities]

Your agent can list files and folders, upload new ones, download and read them, rename them, move them, send them to the trash, and restore them within 30 days. It can also read your organization's profile, list members, invite people, and change roles. It never reaches past the organization you picked, and never past the permissions you approved.

The full operation list, with the permission each one needs, is in [MCP](/docs/en-US/agents/mcp).

## For Agents [#for-agents]

```json title=".cursor/mcp.json"
{
  "mcpServers": {
    "siglata": {
      "url": "https://www.siglata.com/v1/mcp"
    }
  }
}
```

- Transport is Streamable HTTP at `https://www.siglata.com/v1/mcp`. Authorization is OAuth 2.0, and Cursor registers its client dynamically.
- `tools/list` returns exactly two tools, `execute` and `search`. There is no `context` tool.
- Management operations are CallScript functions called inside an `execute` script, not MCP tools. Call `search` to list the operations this grant may call.
- Call `principal_get` inside an `execute` script to read the bound `organizationId`, plus `userId`, `role`, and `scopes`.
- Other clients: [Connect](/docs/en-US/agents/connect).
