Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 18 additions & 27 deletions mission-control/docs/guide/mcp/client-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -86,37 +86,28 @@ Claude Desktop supports MCP connections through its configuration file.
</TabItem>
<TabItem value="claude-code" label="Claude Code">

Claude Code (claude.ai) supports MCP through browser-based configuration.
Claude Code CLI supports MCP through the `.mcp.json` configuration file.

### Setup Steps

1. Visit [claude.ai](https://claude.ai)
2. Click on your profile icon → Settings
3. Navigate to Developer → MCP Settings
4. Click "Add Server" and configure:

```json
{
"name": "mission-control",
"type": "http",
"url": "https://mc.<org-id>.workload-prod-eu-02.flanksource.com/mcp",
"headers": {
"Authorization": "Basic YOUR_TOKEN_HERE"
1. Create or edit the `.mcp.json` file in your project root or home directory
2. Add the Mission Control MCP server configuration:
```json title=".mcp.json"
{
"mcpServers": {
"mission-control": {
"name": "mission-control",
"type": "http",
"url": "https://mc.<org-id>.workload-prod-eu-02.flanksource.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN_HERE"
}
Comment on lines +102 to +104
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, let's check if the file exists and read the relevant sections
find . -name "client-setup.mdx" -type f

Repository: flanksource/docs

Length of output: 109


🌐 Web query:

Claude Code MCP configuration .mcp.json authorization Bearer Basic auth requirements

💡 Result:

Short answer — .mcp.json supports setting HTTP/SSE auth via headers (you supply an Authorization header). You can use Bearer tokens or Basic auth as normal HTTP headers.

Examples from Anthropic docs:

  • .mcp.json headers accept arbitrary headers, e.g. "Authorization": "Bearer ${API_KEY}". Use environment expansion for secrets. [1]
  • MCP HTTP/SSE servers are configured with a "type":"sse" or "url" and a "headers" object where you place Authorization. Basic auth would be supplied as "Authorization": "Basic <base64(user:pass)>". [2]

Minimal example (.mcp.json):
{
"mcpServers": {
"api-server": {
"type": "sse",
"url": "https://api.example.com/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}

Notes:

  • Prefer injecting secrets via environment variables (variable expansion supported). [1]
  • If you need interactive OAuth flows, use the /mcp CLI auth helpers described in the docs. [1]

Sources:
[1] Anthropic — Connect Claude Code to tools via MCP (docs).
[2] Anthropic — MCP in the SDK (docs).


🌐 Web query:

Claude Code .mcp.json server configuration authentication header format

💡 Result:

Claude Code accepts authentication headers in .mcp.json either as a headers object (map) or as an array of header strings. Example formats:

  • Object form:
    {
    "mcpServers": {
    "api-server": {
    "type": "http",
    "url": "https://api.example.com/mcp",
    "headers": {
    "Authorization": "Bearer ${API_KEY}"
    }
    }
    }
    }
    [1]

  • Array-of-strings form:
    {
    "mcpServers": {
    "netdata": {
    "type": "http",
    "url": "http://host:19999/mcp",
    "headers": [
    "Authorization: Bearer ${NETDATA_API_KEY}"
    ]
    }
    }
    }
    [2]

Note: there is an open issue reporting that Claude Code may ignore headers in some releases (causing OAuth discovery to be attempted instead), so if headers don't take effect check your Claude Code version and related GitHub issue threads. [3]

Sources: [1] Claude Code docs; [2] Netdata/guide showing array format; [3] GitHub issue reporting headers ignored.


🏁 Script executed:

# Read the file to see the actual content and context around lines 102-104
cat -n ./mission-control/docs/guide/mcp/client-setup.mdx | sed -n '90,110p'

Repository: flanksource/docs

Length of output: 781


🏁 Script executed:

# Also check the Prerequisites section mentioned (lines 29-33)
cat -n ./mission-control/docs/guide/mcp/client-setup.mdx | sed -n '25,40p'

Repository: flanksource/docs

Length of output: 776


🏁 Script executed:

# Check other client tabs for comparison
cat -n ./mission-control/docs/guide/mcp/client-setup.mdx | sed -n '70,80p'
cat -n ./mission-control/docs/guide/mcp/client-setup.mdx | sed -n '135,145p'

Repository: flanksource/docs

Length of output: 679


🏁 Script executed:

# Check if there are more sections discussing other clients to see auth patterns
cat -n ./mission-control/docs/guide/mcp/client-setup.mdx | grep -A 10 "Authorization"

Repository: flanksource/docs

Length of output: 2927


🏁 Script executed:

# Check the full file length and structure
wc -l ./mission-control/docs/guide/mcp/client-setup.mdx

Repository: flanksource/docs

Length of output: 113


Fix authentication type mismatch in Claude Code section: Bearer should be Basic.

The Claude Code section (line 103) uses Bearer authentication, but the Prerequisites (lines 29-33) explicitly define the generated token as a Basic token that requires base64 encoding. All other client examples also use Basic auth. This inconsistency will cause authentication failures for users following the documented setup flow.

Change line 103 from:

"Authorization": "Bearer YOUR_TOKEN_HERE"

to:

"Authorization": "Basic YOUR_TOKEN_HERE"
🤖 Prompt for AI Agents
In `@mission-control/docs/guide/mcp/client-setup.mdx` around lines 102 - 104,
Update the Claude Code example's Authorization header to use Basic auth instead
of Bearer: change the "Authorization" header value in the Claude Code section
from "Bearer YOUR_TOKEN_HERE" to "Basic YOUR_TOKEN_HERE" so it matches the
Prerequisites' generated base64 token and the other client examples; ensure the
example uses the same token format described earlier.

}
}
}
}
```

5. Click "Save" and refresh the page
6. Mission Control tools will be available in new conversations

### Alternative Setup (via URL)

You can also connect by visiting:
```
https://claude.ai/settings/mcp?server=mission-control&url=https://mc.<org-id>.workload-prod-eu-02.flanksource.com/mcp
```

Then add your authorization token in the settings.
```
3. Save the file and restart Claude Code
4. Mission Control tools will be available in your sessions

</TabItem>
<TabItem value="vscode-copilot" label="VS Code Copilot">
Expand Down