mcp舱壁
⚠️ 警告:不要在任何你关心的东西上运行此程序。仅用于开发测试。 ⚠️
MCP服务器,使Claude Desktop能够在本地Windows计算机上运行PowerShell命令。它包括一个可配置的命令黑名单——一个简单的安全措施,你可以调整或删除(如果你喜欢用刀跑步)。
快速入门(克劳德桌面版)
增添 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"mcp-bulkhead": {
"command": "cmd",
"args": ["/c", "npx", "-y", "mcp-bulkhead"],
"env": {
"MCP_BULKHEAD_CONFIG": "C:\\path\\to\\bulkhead.json"
}
}
}
}这 cmd /c Claude Desktop在Windows上启动基于npx的MCP服务器需要包装器。
MCP_BULKHEAD_CONFIG 是可选的——如果省略,服务器将使用内置默认值。
配置
创建JSON配置文件并指向 MCP_BULKHEAD_CONFIG 对于它:
{
"workingDirectory": "C:\\dev",
"blacklist": [
"Remove-Item", "rm", "rmdir", "del", "rd",
"Format-Volume", "format", "Clear-Disk",
"Set-Acl", "chmod", "chown", "icacls",
"Start-Process", "sudo", "su", "runas",
"Stop-Computer", "Restart-Computer", "shutdown", "reboot",
"reg", "regedit"
],
"timeoutSeconds": 30,
"audit": { "enabled": true }
}| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
workingDirectory | string | 进程cwd | 用作执行cwd的绝对路径 |
blacklist | string\[\] | 见上文 | 命令被阻止执行 |
timeoutSeconds | number | 30 | 杀死前每个命令的最大秒数 |
audit.enabled | boolean | true | 将每个命令执行记录为JSON行 |
audit.file | 字符串 | bulkhead.log 配置文件旁边 | 要附加审核日志的文件路径。设置为 "" 禁用文件日志记录。 |
所有字段都是可选的。省略的字段使用默认值。黑名单完全由您控制——添加、删除或清空。
命令规则
- 每次呼叫一个命令。 连锁经营者(
;,&&,||)被拒绝。 - 允许使用管道。 对照黑名单检查每个管段。
Get-Process | Select-Object Name # allowed — pipe
Get-Process; Stop-Service foo # blocked — chain operator
Get-Process | Remove-Item # blocked — Remove-Item in second segment功能(JSON格式可配置)
- 黑名单 --阻止危险的命令。可以清空。
- 工作目录 --设置默认执行上下文。不限制对其他路径的访问。
- 超时 --终止长时间运行的命令。
- 审计日志 --JSON行到stderr和/或文件。可以禁用。
发展
git clone https://github.com/CarolinaTech-io/mcp-bulkhead.git
cd mcp-bulkhead
npm install
npm run build
npm test使用MCP检查员进行测试:
npx @modelcontextprotocol/inspector node build/index.js许可证
麻省理工学院
