关于 shellquote-mcp
shellquote-mcp 是为 bash、cmd.exe 和 PowerShell 转义 Shell 参数的 MCP 服务,适用于需要在命令生成过程中保留参数原文的 Agent 与开发者。
主要功能
- 01为 bash、sh 和 zsh 参数加引号
- 02转义并拼接 bash 参数列表
- 03为 cmd.exe 参数加引号
- 04为 PowerShell 字符串加引号
适用场景
- 01安全传递含空格的参数
- 02保留字面美元符号和反斜杠
- 03处理 bash 中的内嵌单引号
- 04为 Windows Shell 准备参数
MCP 相关
向 MCP 客户端提供 Shell 引号处理工具,支持 bash、cmd.exe 和 PowerShell 参数。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| arg | string | 是 |
详细介绍
@mukundakatta/shellquote-mcp
用于安全转义 shell 参数的 MCP 服务。避免 LLM 生成的 shell 命令因引号、空格、$VAR 插值和反斜杠而出错(或引发更严重的问题)。
工具
quote_bash(arg)— 为 bash/sh/zsh 转义单引号,禁止展开所有元字符。quote_bash_argv(args)— 转义参数列表并以空格连接。quote_cmd(arg)— 适用于 Windows cmd.exe(注意:cmd 有些延迟展开问题无法解决)。quote_powershell(arg)— 单引号括起的 PS 字符串。
为什么需要它
LLM 经常会把 shell 转义弄错:
bash -c "echo $HOME"会插值变量,而不是按字面传递cmd /c "del file.txt"会在文件名包含空格时出错- 在 bash 中,嵌入单引号需要使用 LLM 容易忘记的复杂
'\''写法
此工具会返回 shell 可原样接受的字符串,不会意外触发元字符。
安装 — Claude Desktop
{
"mcpServers": {
"shellquote": { "command": "npx", "args": ["-y", "@mukundakatta/shellquote-mcp"] }
}
}
Cursor / Cline / Windsurf / Zed 的配置方式相同。
许可证
MIT OR Apache-2.0。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。