---
title: Connect Codex
description: Install the Siglata plugin in Codex with two commands, or add the MCP server directly from the command line.
sidebar:
  order: 2
---

Codex installs Siglata as a plugin. Two commands add the marketplace and the plugin, and the first session asks you to sign in. Codex is a **proven (v1)** client.

Codex shares its configuration with ChatGPT Desktop, so a server you add here also appears there. See [Connect ChatGPT Desktop](/docs/en-US/agents/install/chatgpt-desktop).

## 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 Codex CLI, installed and up to date.

## Steps [#steps]

1. Add the Siglata marketplace and install the plugin.

   ```bash
   codex plugin marketplace add siglata/agent-plugins
   codex plugin add siglata@siglata-agent-plugins
   ```

2. Start a new Codex session. Codex loads plugins and MCP servers when a session starts, so an open session does not see the new plugin.
3. Run `/mcp` in the session. Codex lists **siglata** and offers to authenticate it.
4. Follow the link Codex prints. Your browser opens on Siglata.
5. Sign in with your email magic link if you are not signed in already.
6. Pick the organization this connection may reach, then approve the permissions Codex asked for.
7. Return to the terminal. Codex reports the server as connected.

### Without the Plugin [#mcp-only]

To add the MCP server on its own, skip the plugin and run this instead.

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

Both commands write to `~/.codex/config.toml`, the same file the plugin uses.

## You're Done When [#done]

- `codex mcp list` includes **siglata**.
- `/mcp` in a session shows exactly two tools for Siglata, `execute` and `search`.
- You ask Codex to list the files in your Siglata organization, and it answers with your files.

## Troubleshooting [#troubleshooting]

- **`/mcp` does not list Siglata.** Quit the session and start a new one. Codex reads its server list at session start.
- **Codex says the server is not authenticated.** Run `codex mcp login siglata` and finish the browser step.
- **The browser step ended without a confirmation.** Run `codex mcp login siglata` again. The link expires after a few minutes.
- **The agent reads the wrong organization.** A connection is bound to the organization you picked while authorizing. Run `codex mcp add siglata-acme --url https://www.siglata.com/v1/mcp`, then `codex mcp login siglata-acme`, and pick the other organization.
- **Calls fail with 401.** Your grant ended, because the session was revoked or your membership changed. Run `codex mcp login siglata` to authorize a fresh grant.
- **Your ChatGPT Desktop list changed too.** That is expected. The two apps read the same `~/.codex/config.toml`.

## What the Agent Can Do [#capabilities]

Codex 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 plugin marketplace add siglata/agent-plugins
codex plugin add siglata@siglata-agent-plugins
# or, MCP only
codex mcp add siglata --url https://www.siglata.com/v1/mcp
codex mcp login siglata
```

- Transport is Streamable HTTP at `https://www.siglata.com/v1/mcp`. Authorization is OAuth 2.0, and Codex registers its client dynamically.
- Server entries live in `~/.codex/config.toml`, shared with ChatGPT Desktop and the Codex IDE extension.
- `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).
