> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jogg.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Install JoggAI MCP Clients

> Configure JoggAI MCP in Codex, Claude Code, Cursor, or ChatGPT with one client-aware command.

JoggAI MCP provides a small installer that applies the correct MCP and OAuth settings
for each supported client:

```bash theme={null}
npx -y @joggai/mcp-client install <client>
```

The package configures the hosted endpoint at `https://api.jogg.ai/mcp`. It is
not an MCP proxy and does not stay running after installation. OAuth tokens remain
in the selected client's native credential store.

<Warning>
  JoggAI MCP is in controlled beta. The installer cannot enable the hosted
  endpoint or register a new OAuth client. Contact
  [support@jogg.ai](mailto:support@jogg.ai) if the endpoint or selected client is
  not enabled for your workspace.
</Warning>

## Choose your client

| Client      | Command                                     | What completes automatically          |
| ----------- | ------------------------------------------- | ------------------------------------- |
| Codex       | `npx -y @joggai/mcp-client install codex`   | Registration and native browser OAuth |
| Claude Code | `npx -y @joggai/mcp-client install claude`  | Registration and native browser OAuth |
| Cursor      | `npx -y @joggai/mcp-client install cursor`  | Atomic update of `~/.cursor/mcp.json` |
| ChatGPT     | `npx -y @joggai/mcp-client install chatgpt` | Prints the manual connector settings  |

`claude-code` is accepted as an alias for `claude`.

<Note>
  For Cursor, open **Customize > MCP**, select JoggAI, and complete OAuth after the
  configuration is written. For ChatGPT, follow the returned steps in
  **Settings > Connectors**. An `installed` Cursor result does not mean the
  account is authenticated yet.
</Note>

## Verify and maintain the connection

The same interface works across clients:

```bash theme={null}
npx -y @joggai/mcp-client status <client>
npx -y @joggai/mcp-client login <client>
npx -y @joggai/mcp-client uninstall <client>
```

Codex and Claude Code execute their native commands. Cursor reads or updates its
JSON configuration and returns a manual OAuth action. ChatGPT always returns a
manual action because it has no local configuration API.

Run this command to inspect those capabilities as JSON:

```bash theme={null}
npx -y @joggai/mcp-client clients
```

## Existing configurations

Installation is idempotent. If `JoggAI` already points to the production URL,
Codex and Claude Code reuse the registration and start login without deleting it.

The installer refuses to overwrite a same-named entry that points elsewhere.
Review the existing entry first, then explicitly replace it:

```bash theme={null}
npx -y @joggai/mcp-client install <client> --replace
```

`--replace` also forces a same-URL entry to be rebuilt with the current OAuth
client metadata. Use this when migrating an old API-key, Bearer-token, or
dynamically registered configuration.

## Configuration options

| Option                 | Purpose                                           |           |                                            |
| ---------------------- | ------------------------------------------------- | --------- | ------------------------------------------ |
| `--name NAME`          | Change the local MCP server name from `JoggAI`    |           |                                            |
| `--url URL`            | Target a non-production JoggAI MCP deployment     |           |                                            |
| `--client-id ID`       | Use a client ID pre-registered by that deployment |           |                                            |
| `--scopes LIST`        | Request a comma-separated OAuth scope set         |           |                                            |
| `--replace`            | Rebuild an existing same-named registration       |           |                                            |
| `--callback-port PORT` | Set the registered Claude Code callback port      |           |                                            |
| \`--scope local        | user                                              | project\` | Select the Claude Code configuration scope |
| `--cursor-config PATH` | Override the Cursor `mcp.json` location           |           |                                            |

By default, the installer requests all currently supported scopes so the
client can discover the complete tool set after the OAuth consent step. Use
`--scopes` to request a smaller set; the Jogg authorization page remains the
place where the user reviews and approves the requested access.

For a custom deployment, `--url`, `--client-id`, redirect URI, and OAuth
resource must all match its server configuration.

## Credential safety

The installer does not accept API keys, bearer tokens, client secrets, access
tokens, or refresh tokens. Do not put credentials in command arguments, source
control, MCP JSON files, screenshots, or support requests.

Continue with [Authentication and Scopes](/mcp/authentication) before enabling
write or generation tools.
