---
title: "Connect coding assistants"
description: "Connect Claude Code, Codex, Cursor, VS Code, Windsurf and other MCP clients to Tarkle with an API key and the server address."
---

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

# Connect coding assistants

Coding assistants connect to the Tarkle MCP server at https://mcp.tarkle.com/mcp with an API key sent in the Authorization header. This page gives the setup for each client, how to test the connection, and how to rotate or delete the key. ChatGPT, Claude and Grok sign in through the browser instead and need no key, see [Connect chat assistants](/docs/mcp/connect/chat-assistants).

## Create an API key

Only the owner or an admin of the organization can open the API settings. Go to **Settings > API**, choose **Create**, then enter a **Name** and pick an **Access** value:

- **All workspaces** lets the key reach every workspace of the organization.
- **Only selected workspaces** limits the key to the workspaces you choose.

Tarkle shows the key once, right after you create it. You can copy it again later from the key's menu. Keys have no expiry date, so you delete a key when you no longer need it.

A key can read and change everything in Tarkle for the workspaces it may reach. The key acts as the person who made it, and it works only while that person's account is active. The key cannot make purchases.

A key that predates full access carries a **Legacy** badge. A Legacy key keeps its old, limited permissions and does not open the MCP server, and it cannot be copied. Create a new key for it.

## Set up each client

Every client below sends the key as a bearer token in the Authorization header. Replace `<your-tarkle-key>` with your key, and do not paste a key into a file that others can read.

### Claude Code

Run this command once:

```bash
claude mcp add --transport http tarkle https://mcp.tarkle.com/mcp --header "Authorization: Bearer <your-tarkle-key>"
```

### Codex

Codex reads the key from an environment variable named `TARKLE_MCP_TOKEN`. Set the variable in the shell where you run Codex, then add the server:

```bash
export TARKLE_MCP_TOKEN=<your-tarkle-key>
codex mcp add tarkle --url https://mcp.tarkle.com/mcp --bearer-token-env-var TARKLE_MCP_TOKEN
```

### Cursor

Open **Cursor Settings**, go to **Tools & MCP**, choose **New MCP Server**, and use this configuration:

```json
{
  "mcpServers": {
    "tarkle": {
      "url": "https://mcp.tarkle.com/mcp",
      "headers": {
        "Authorization": "Bearer <your-tarkle-key>"
      }
    }
  }
}
```

### VS Code (GitHub Copilot)

VS Code uses a top-level `servers` key and requires the `type` to be `http`. Add this to `.vscode/mcp.json` in your project:

```json
{
  "servers": {
    "tarkle": {
      "type": "http",
      "url": "https://mcp.tarkle.com/mcp",
      "headers": {
        "Authorization": "Bearer <your-tarkle-key>"
      }
    }
  }
}
```

### Windsurf

Windsurf uses `serverUrl`. Edit `~/.codeium/windsurf/mcp_config.json`, save the file and restart Windsurf:

```json
{
  "mcpServers": {
    "tarkle": {
      "serverUrl": "https://mcp.tarkle.com/mcp",
      "headers": {
        "Authorization": "Bearer <your-tarkle-key>"
      }
    }
  }
}
```

### Other MCP clients

Any client that supports remote (streamable HTTP) MCP servers with custom headers can connect with the same shape as the Cursor configuration:

```json
{
  "mcpServers": {
    "tarkle": {
      "url": "https://mcp.tarkle.com/mcp",
      "headers": {
        "Authorization": "Bearer <your-tarkle-key>"
      }
    }
  }
}
```

### ChatGPT, Claude and Grok

These apps connect with browser sign-in and need no key. Add a custom connector with the address https://mcp.tarkle.com/mcp, then sign in to Tarkle and approve access when asked. The steps are on [Connect chat assistants](/docs/mcp/connect/chat-assistants).

## Test the connection

Ask the assistant: "List my Tarkle workspaces." A list of workspaces means the connection works. Two answers point to the cause of a failure:

- A `401` with `unauthorized` means the key is wrong, deleted, or a Legacy key.
- A `404` with `MCP_DISABLED` means the MCP server is switched off for now.

The assistant sees only the workspaces the key reaches. A key limited to selected workspaces does not list the others, and it cannot create a workspace: the workspace tool answers with the message "This key is limited to selected workspaces and cannot create a workspace."

## What the assistant can do

The server offers 40 tools for workspaces, files, uploads, sharing, file requests, brand pages, contacts, team folders and members. A key holds all of them, so no tool needs a separate permission. Tools that publish a public link, invite or change people, or create a workspace ask for confirmation first. The first call creates nothing and describes the action, and the assistant asks you before it makes the second call. The full list is on [Tools](/docs/mcp/tools).

## Uploads from your computer

Tarkle treats a key as the kind of client that runs on your computer, so each file an assistant sends follows the per-file limit of your organization's plan. [Uploads](/docs/mcp/uploads) explains how uploads work through the MCP server.

## Rotate or delete a key

To rotate a key, create a new key, put it in your client's configuration or in `TARKLE_MCP_TOKEN`, test the connection, then delete the old key. In **Settings > API**, open the key's menu:

- **Copy token** copies the key again. Only the owner or an admin can copy a key, and a Legacy key cannot be copied.
- **Rename** changes the key's name.
- **Delete** asks you to confirm, then stops the key right away, everywhere it is used.

An agent can read the same setup as plain text at https://tarkle.com/install.md.

## Related pages

- [MCP server](/docs/mcp) gives the overview.
- [Authorization and security](/docs/mcp/authorization) explains how the server checks a key and a person.
- [Troubleshooting](/docs/mcp/troubleshooting) covers the errors you may see.
- [API keys](/docs/get-started/api-keys) explains how keys are made and managed for the API and the MCP server.

Source: https://tarkle.com/docs/mcp/connect/coding-assistants/index.mdx
