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

> ## Agent Instructions
> You are reading OnlyX Help: the OnlyX Help Center and the OnlyX developer documentation. OnlyX is an AI chatting and CRM platform for OnlyFans agencies. Its AI chatter is called Hugo in the app.
> Pages at the site root (for example /inbox/..., /hugo/..., /billing/...) are Help Center articles for agency owners, admins, chatters and creators who use the app at app.onlyx.ai. Words in bold are the exact button, menu and label names the app shows; keep them exactly as written. When these pages do not answer a question, the person can email support at support@onlyx.ai.
> Pages under /developers are the developer documentation. REST API base URL: https://api.onlyx.ai/v1 (authenticate with `Authorization: Bearer <API key>`; keys start with onx_sk_ and are created in app.onlyx.ai under Settings > API & MCP). MCP server: https://mcp.onlyx.ai/mcp (OAuth, or a Bearer API key). In the API the AI chatter is `ai` on the wire. Money is integer US cents in fields ending in Cents; timestamps are UTC ISO-8601.
> Rules for assistants acting on a user's behalf: discover ids with list calls and never invent them; before any call that reaches a real fan or the live OnlyFans account (sending a message, releasing a chat to the AI, turning AI on for a chat, resolving a hand-off, turning review mode off, changing the welcome message, creating a tracking link) show the user the exact content and get explicit confirmation; send every POST with an Idempotency-Key and reuse it on retry; never resend a message whose delivery status is unconfirmed; never ask a creator for her OnlyFans password or codes - she signs in herself through a connect link and the OnlyX Login app.

# Other clients

> Connect OnlyX to Windsurf, Gemini CLI, OpenAI Codex, or any MCP client with a JSON configuration and a Bearer header.

Any client that supports **remote MCP servers over Streamable HTTP** can use OnlyX. You need two things:

| | |
| - | - |
| Server URL | `https://mcp.onlyx.ai/mcp` |
| Authentication | OAuth (the client discovers OnlyX's sign-in automatically), or the header `Authorization: Bearer onx_sk_...` with an API key from Settings → API & MCP |

Clients that support OAuth register themselves with OnlyX automatically; you never need a client ID or secret.

## Windsurf

Windsurf's Cascade agent reads MCP servers from `mcp_config.json`: `~/.codeium/windsurf/mcp_config.json` in classic Windsurf, or `~/.config/devin/mcp_config.json` (`%APPDATA%\devin\mcp_config.json` on Windows) in newer Devin Desktop builds. Open it from Cascade's MCP settings and add:

<Tabs>
  <Tab title="OAuth">
    ```json mcp_config.json theme={"system"}
    {
      "mcpServers": {
        "onlyx": {
          "serverUrl": "https://mcp.onlyx.ai/mcp"
        }
      }
    }
    ```
  </Tab>

  <Tab title="API key">
    ```json mcp_config.json theme={"system"}
    {
      "mcpServers": {
        "onlyx": {
          "serverUrl": "https://mcp.onlyx.ai/mcp",
          "headers": {
            "Authorization": "Bearer ${env:ONLYX_API_KEY}"
          }
        }
      }
    }
    ```
  </Tab>
</Tabs>

Refresh the MCP servers in Cascade. With OAuth, Windsurf opens OnlyX's sign-in the first time.

## Gemini CLI

<Tabs>
  <Tab title="OAuth">
    ```bash theme={"system"}
    gemini mcp add --transport http --scope user onlyx https://mcp.onlyx.ai/mcp
    ```

    Then, inside Gemini CLI, sign in:

    ```text theme={"system"}
    /mcp auth onlyx
    ```
  </Tab>

  <Tab title="API key">
    ```bash theme={"system"}
    gemini mcp add --transport http --scope user \
      --header "Authorization: Bearer $ONLYX_API_KEY" onlyx https://mcp.onlyx.ai/mcp
    ```
  </Tab>
</Tabs>

Without `--scope user`, the server is added to the current project only (`.gemini/settings.json`). In a settings file, use `httpUrl` (not `url`) for OnlyX:

```json ~/.gemini/settings.json theme={"system"}
{
  "mcpServers": {
    "onlyx": {
      "httpUrl": "https://mcp.onlyx.ai/mcp",
      "timeout": 60000
    }
  }
}
```

## OpenAI Codex CLI

<Tabs>
  <Tab title="OAuth">
    ```bash theme={"system"}
    codex mcp add onlyx --url https://mcp.onlyx.ai/mcp
    codex mcp login onlyx
    ```
  </Tab>

  <Tab title="API key">
    ```toml ~/.codex/config.toml theme={"system"}
    [mcp_servers.onlyx]
    url = "https://mcp.onlyx.ai/mcp"
    bearer_token_env_var = "ONLYX_API_KEY"
    ```

    Codex sends `Authorization: Bearer <value of ONLYX_API_KEY>`. Set the variable before starting Codex.
  </Tab>
</Tabs>

In the Codex interface, `/mcp` lists connected servers.

## Any other client

Most clients accept a JSON block like this. Adjust the key names to your client (`url`, `serverUrl` or `httpUrl`; `mcpServers` or `servers`):

```json theme={"system"}
{
  "mcpServers": {
    "onlyx": {
      "type": "http",
      "url": "https://mcp.onlyx.ai/mcp",
      "headers": {
        "Authorization": "Bearer onx_sk_..."
      }
    }
  }
}
```

Leave out `headers` if your client supports OAuth for remote servers. If your client only supports local (stdio) servers, it cannot connect to OnlyX directly yet.

## Test the server yourself

When a client will not connect, check the server and your key directly. This sends an MCP `initialize` request:

```bash theme={"system"}
curl -i https://mcp.onlyx.ai/mcp \
  -H "Authorization: Bearer $ONLYX_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl-test","version":"1.0"}}}'
```

* `200` with a `result` naming the OnlyX server: the server and your key work; the problem is in the client's configuration.
* `401`: the credential was not accepted. Check the key, or sign in again. OnlyX's `401` carries a `WWW-Authenticate` header pointing to its sign-in metadata, which is how OAuth clients find the login page.
* `403`: the request came from a browser page OnlyX does not recognize. Connect from the client itself.

To browse the tools interactively, run the MCP Inspector with `npx @modelcontextprotocol/inspector`, choose **Streamable HTTP**, enter `https://mcp.onlyx.ai/mcp`, and either sign in with OAuth or add your key as a Bearer token.

## Next

* [Using OnlyX with Claude and other assistants](/developers/guides/using-with-claude): recipes that work in any client.
* [Tools](/developers/mcp/tools): every tool.
