Connect your assistant
Add Pilot to Claude, Claude Code, ChatGPT, Codex, Cursor, VS Code or any MCP client, by hand or with the Pilot CLI, authorize access, and remove it.
Add Pilot as a remote MCP server, at https://app.pilot.braike.com/mcp. The connection uses OAuth: on first use, your assistant opens a Pilot page where you choose the workspace to share and what the assistant may do. No key to copy.
| Setting | Value |
|---|---|
| Server address | https://app.pilot.braike.com/mcp |
| Transport | Streamable HTTP |
| Authentication | OAuth 2.1 with PKCE and automatic client registration; access key for tools that cannot sign in on their own |
| Access level | Read-only |
Your workspace address
Each workspace console also gives an address specific to the workspace, https://app.pilot.braike.com/mcp/<workspace id>. It locks the authorization to that workspace: handy for an agency that connects one workspace per client. With the universal address, you choose the workspace when you authorize access.
With the Pilot CLI
From a terminal, one command makes most of this page's settings for you:
npx @braike/pilot setupIt finds the assistants installed on your computer (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Codex, Gemini CLI) and registers Pilot in them, with a dated copy of each configuration before changing it. --client <name> targets a single assistant, --dry-run shows the change without writing anything. You then authorize access on the same screen, described below. Each section gives its assistant's command; every command is on The Pilot CLI.
The authorization screen
On the first call, your assistant opens the "… is requesting access to Pilot" page on app.pilot.braike.com. Sign in to Pilot if needed, then:
- Shared workspace: choose the workspace the assistant may read. With a workspace address, it is already chosen.
- What the assistant can do: Read. In a Pilot MCP workspace, it is the only level offered: the screen says under the other levels that your plan is read-only.
- Click Allow read access. Pilot sends you back to your assistant.
The application name shown is the one it declares: Pilot says so when it cannot verify it. Deny if you did not start the connection yourself. If your assistant accesses are all used, the screen says so: remove one from Manage AI accesses before authorizing the new one.
Claude (claude.ai and Claude Desktop)
A connector added on claude.ai also works in Claude Desktop and in the mobile app: it belongs to your Claude account.
Add the connector. In Claude, open Customize then Connectors, click + Add then Add custom connector.
Name and address. Name it Pilot, paste https://app.pilot.braike.com/mcp and click Continue.
Authentication. Keep OAuth. Under OAuth client, choose Register automatically: Pilot registers Claude's client itself. Click Add.
Authorize. Connect the connector, then approve Pilot's authorization page.
Use it. In a conversation, open the + button, then Connectors, and turn Pilot on.
- Team and Enterprise plans: an owner of the organization first adds the connector in Organization settings, Connectors, Add, Custom, Web. Each member then connects it from Customize, Connectors.
- Free plan: Claude limits the free plan to one custom connector.
- Remove: Customize, Connectors, then Remove or the connector's … menu.
Claude Desktop, with the Pilot CLI. These commands register Pilot in Claude Desktop's configuration as a local server, connected to Pilot through the pilot mcp bridge and signed in by pilot login. Keep either the connector or this local server, not both, so as not to see Pilot twice.
npx @braike/pilot login
npx @braike/pilot setup --client claude-desktopSource: Getting started with custom connectors using remote MCP (Anthropic).
Claude Code
Add the server, then sign in from Claude Code:
claude mcp add --transport http pilot https://app.pilot.braike.com/mcpAdd --scope user to get Pilot in all your projects. Then start Claude Code and type /mcp: sign-in opens in your browser. You can also run claude mcp login pilot from the terminal.
To share a project's configuration, the .mcp.json file at its root:
{
"mcpServers": {
"pilot": {
"type": "http",
"url": "https://app.pilot.braike.com/mcp"
}
}
}- Sign out:
claude mcp logout pilot, or Clear authentication in/mcp. - Remove:
claude mcp remove pilot, which also deletes the tokens kept by Claude Code.
With the Pilot CLI, one command makes this setting, for all your projects; then sign in with /mcp:
npx @braike/pilot setup --client claude-codeSource: Connect Claude Code to tools via MCP (Anthropic).
ChatGPT
ChatGPT adds an MCP server as a plugin.
Open chatgpt.com/plugins, click + then Add custom MCP server.
Give a name (Pilot) and a description. Under Connection, paste https://app.pilot.braike.com/mcp.
Choose OAuth authentication, read the warning then click I understand and want to continue, and finally Create as a plugin. ChatGPT shows the tools Pilot serves.
Install and connect the plugin, approve Pilot's authorization page, then, in a conversation, type @ and choose Pilot.
- Organization accounts: your ChatGPT workspace policies apply. An admin may have to allow custom MCP servers.
- Remove: open the plugin and choose Uninstall plugin, then disconnect Pilot where it was connected.
The Pilot CLI does not set up ChatGPT in the browser; for the desktop app, see Codex and the ChatGPT desktop app.
Sources: Connect and test your plugin and Plugins (OpenAI).
Codex and the ChatGPT desktop app
Codex CLI, its editor extension and the ChatGPT desktop app share the same configuration.
codex mcp add pilot --url https://app.pilot.braike.com/mcp
codex mcp login pilotOr in ~/.codex/config.toml:
[mcp_servers.pilot]
url = "https://app.pilot.braike.com/mcp"In the desktop app: Settings, MCP servers, Add server, choose Streamable HTTP, paste the address, save, restart, then Authenticate.
With the Pilot CLI, one command makes this setting; then sign in with codex mcp login pilot:
npx @braike/pilot setup --client codexSource: Model Context Protocol (OpenAI).
Cursor
Add Pilot to CursorThe button opens Cursor with Pilot already set up. On first use, Cursor opens Pilot's authorization page. To set it up by hand, add Pilot to ~/.cursor/mcp.json (all your projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"pilot": {
"url": "https://app.pilot.braike.com/mcp"
}
}
}- Turn off: in Customize, switch Pilot off without removing it.
- Remove: delete the
pilotentry from themcp.jsonfile.
With the Pilot CLI, one command makes this setting, in ~/.cursor/mcp.json:
npx @braike/pilot setup --client cursorSources: Model Context Protocol and MCP install links (Cursor).
VS Code
Add Pilot to VS CodeThe button opens VS Code with Pilot already set up. To set it up by hand, run the MCP: Add Server command, choose HTTP and paste the address, or add Pilot to .vscode/mcp.json:
{
"servers": {
"pilot": {
"type": "http",
"url": "https://app.pilot.braike.com/mcp"
}
}
}VS Code registers its client with Pilot automatically, then opens sign-in in your browser.
- Manage access: Accounts menu, Manage Trusted MCP Servers.
- Stop or remove: MCP: List Servers command, choose Pilot, then the action you need.
With the Pilot CLI, one command makes this setting, in your user profile (--client vscode-insiders for VS Code Insiders):
npx @braike/pilot setup --client vscodeSources: Add and manage MCP servers in VS Code and MCP developer guide (Microsoft).
Any other MCP client
Any client that speaks MCP over Streamable HTTP connects to https://app.pilot.braike.com/mcp.
- With OAuth. The server answers
401with aWWW-Authenticateheader that points to its protected resource metadata (/.well-known/oauth-protected-resource). The client finds the authorization server there (/.well-known/oauth-authorization-server), registers (/oauth/register), then runs the flow with PKCES256. The challenge asks for themcp:viewer mcp:analystscope, the Read level. - Without OAuth, with an access key. A workspace admin creates a key in the console, For developers block. It starts with
ulys_and is shown only once. The client sends it in theAuthorizationheader:
{
"mcpServers": {
"pilot": {
"url": "https://app.pilot.braike.com/mcp",
"headers": {
"Authorization": "Bearer ulys_example_to_replace"
}
}
}
}A key belongs to one workspace: with the universal address, it opens its workspace. Keep it out of your code repositories and prefer an environment variable.
A client that only speaks stdio runs Pilot as a local program, through the Pilot CLI bridge, pilot mcp. Declare it in the client's configuration:
{
"mcpServers": {
"pilot": {
"command": "npx",
"args": ["-y", "@braike/pilot", "mcp"]
}
}
}The bridge signs in with npx @braike/pilot login, or with an access key given in the PILOT_API_KEY variable; without a sign-in, it opens the sign-in in your browser by itself.
For any other client, npx @braike/pilot setup --client generic prints the configuration to copy. Windsurf (Devin Desktop) and Gemini CLI are also set up with the CLI; in Gemini CLI, then sign in with /mcp auth pilot:
npx @braike/pilot setup --client windsurf
npx @braike/pilot setup --client geminiRemove an access
- From Pilot: on the workspace's Claude & ChatGPT page, Active access block, click Remove. A member removes their own accesses; an admin, all those of the workspace. The assistant can no longer query the workspace from its next call.
- From the assistant: remove the connector or the server, as shown for each client above.
- From the terminal:
npx @braike/pilot remove --client <name>removes Pilot from an assistant's configuration, andnpx @braike/pilot logoutdeletes the token kept by the CLI. - When someone leaves the workspace, their assistants lose access on their next call, and their access keys are revoked on first use.