Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

readme.md

Client Configuration

Configuration for connecting AI clients to the MCP infrastructure.

MCP Config File Locations

Where each client stores its MCP server configuration.

Client Windows macOS
VS Code / Copilot %APPDATA%\Code\User\mcp.json ~/Library/Application Support/Code/User/mcp.json
VS Code Insiders %APPDATA%\Code - Insiders\User\mcp.json ~/Library/Application Support/Code - Insiders/User/mcp.json
Claude Desktop %APPDATA%\Claude\claude_desktop_config.json ~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code ~/.claude/.mcp.json + ~/.claude/settings.local.json same
OpenCode ~/.config/opencode/opencode.json or project opencode.json same
Cline (VS Code) %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json ~/Library/Application Support/Code/User/globalStorage/...
Cline (Standalone) ~/.cline/data/settings/cline_mcp_settings.json same
Kilo Code %APPDATA%\Code\User\globalStorage\kilocode.kilo-code\settings\mcp_settings.json ~/Library/Application Support/Code/User/globalStorage/...
Goose ~/.config/goose/config.yaml same

Connection Patterns

There are two ways clients connect to MCP servers:

1. Via gateway (centralized)

All MCPs behind a single endpoint with auth, RBAC, and metrics. Either agentgateway or mcpx can serve as the gateway.

Endpoint: http://localhost:3847/mcp (or https://localhost:3443/mcp for TLS)

Clients use mcp-remote to bridge stdio to HTTP:

{
  "command": "npx",
  "args": ["--prefer-online", "-y", "mcp-remote", "http://localhost:3847/mcp", "--header", "x-client-id: your-client-name"]
}

Note: Claude Desktop on Windows requires npx.cmd instead of npx.

2. Direct SSE (per-MCP)

Clients connect directly to individual MCP SSE endpoints. Used for MCPs that expose their own SSE server (e.g., qdrant-mcp on :7020).

{
  "command": "npx",
  "args": ["--prefer-online", "-y", "mcp-remote", "http://localhost:7020/servers/qdrant-work/sse"]
}

OpenCode supports SSE natively without mcp-remote:

{
  "type": "remote",
  "url": "http://localhost:7020/servers/qdrant-work/sse",
  "enabled": true
}

Client Identification

When using agentgateway, include an x-client-id header for tracking:

Client Header Value
VS Code Copilot x-client-id: vscode-copilot
Claude Desktop x-client-id: claude-desktop
OpenCode x-client-id: opencode
Cline x-client-id: cline
Kilo Code x-client-id: kilocode
Goose x-client-id: goose

Symlinks

Symlink client config files into this directory for version control. Use ln -s (macOS/Linux) or mklink (Windows, elevated).

Source (actual config) Target (this repo)
{APPDATA}/Code/User/mcp.json copilot/vscode-user.json
{APPDATA}/Claude/claude_desktop_config.json claude/claude_desktop_config.json
{APPDATA}/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json cline/mcp_settings.json
{APPDATA}/Code/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json kilocode/mcp_settings.json
~/.config/goose/config.yaml goose/config.yaml

{APPDATA} = %APPDATA% on Windows, ~/Library/Application Support on macOS.

User Instructions, Agents, and Skills

Shared across Claude Code, OpenCode, and GitHub Copilot via symlinks from a centralized ai repository:

Source (canonical) Target Used by
~/ai/AGENTS.md ~/.claude/CLAUDE.md Claude Code
~/ai/agents/ ~/.claude/agents/ Claude Code
~/ai/skills/ ~/.claude/skills/ Claude Code, OpenCode
~/ai/skills/ ~/.copilot/skills/ GitHub Copilot
~/ai/agents/opencode/ ~/.config/opencode/agent/ OpenCode

This allows:

  • Single source of truth for instructions, agents, and skills across all sessions
  • Version controlled configuration via the ai repository
  • Shared patterns for memory, todo management, sequential thinking, and skill promotion