命令行MCP服务器
](https://badge.fury.io/py/cmd-line-mcp) ](https://pypi.org/project/cmd-line-mcp/) 
一个允许AI助手安全运行终端命令的MCP服务器。命令被分类(读/写/系统),目录被列入白名单,危险模式被自动阻止。
______________________________________________________________________
快速开始
pip install cmd-line-mcp
# Or from source
git clone https://github.com/andresthor/cmd-line-mcp.git
cd cmd-line-mcp
pip install -e .运行服务器:
cmd-line-mcp # default config
cmd-line-mcp --config config.json # custom config______________________________________________________________________
Claude桌面设置
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"cmd-line": {
"command": "/path/to/venv/bin/cmd-line-mcp",
"args": ["--config", "/path/to/config.json"],
"env": {
"CMD_LINE_MCP_SECURITY_REQUIRE_SESSION_ID": "false",
"CMD_LINE_MCP_SECURITY_AUTO_APPROVE_DIRECTORIES_IN_DESKTOP_MODE": "true"
}
}
}
}保存后重新启动Claude Desktop。
\[!提示\] 集 require_session_id: false 以防止Claude Desktop中的审批循环。______________________________________________________________________
运作原理
命令在执行前会经过验证管道:
- 模式匹配 --阻止危险建筑(
system()、外壳脱落等) - 命令分类 --每个命令都必须在读、写、系统或阻止列表中
- 目录检查 --目标目录必须列入白名单或获得会话批准
- 审批检查 --写/系统命令需要会话批准
管道、分号和 & 每个分段都是独立验证的。
什么是允许的
| 类别 | 命令 | 批准 |
|---|---|---|
| 阅读 | ls, cat, grep, find, head, tail, sort, wc,… | 自动 |
| 写 | cp, mv, rm, mkdir, touch, chmod, awk, sed,… | 必填 |
| 系统 | ps, ping, curl, ssh, xargs,… | 必填 |
| 已屏蔽 | sudo, bash, sh, python, eval,… | 总是被拒绝 |
什么被封锁了
shell、脚本解释器和已知的命令执行向量被阻止,包括通过以下方式的间接执行 awk system(), sed /e, find -exec, tar --checkpoint-action, env,以及 xargs。参见 docs/SECURITY.md 查看完整列表。
______________________________________________________________________
配置
服务器使用合理的默认值即可开箱即用。通过JSON配置、环境变量或 .env 文件夹:
# Whitelist directories
export CMD_LINE_MCP_SECURITY_WHITELISTED_DIRECTORIES="/projects,/var/data"
# Add commands (merges with defaults)
export CMD_LINE_MCP_COMMANDS_READ="jq,rg"看 docs/CONFIGURATION.md 有关完整的配置参考、MCP工具文档和目录安全详细信息。
______________________________________________________________________
许可证
麻省理工学院
