Source: https://manu-tests-all-orgs.docs-staging.pageloop.ai/mcp-tools/connect-your-client/overview

# Overview

## Connect Your MCP Client

The Atomicwork MCP server uses **streamable HTTP** transport and can be connected from any MCP-compatible client.

### Server URL

```
https://<your-subdomain>.atomicwork.com/mcp
```

Replace `<your-subdomain>` with your Atomicwork tenant subdomain.

### Authentication

All requests require a bearer token passed in the `Authorization` header — for example, `Authorization: Bearer aw_xxx`. You can generate a token from **Settings > API Keys** in your Atomicwork dashboard.

### Supported Clients

| Client                                              | Transport                     | Config Format                |
| --------------------------------------------------- | ----------------------------- | ---------------------------- |
| [Claude Code](/mcp-tools/connect/claude-code)       | HTTP (native)                 | `.mcp.json` or CLI command   |
| [Claude Desktop](/mcp-tools/connect/claude-desktop) | stdio (via mcp-remote bridge) | `claude_desktop_config.json` |
| [Cursor](/mcp-tools/connect/cursor)                 | HTTP (native)                 | `.cursor/mcp.json`           |
| [VS Code / Copilot](/mcp-tools/connect/vs-code)     | HTTP (native)                 | `.vscode/mcp.json`           |
| [OpenAI Codex](/mcp-tools/connect/codex)            | HTTP (native)                 | `~/.codex/config.toml`       |

### Keeping Your Token Out of Config Files

Many clients let you reference your token from outside the config file so you don't hardcode it — but the exact syntax varies by client (for example, `${env:ATOMICWORK_TOKEN}` in Claude Code and Cursor, or a `${input:...}` prompt in VS Code). See each client's page for the supported form. A common pattern is an environment variable:

```bash
export ATOMICWORK_TOKEN="aw_xxx"
```

Then reference it in your config — for example, `"Authorization": "Bearer ${env:ATOMICWORK_TOKEN}"`.
