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

# Connect a Client

> Add the Nickel MCP server to Claude, Claude Code, Codex, or any MCP client

Most clients connect with a browser sign-in: you paste the server URL, sign in to Nickel, and approve. There is no key to copy or store, and the client renews its own access. Use an [API token](#connect-with-an-api-token) only for a client that can't sign in through the browser, or for one that runs unattended.

<Info>
  **Before you start**: Approving a connection or creating a token takes an **admin** of your Nickel organization. The connection then acts with that admin's permissions — see [Permissions and confirmations](/mcp/permissions).
</Info>

## Connect with a browser sign-in

<Steps>
  <Step title="Add the server to your client">
    Point your client at `https://mcp.nickel.com/mcp`.

    <Tabs>
      <Tab title="Claude">
        In Claude on the web or desktop, open **Settings → Connectors**, choose **Add custom connector**, and paste `https://mcp.nickel.com/mcp` as the URL. Then choose **Connect**.
      </Tab>

      <Tab title="Claude Code">
        ```bash theme={null}
        claude mcp add --transport http nickel https://mcp.nickel.com/mcp --scope user
        ```

        `--scope user` makes Nickel available in every project on your machine. Run `/mcp` in Claude Code and choose **nickel** to start the sign-in.
      </Tab>

      <Tab title="Other MCP clients">
        Most clients read a JSON configuration like this one. Check your client's documentation for where the file lives.

        ```json theme={null}
        {
          "mcpServers": {
            "nickel": {
              "type": "http",
              "url": "https://mcp.nickel.com/mcp"
            }
          }
        }
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Sign in to Nickel">
    Your client opens a browser window on `app.nickel.com`. Sign in the way you usually do. If you're already signed in, Nickel skips straight to the next step.
  </Step>

  <Step title="Allow access">
    Nickel shows which client is asking and which organization it will reach. Choose **Allow access**. The browser hands you back to your client, which is now connected.

    If you see "You do not have the relevant permissions to connect apps", you aren't an admin of the organization. Ask an admin to connect instead.
  </Step>

  <Step title="Try it">
    Ask your assistant something about your account:

    > Which of my invoices are overdue?

    The assistant calls the Nickel tools it needs and answers from your live data. When it wants to change something, it asks you first — see [Permissions and confirmations](/mcp/permissions).
  </Step>
</Steps>

## Connect with an API token

Some clients can't run a browser sign-in, and an agent running unattended has no one to click **Allow access**. For these, create an MCP token in the dashboard and send it with every request.

<Steps>
  <Step title="Create the token">
    In the Nickel dashboard, open **Settings → MCP** and choose **Create token**. Give it a name that says where it will be used, such as "Codex on build server". The dashboard shows the token once — copy it now.

    MCP tokens work only with the MCP server. A REST API token from **Settings → API** doesn't work here, and an MCP token doesn't work with the REST API.

    <Warning>
      A token acts as you, with your permissions, until you revoke it. Anyone holding it can make changes in your account, including paying bills. Store it like a password, and don't commit it to source control.
    </Warning>
  </Step>

  <Step title="Add it to your client">
    Send the token as a bearer token in the `Authorization` header.

    <Tabs>
      <Tab title="Claude Code">
        ```bash theme={null}
        claude mcp add --transport http nickel https://mcp.nickel.com/mcp \
          --header "Authorization: Bearer nkl_your_mcp_token_here" --scope user
        ```
      </Tab>

      <Tab title="Codex">
        Add this to `~/.codex/config.toml`:

        ```toml theme={null}
        [mcp_servers.nickel]
        url = "https://mcp.nickel.com/mcp"
        http_headers = { Authorization = "Bearer nkl_your_mcp_token_here" }
        ```
      </Tab>

      <Tab title="Other MCP clients">
        ```json theme={null}
        {
          "mcpServers": {
            "nickel": {
              "type": "http",
              "url": "https://mcp.nickel.com/mcp",
              "headers": {
                "Authorization": "Bearer nkl_your_mcp_token_here"
              }
            }
          }
        }
        ```
      </Tab>
    </Tabs>
  </Step>
</Steps>

## Disconnect a client

**Settings → MCP** lists every client connected through a browser sign-in under **Connected apps**, and every token under **API tokens**. Choose **Disconnect** or **Revoke** next to the one you want to remove. The client loses access on its next request, and signing in again creates a new connection.

## Where to go next

<Columns cols={2}>
  <Card title="Permissions and confirmations" href="/mcp/permissions" icon="shield-check">
    What the assistant can do, and what it asks you before doing.
  </Card>

  <Card title="Tool reference" href="/mcp/tools" icon="wrench">
    Every tool the server offers.
  </Card>
</Columns>
