MCP开关管理器

用于Claude Code的超轻量级MCP启用/禁用管理器,提供即时切换功能,自动配置同步,减少上下文令牌消耗。

  • by alberduris
  • Shell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 alberduris/mcp-lightswitch

使用说明

MCP灯开关

超轻量级MCP启用/禁用管理器 克劳德代码.像电灯开关一样打开和关闭模型上下文协议服务器-无需麻烦,维护最少。

为什么选择MCP照明开关?

Claude代码加载 启动时所有配置的MCP,即使你没有使用它们,也会消耗大量的上下文标记。MCP Lightswitch通过提供具有自动配置同步的即时启用/禁用功能来解决这个问题。

主要优势:

  • 低维护 -sync命令发现新的MCP
  • 超轻量 -只有基本命令,没有臃肿
  • 友好名称 -使用直观的名称而不是技术MCP名称
  • 动态的 -无需硬编码即可与任何MCP配合使用

快速开始

1.复制文件

将这些文件下载到您的Claude Code项目目录:

  • mcp-manager.sh
  • package.json
  • mcp-configs.json

2.设置

# Make script executable
chmod +x mcp-manager.sh

# Initialize with your existing MCPs (if any)
npm run mcp:sync

3.使用

# Dynamic enable/disable
npm run mcp:enable -- notion
npm run mcp:disable -- github

# Enable all configured MCPs
npm run mcp:all

# Check status
npm run mcp:status

# Sync new MCPs
npm run mcp:sync

运作原理

MCP照明开关保持本地 mcp-configs.json 它充当MCP配置的持久内存。当你:

  1. 安装新的MCP 随着 claude mcp add
  2. 运行同步 随着 npm run mcp:sync
  3. 它会自动发现 并将新的MCP添加到您的配置中

同步 从不删除 配置中的MCP-它只添加新发现的MCP。

配置

基本结构

{
  "mcps": {
    "friendly-name": {
      "name": "actual-mcp-name",
      "command": "-- npx some-mcp-server",
      "transport": "stdio",
      "description": "Human readable description"
    }
  }
}

友好名称

您可以在配置中使用直观的名称:

{
  "mcps": {
    "browser": {                    // ← Friendly name (customizable)
      "name": "playwright-ext",     // ← Real MCP ID (DO NOT change)
      "command": "-- npx @playwright/mcp@latest",
      "transport": "stdio"
    },
    "files": {                      // ← Friendly name (customizable)
      "name": "filesystem",         // ← Real MCP ID (DO NOT change)
      "command": "-- npx -y @modelcontextprotocol/server-filesystem /allowed/path",
      "transport": "stdio"
    }
  }
}

然后使用: npm run mcp:enable -- browser 而不是记住 playwright-ext.

命令

核心命令

npm run mcp:status       # Show active MCPs
npm run mcp:sync         # Discover & add new MCPs
npm run mcp:enable -- <name>   # Enable specific MCP
npm run mcp:disable -- <name>  # Disable specific MCP
npm run mcp:all          # Enable all from config
npm run mcp:disable-all  # Disable all active MCPs

例子

基本工作流程

# Start fresh
npm run mcp:disable-all

# Enable only what you need
npm run mcp:enable -- github
npm run mcp:enable -- browser

# Check what's active
npm run mcp:status

# Add a new MCP to Claude Code
claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

# Sync it to your config
npm run mcp:sync

# Now you can toggle it
npm run mcp:enable -- memory
npm run mcp:disable -- memory

配置示例

看 mcp-configs.example.json 以下是一个完整的流行MCP示例:

  • GitHub(存储库访问)
  • 记忆(持久知识)
  • 剧作家(浏览器自动化)
  • 概念(工作空间集成)
  • 线性(项目管理)
  • Gmail(电子邮件集成)

技术说明

npm作为脚本运行器

这 package.json 使用npm作为通用脚本运行器,而不是Node.js项目元数据。这是一种常见的模式,因为npm在开发环境中无处不在,提供熟悉的语法(npm run command)、自动补全支持和跨平台兼容性。本质上,使用npm作为非JavaScript项目的“命令菜单”,利用其通用性,而不是创建自定义工具。

克劳德代码vs克劳德桌面

这个工具是 特别是克劳德代码 (CLI/编辑器),而不是Claude Desktop。它们使用不同的MCP存储系统。

许可证

麻省理工学院