MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

MCP Server for CC Switch - Provider management for Claude Code, Codex, Gemini CLI, OpenCode & OpenClaw

Created 4/4/2026
Updated about 19 hours ago
Repository documentation and setup instructions

CC Switch MCP Server

npm version License: MIT GitHub

English | 简体中文

Standalone MCP Server for CC Switch - providing provider management capabilities for Claude Code, Codex, Gemini CLI, OpenCode, and OpenClaw.

Key Features:

  • 🚀 Built with CC Switch's core library for identical behavior
  • 🔄 Automatic config file synchronization
  • 💾 Direct database access to CC Switch's SQLite database
  • 🪶 No Tauri dependencies - lightweight binary
  • 🤝 Works alongside CC Switch desktop app

Installation

From NPM

npm install -g @imvhb/cc-switch-mcp-server

From Source

git clone https://github.com/VirtualHotBar/cc-switch-mcp.git
cd cc-switch-mcp
cargo build --release --no-default-features

The binary will be at target/release/cc-switch-mcp (Linux/macOS) or target/release/cc-switch-mcp.exe (Windows).

Usage

Configure with Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "cc-switch": {
      "command": "cc-switch-mcp"
    }
  }
}

Configure with OpenCode

Add to your OpenCode configuration (~/.config/opencode/config.json):

{
  "mcp": {
    "servers": {
      "cc-switch": {
        "command": "cc-switch-mcp"
      }
    }
  }
}

Configure with Gemini CLI

Add to your Gemini configuration (~/.gemini/settings.json):

{
  "mcpServers": {
    "cc-switch": {
      "command": "cc-switch-mcp"
    }
  }
}

Available Tools

| Tool | Description | |------|-------------| | list_providers | List all providers for a CLI tool with their configurations | | get_current_provider | Get the currently active provider for a CLI tool | | switch_provider | Switch to a specific provider (auto-syncs config files) | | add_provider | Add a new provider with specified configuration | | delete_provider | Delete a provider by ID | | sync_current_to_live | Sync current provider settings to live config files | | get_custom_endpoints | Get list of custom endpoints for a provider |

Example Usage

List Providers

{
  "tool": "list_providers",
  "arguments": {
    "app": "claude"
  }
}

Response:

{
  "app": "claude",
  "providers": [
    {
      "id": "default",
      "name": "default",
      "isCurrent": false,
      "settingsConfig": { ... }
    },
    {
      "id": "my-provider",
      "name": "My Provider",
      "isCurrent": true,
      "settingsConfig": { ... }
    }
  ],
  "currentProviderId": "my-provider",
  "total": 2
}

Switch Provider

{
  "tool": "switch_provider",
  "arguments": {
    "app": "claude",
    "providerId": "my-provider"
  }
}

Response:

{
  "success": true,
  "app": "claude",
  "providerId": "my-provider",
  "configSynced": true,
  "warnings": []
}

Add Provider

{
  "tool": "add_provider",
  "arguments": {
    "app": "claude",
    "name": "My API",
    "baseUrl": "https://api.example.com",
    "apiKey": "sk-xxx",
    "model": "claude-3-sonnet"
  }
}

Supported Apps

| App | Config File | Description | |-----|-------------|-------------| | Claude Code | ~/.claude.json | Anthropic's CLI tool | | Codex | ~/.codex/config.toml | OpenAI's Codex CLI | | Gemini CLI | ~/.gemini/settings.json | Google's Gemini CLI | | OpenCode | ~/.config/opencode/config.json | OpenCode CLI | | OpenClaw | ~/.openclaw/config.json | OpenClaw CLI |

Architecture

This MCP server uses CC Switch's actual core library (cc_switch_lib) compiled without Tauri GUI support:

┌─────────────────────┐
│   MCP Protocol      │
│   (JSON-RPC 2.0)    │
└─────────┬───────────┘
          │
┌─────────▼───────────┐
│   cc-switch-mcp     │
│   (This Server)     │
└─────────┬───────────┘
          │
┌─────────▼───────────┐
│   cc_switch_lib     │
│   (Core Library)    │
│  - ProviderService  │
│  - Database         │
│  - Config Sync      │
└─────────────────────┘

This ensures identical behavior with the CC Switch desktop app.

Database

The server reads directly from the CC Switch SQLite database:

  • Location: ~/.cc-switch/cc-switch.db
  • Compatible: Fully compatible with the desktop app
  • Safe: Can be used alongside CC Switch desktop

Development

# Run in development mode with logging
RUST_LOG=debug cargo run --no-default-features

# Build release
cargo build --release --no-default-features

# Run tests
cargo test --no-default-features

License

MIT

Credits

Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/VirtualHotBar/cc-switch-mcp
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "virtualhotbar-cc-switch-mcp": { "command": "git", "args": [ "clone", "https://github.com/VirtualHotBar/cc-switch-mcp" ] } } }