MCP转CLI工具转换器

将MCP服务器转换为独立的命令行工具,避免上下文膨胀和复杂语法,适用于开发者简化工具使用流程。

  • by nicobailon
  • 本地部署
  • 更新于
在 GitHub 查看 nicobailon/mcp2cli-plugin

使用说明

mcp2cli

Claude Code插件,将MCP服务器转换为独立的CLI工具——没有上下文膨胀,没有复杂的语法。

/mcp2cli chrome-devtools-mcp

快速开始

  1. 安装插件:

    /plugin install nicobailon/mcp2cli-plugin
    
  2. 转换MCP服务器:

    /mcp2cli chrome-devtools-mcp
    
  3. 使用生成的工具:

    chrome-snapshot --help
    chrome-snapshot --selector "#main"
    

问题

MCP工具模式在上下文窗口中打开

在Claude Code中安装MCP服务器时,它们的工具定义将加载到上下文窗口中 在您发送单个消息之前一个拥有20多个工具的服务器可以消耗数千个令牌。这在多台服务器上很快就会加起来。

未主动使用原始mcporter命令

即使有 麦克波特 安装后,Claude Code不会主动使用这些命令,因为:

  • 复杂的100+字符语法容易出错
  • 不 --help 自我发现
  • 感觉“外国”vs本地Bash工具

解决方案

将MCP工具转换为简单、自文档化的CLI脚本。Claude通过Bash获得了相同的功能,但是:

  • 工具模式不会使上下文膨胀(仅在以下情况下加载 --help 被称为)
  • 命令直观且简短
  • 通过以下方式进行自我记录 --help
  • 架构已对齐:脚本名称、参数和文档反映了原始MCP模式——代理获得相同的结构化信息,但每个MCP工具都转换为bash可调用的脚本符号链接,以便于访问
mcporter命令行界面 mcp2cli已生成
100+个字符,试剂不可靠 ~50个字符,可靠
没有 --help 满 --help 举例说明
抽象入口点 一个工具=一个脚本
需要完整路径 Symlinked才能直接调用
未主动使用 克劳德使用可靠
# Before: Complex mcporter command Claude won't use proactively
npx mcporter call --stdio "npx -y chrome-devtools-mcp" chrome-devtools.take_snapshot

# After: Simple script Claude uses reliably
chrome-snapshot --selector "#main"

有关此方法背后的基本原理,请参阅 如果你不需要MCP怎么办? Mario Zechner。

运作原理

这是一个 仅提示插件--没有可执行代码,只有Claude的指令:

  1. 你调用 /mcp2cli <package> 或者自然地描述你想要什么
  2. Claude生成了一个子代理,其中包含详细的转换说明
  3. 子代理使用mcporter发现MCP工具
  4. 使用以下命令生成Node.js CLI包装器 --help 支持
  5. 在中创建符号链接 ~/.local/bin 用于直接调用
  6. 将工具注册到 ~/.claude/CLAUDE.md

用法

斜杠命令

/mcp2cli chrome-devtools-mcp
/mcp2cli mcp-server-fetch
/mcp2cli @anthropic-ai/some-mcp-server

技能(自动调用)

描述一下你想要什么:

  • “将chrome devtools mcp转换为CLI工具”
  • “使mcp服务器获取代理就绪”
  • “将文件系统MCP包装为bash命令”

输出

生成工具是为了 ~/agent-tools/<server-name>/:

~/agent-tools/chrome-devtools/
├── package.json
├── README.md
├── chrome-snapshot.js
├── chrome-navigate.js
└── chrome-click.js

每个脚本都符号链接到 ~/agent-tools/bin (或 ~/.local/bin 作为后备),没有 .js 扩展,因此Claude可以按名称调用——不需要完整路径:

# Just the symlink name works
chrome-snapshot --help
chrome-navigate --url "https://example.com"

需求

故障排除

问题 修复
找不到mcporter 确保 npx mcporter 作品
发现失败 服务器可能是Python--mcporter自动尝试uvx
不在PATH中的工具 添加 ~/agent-tools/bin 或 ~/.local/bin 到你的路径

鸣谢

许可证

麻省理工学院