---
title: Connect ChatGPT Work on desktop
description: Connect ChatGPT Work in the desktop app to Siglata through MCP settings, using the same local server configuration as Codex.
sidebar:
  order: 3
---

This guide covers ChatGPT Work in the ChatGPT desktop app. The desktop app adds MCP servers from its settings window. You paste the Siglata address, save, and sign in once in your browser. This path is **installable / spec-compatible** for v1 (Cursor and Codex are the proven clients).

ChatGPT Desktop and the Codex CLI share one configuration file, `~/.codex/config.toml`. A server you add in either app appears in both. See [Connect Codex](/docs/en-US/agents/install/codex).

Hosted Work on the web uses plugins instead of local MCP settings. See [OpenAI's MCP setup guide](https://learn.chatgpt.com/docs/en-US/extend/mcp?surface=cli) for the desktop and web paths.

## 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).
- The ChatGPT desktop app, installed and up to date, with access to Work.

## Steps [#steps]

1. Open **Settings** in ChatGPT Desktop.
2. Go to **MCP servers**, then click **Add server**.
3. Choose **Streamable HTTP** as the type.
4. Name the server `siglata`.
5. Paste the address into the URL field.

   ```text
   https://www.siglata.com/v1/mcp
   ```

6. Click **Save**.
7. Restart ChatGPT Desktop.
8. Open **Settings** then **MCP servers** again, and start the sign-in for **siglata**. Your browser opens on Siglata.
9. Sign in with your email magic link if you are not signed in already.
10. Pick the organization this connection may reach, then approve the permissions ChatGPT Desktop asked for.

## You're Done When [#done]

- **Settings** then **MCP servers** lists **siglata** as connected, with no sign-in prompt left.
- The server lists exactly two tools, `execute` and `search`.
- You ask ChatGPT to list the files in your Siglata organization, and it answers with your files.

## Troubleshooting [#troubleshooting]

- **The server stays disconnected after you save.** Restart the app. A server added while the app is running is picked up on the next start.
- **The sign-in window closed before it finished.** Start the sign-in again from **MCP servers**. The authorization link expires after a few minutes.
- **The tools never appear in a chat.** Open the tools menu in the composer and turn **siglata** on for that conversation.
- **The agent reads the wrong organization.** A connection is bound to the organization you picked while authorizing. Add a second server named `siglata-acme` with the same address, and pick the other organization when it asks.
- **Calls fail with 401.** Your grant ended, because the session was revoked or your membership changed. Sign in again from **MCP servers**.
- **The server also showed up in Codex.** That is expected. The two apps read the same `~/.codex/config.toml`.

## What the Agent Can Do [#capabilities]

ChatGPT 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]

```bash
codex mcp add siglata --url https://www.siglata.com/v1/mcp
codex mcp login siglata
```

- The settings window and the commands above write the same entry, in `~/.codex/config.toml`.
- Transport is Streamable HTTP at `https://www.siglata.com/v1/mcp`. Authorization is OAuth 2.0, and the client registers 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).
