MCP优化工具

用于MCP服务器健康诊断、使用分析、项目范围界定和按需技能转换的Claude Code插件。

  • by choam2426
  • Python
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 choam2426/mcp-optimizer

使用说明

mcp优化器

市场就绪的Claude Code插件,用于MCP诊断、使用分析、项目范围界定和按需技能转换。

mcp-optimizer 帮助您回答四个不同的问题:

  1. 我的MCP服务器是否正常?
  2. 哪些服务器实际上在浪费代币?
  3. 我应该保留MCP,但将其范围扩大到这个项目吗?
  4. 我是否应该将重型MCP服务器转换为本地按需技能?

它同时运送:

  • 中的显式插件命令 commands/
  • 匹配捆绑技能 skills/

每 /mcp-optimizer:* 命令是一个精简的入口点,它委托给相应的捆绑技能,因此工作流逻辑保持在一个地方。

为什么存在

当MCP服务器连接到克劳德码时, 它的工具模式被加载到每个对话中 无论你是否使用它们。

场景 代币成本
线性MCP(31个工具) ~3000+令牌/对话
GitHub MCP(20+工具) ~2000+令牌/对话
已连接3台MCP服务器 ~6500+个令牌/对话
仅在需要时使用本地技能 ~0个空闲令牌

这造成了三个常见问题:

  • 大型MCP模式即使在空闲时也会浪费令牌。
  • 损坏或重复的服务器会污染上下文并减慢会话速度。
  • 全局MCP配置通常比单个项目所需的范围更广。

安装

来自GitHub(推荐)

  1. 将此存储库添加为市场。

    /plugin marketplace add choam2426/mcp-optimizer
    
  2. 安装插件。

    /plugin install mcp-optimizer
    
  3. 如果系统提示,请重新启动Claude Code,然后验证安装。

    /help
    

来自另一个市场

如果 mcp-optimizer 包含在现有市场中:

/plugin marketplace add your-org/claude-plugins
/plugin install mcp-optimizer@your-org

组件概览

命令 类别 用于 主要输入 是否写入文件?
/mcp-optimizer:mcp-doctor 诊断 检查服务器运行状况、重复项和凭据 --server, --fix 没有
/mcp-optimizer:mcp-audit 分析 测量实际会话使用中的令牌浪费 --scope 没有
/mcp-optimizer:mcp-optimize 优化 在本地创建一个较小的项目 .mcp.json --dry-run, --min-sessions 是,确认后
/mcp-optimizer:mcp-to-skills 转换 将MCP服务器转换为本地按需技能 <server-command> 是,创建 .claude/skills/...

推荐工作流程

  1. 从诊断开始:

    /mcp-optimizer:mcp-doctor
    
  2. 服务器健康后,测量实际浪费:

    /mcp-optimizer:mcp-audit
    
  3. 选择适合您目标的执行路径:

    • 保留MCP,但仅限于此项目:

      /mcp-optimizer:mcp-optimize
      
    • 将重型服务器转换为按需本地技能:

      /mcp-optimizer:mcp-to-skills npx @linear/mcp-server
      

重要的区别是:

  • mcp-doctor 是一个 诊断命令,而不是优化命令。
  • mcp-audit 是一个 分析命令 那个告诉你废物是从哪里来的。
  • mcp-optimize 和 mcp-to-skills 是 实际优化路径.

命令参考

诊断: /mcp-optimizer:mcp-doctor

使用 mcp-doctor 当您想在更改任何内容之前检查MCP服务器运行状况时。

它的作用:

  • 测试配置的MCP服务器
  • 测量响应时间
  • 跨服务器查找重复的工具名称
  • 标记丢失或可疑的凭据
  • 提出具体的补救措施

命令形式:

/mcp-optimizer:mcp-doctor [--server <name>] [--fix]

论据:

参数 含义 默认值
--server <name> 仅检查一个已配置的MCP服务器 检查所有已配置的服务器
--fix 在报告中包含具体的补救命令 关闭

默认行为:

  • 作为只读健康检查运行。
  • 不会修改您的配置。
  • 如果 --fix 如果存在,它会建议命令或后续操作,但仍然不会自动编辑任何内容。

期待什么:

  • 服务器健康报告
  • 响应时间
  • 重复工具发现
  • 缺少凭据警告
  • 推荐下一步,通常 /mcp-optimizer:mcp-audit 问题解决后

示例:

/mcp-optimizer:mcp-doctor
/mcp-optimizer:mcp-doctor --server github
/mcp-optimizer:mcp-doctor --fix

分析: /mcp-optimizer:mcp-audit

使用 mcp-audit 在决定保留、删除、限定范围或转换什么之前,您需要有关令牌浪费的证据。

它的作用:

  • 读取Claude Code会话历史记录
  • 每台服务器架构开销估计
  • 显示哪些工具被使用过,哪些工具从未使用过
  • 排名优化机会
  • 为高浪费服务器建议转换命令

命令形式:

/mcp-optimizer:mcp-audit [--scope project|all]

论据:

参数 含义 默认值
--scope project 仅分析当前项目的会话 是
--scope all 分析Claude可以检查的所有项目的会话 否

默认行为:

  • 如果没有提供范围, project 使用范围。
  • 该命令仅分析可用的会话历史记录。它不会修改配置或生成的技能。

期待什么:

  • MCP服务器对令牌浪费进行排名
  • 估计废物总量
  • 未使用刀具比率
  • 建议 /mcp-optimizer:mcp-optimize 和 /mcp-optimizer:mcp-to-skills

示例:

/mcp-optimizer:mcp-audit
/mcp-optimizer:mcp-audit --scope project
/mcp-optimizer:mcp-audit --scope all

优化: /mcp-optimizer:mcp-optimize

使用 mcp-optimize 当您仍然需要MCP,但不是每个全局服务器都应该加载到此项目中时。

它的作用:

  • 分析哪些服务器与当前项目相关
  • 建议在当地减少项目 .mcp.json
  • 估计代币节省
  • 仅在确认后写入文件

命令形式:

/mcp-optimizer:mcp-optimize [--dry-run] [--min-sessions <N>]

论据:

参数 含义 默认值
--dry-run 无需书写即可显示优化计划 .mcp.json 安全规划行为
--min-sessions <N> 至少需要 N 在提出更有力的建议之前 5

默认行为:

  • 将优化视为计划优先的工作流程。
  • 显示建议 .mcp.json 在写作之前。
  • 仅在本地写入项目 .mcp.json.
  • 从不修改全局Claude配置,例如 ~/.claude.json.

期待什么:

  • 保留/删除每个MCP服务器的推荐
  • 每次会议的预计节省
  • 完全提议 .mcp.json
  • 写作前的确认步骤

示例:

/mcp-optimizer:mcp-optimize
/mcp-optimizer:mcp-optimize --dry-run
/mcp-optimizer:mcp-optimize --min-sessions 10

转换: /mcp-optimizer:mcp-to-skills

使用 mcp-to-skills 当服务器有很多工具,但你只需要按需使用其中的几个。

它的作用:

  • 检查目标MCP服务器
  • 读取工具模式
  • 为每个工具生成一个本地克劳德代码技能
  • 默认为代理模式,除非本机模式明显更好

命令形式:

/mcp-optimizer:mcp-to-skills <server-command>

论据:

参数 含义 必填
<server-command> 用于检查和转换的MCP服务器命令,例如 npx @linear/mcp-server 是的

默认行为:

  • 需要一个具体的MCP服务器命令。
  • 将生成的本地技能写入 .claude/skills/.
  • 默认情况下,首选代理模式。

期待什么:

  • 检测到的服务名称
  • 生成技能目录
  • 按工具描述
  • 生成技能的自然语言请求示例

示例:

/mcp-optimizer:mcp-to-skills npx @linear/mcp-server
/mcp-optimizer:mcp-to-skills uvx mcp-server-gitlab

指挥与技能

此插件以两种形式公开相同的工作流:

  • commands/:显式用户调用的命令,如 /mcp-optimizer:mcp-audit
  • skills/:捆绑的技能Claude可以从自然语言请求中自动发现

在此存储库中:

  • 该命令是公共显式入口点
  • 匹配技能是规范的工作流实现
  • 该命令将任务委托给匹配的技能,而不是重复指令

这意味着您可以:

  • 直接调用该命令,或
  • 用自然语言提问,让克劳德发现捆绑的技能

培养当地技能

/mcp-optimizer:mcp-to-skills 培养当地技能 .claude/skills/.

要点:

  • 生成的本地技能是 不 命名空间为 /mcp-optimizer:*.
  • 它们是您的项目或工作树的独立本地技能。
  • 当用户用自然语言请求工作流时,Claude应该发现它们。

转换后的请求示例:

List open Linear issues for the Engineering team

示例场景

情境 开始 为什么
“我想我的一台MCP服务器坏了” /mcp-optimizer:mcp-doctor 优化前诊断健康状况
“我想知道代币浪费从哪里来” /mcp-optimizer:mcp-audit 测量实际使用和浪费
“此项目不应加载每个全局MCP服务器” /mcp-optimizer:mcp-optimize 保留MCP,但在本地范围内
“这台服务器太重了,但我仍然需要一些工具” /mcp-optimizer:mcp-to-skills 将工具转化为本地按需技能

要求和注意事项

  • Python 3.10+
  • Claude Code已安装并正在运行
  • 使用时,MCP服务器环境变量必须已经可用 mcp-doctor 或 mcp-to-skills
  • mcp-audit 取决于可用的Claude Code会话历史记录
  • mcp-optimize 仅在本地编写项目 .mcp.json

许可证

麻省理工学院