Token导航 LogoToken导航

MCP Server · 开发工具

Windwos Bash Tools MCP Go

MCP Bash Tools 是一个企业级安全PowerShell/Bash命令执行工具,专为AI应用提供安全、可靠、高性能的Shell环境访问能力。

未说明官方级别未说明来源级核验工具 3
命令执行GoClaudeClaude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
x1t
提供方
x1t

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Windwos Bash Tools MCP Go 属于开发工具类 MCP Server,公开资料标注 3 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前要先准备 会话凭据。

分类

开发工具

传输方式

未说明

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

🚀 MCP Bash Tools

[] []

✨ 企业级安全PowerShell/Bash命令执行工具 ✨

基于 Model Context Protocol (MCP) 构建的现代化企业级命令执行解决方案,专为AI应用提供安全、可靠、高性能的Shell环境访问能力。

🚀 快速开始 • ✨ 功能特性 • 🏗️ 架构设计 • 🛡️ 安全机制 • 📚 开发文档 • 🧪 测试指南 • 🤝 贡献指南


📑 目录


✨ 功能特性

🎯 核心功能

功能类别描述状态
🛡️ 安全命令执行多层安全验证,70+危险模式识别✅ 企业级
⚡ 前台/后台模式同步执行与异步任务管理✅ 稳定
🎯 智能超时控制1-600秒范围,自动终止超时任务✅ 完善
📊 实时输出监控临时文件存储,正则表达式过滤✅ 高效
🔧 多Shell支持PowerShell 7 → PowerShell 5+✅ 智能

🏢 企业级特性

特性描述实现方式
📝 审计日志结构化日志记录,安全事件追踪stderr输出
🚫 危险命令过滤70+种危险模式,实时威胁识别Regex + Context
⚖️ 资源限制超时控制(1-600秒)Context Timeout
🔄 任务管理50个并发任务,sync.RWMutex安全Goroutine + Mutex
🏗️ 沙箱隔离工作目录隔离,临时文件管理Process Isolation

🚀 快速开始

📋 环境要求

要求版本验证命令
操作系统Windows 10/11 x64`systeminfo \findstr /B /C:"OS Name"`
Go语言Go 1.23.0+go version
PowerShellPowerShell 7.0+$PSVersionTable.PSVersion
GitGit 2.0+git --version

⚡ 5步快速部署

1️⃣ 克隆项目
git clone https://github.com/your-org/mcp-bash-tools.git
cd mcp-bash-tools
2️⃣ 安装依赖
go mod download
go mod verify
3️⃣ 构建项目
# 发布模式构建(推荐)
.\build.ps1 -Release

# 验证构建结果
Get-Item dist\bash-tools.exe
4️⃣ MCP客户端配置

Claude Desktop 配置示例:

{
  "mcpServers": {
    "bash-tools": {
      "command": "H:\\mcp\\bash-tools\\dist\\bash-tools.exe",
      "args": [],
      "env": {}
    }
  }
}

配置文件位置: %APPDATA%\Claude\claude_desktop_config.json

5️⃣ 验证安装

启动服务器应该看到:

🚀 MCP Bash Tools Server starting...
🔧 检测到的Shell环境:
1. pwsh: C:\Program Files\PowerShell\7\pwsh.exe ✅ (首选)
2. powershell: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ✅

🧪 快速测试

{
  "tool": "bash",
  "arguments": {
    "command": "Write-Output 'Hello, MCP Bash Tools!'; Get-Date",
    "timeout": 5000,
    "run_in_background": false
  }
}

期望输出:

Hello, MCP Bash Tools!
2024年11月16日 15:30:00

🔌 MCP工具接口

⚡ Bash工具 - 主要命令执行

功能: 安全执行PowerShell命令

超时行为:

  • 前台执行: 如果命令在timeout时间内完成,立即返回结果
  • 前台超时: 如果命令超过timeout时间,自动转为后台任务,返回任务ID,命令继续执行
  • 后台执行: 无超时限制,持续运行直到完成或被手动终止

参数:

参数类型必填默认值描述
commandstring✅-要执行的命令
timeoutnumber✅-超时时间(毫秒),1000-600000
descriptionstring❌-命令描述
run_in_backgroundboolean✅false是否后台执行

返回:

{
  "output": "命令输出内容",
  "exitCode": 0,
  "killed": false,
  "shellId": "bash_1701234567890123456"  // 后台模式或前台超时时返回
}

使用场景:

  • 快速命令: run_in_background=false, timeout=5000 - 5秒内完成的命令
  • 长时间任务: run_in_background=true - 编译、部署、长时间测试
  • 自动转后台: 前台命令超时后自动转后台,不会被终止

📊 BashOutput工具 - 实时输出监控

功能: 获取后台任务实时输出

参数:

参数类型必填描述
bash_idstring✅后台任务ID
filterstring❌正则表达式过滤器

返回:

{
  "output": "过滤后的输出内容",
  "status": "running",  // running, completed, failed, killed
  "exitCode": null
}

⛔ KillShell工具 - 任务终止

功能: 终止后台任务

参数:

参数类型必填描述
shell_idstring✅要终止的任务ID

返回:

{
  "message": "任务已成功终止",
  "shell_id": "bash_1701234567890123456"
}

🏗️ 架构设计

📐 三层架构模式

┌─────────────────────────────────────┐
│          MCP接口层 (cmd/server)        │  ← 646行
│  • 工具注册与JSON-RPC通信             │
│  • 参数验证与错误处理                 │
│  • 后台任务管理                       │
└─────────────────────────┬───────────────────┘
                        │
                        ▼
┌─────────────────────────────────────┐
│        业务逻辑层 (internal)          │
│  • executor/  - Shell执行器 (3个)     │
│  • security/  - 安全验证 (2个)       │
│  • core/      - 类型定义              │
└─────────────────────────┬───────────────────┘
                        │
                        ▼
┌─────────────────────────────────────┐
│      基础设施层 (pkg)                 │
│  • logger/  - 日志系统                │
│  • utils/   - 工具函数                │
│  • config/  - 配置管理                │
└─────────────────────────────────────┘

🔧 核心组件

组件文件行数主要功能
MCP服务器cmd/server/main.go646工具注册、任务管理、JSON-RPC通信
Shell管理internal/executor/shell.go185智能Shell检测、环境优化
安全验证internal/security/validator.go21370+危险模式识别(Windows专用)
命令执行internal/executor/bash.go200PowerShell命令执行、超时控制

🔄 并发安全机制

  • 读写锁: sync.RWMutex 保护后台任务存储
  • 临时文件: 后台任务输出实时写入临时文件
  • WaitGroup: 确保所有goroutine完成后才关闭文件
  • 原子操作: 任务状态更新的原子性保证

🛡️ 安全机制

🏯 多层安全防护体系

  1. 🔍 输入验证层 - 参数类型检查、长度验证、特殊字符过滤
  2. 🔍 命令验证层 - 70+危险模式检测、正则表达式匹配、上下文分析
  3. 📦 执行隔离层 - 工作目录限制、临时文件管理
  4. ⏱️ 超时保护层 - 强制超时控制(1-600秒),防止无限等待
  5. 📊 监控审计层 - 实时状态监控、命令执行记录

⚠️ 危险命令分类 (Windows专用)

类别示例检测方式
系统破坏del /s, format C:, diskpart正则匹配
系统控制shutdown, reboot, Stop-Computer命令黑名单
权限提升takeown, net user /add, icacls权限检测
网络攻击net use, net session, bitsadmin网络监控
恶意下载downloadstring, certutil -urlcache模式识别

✅ 安全命令示例

# ✅ 安全的系统监控
Get-Process | Select-Object Name, CPU
Get-PSDrive -PSProvider FileSystem
Test-Connection -ComputerName 8.8.8.8

# ✅ 安全的文件操作(只读)
Get-ChildItem -Path C:\Users -File
Get-Content -Path README.txt
Get-ChildItem -Recurse -Filter *.log

🧪 测试

📊 测试覆盖率

模块覆盖率测试重点
security模块100%危险命令检测、认证授权、限流
executor模块90%+命令执行、超时控制、前后台
windows模块85%+平台优化、编码设置
server主程序80%+MCP工具集成、任务管理
整体覆盖率85%+所有模块综合

🚀 快速测试命令

# 运行所有测试
go test ./...

# 详细输出
go test -v ./...

# 生成覆盖率报告
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out -o coverage.html

# 并发安全测试
go test -race ./...

# 跳过已知问题的测试(快速测试)
go test ./... -skip="TestKillShellHandlerTestSuite" -skip="TestBashHandler_ConcurrentBackgroundTasks"

# 性能基准测试
go test -bench=. -benchmem ./...

# 运行特定测试
go test -v -run TestSecurityTestSuite ./cmd/server

📋 测试文件结构

测试文件行数测试内容
main_test.go291核心功能测试,MockShellExecutor
security_test.go48270+危险命令安全测试
background_task_test.go566任务管理与并发安全测试
bash_output_test.go399输出获取与正则过滤测试
kill_shell_test.go435任务终止与资源清理测试

👨‍💻 开发指南

🔨 开发环境设置

# 1. 检查Go版本
go version  # 需要 Go 1.23.0+

# 2. 克隆项目
git clone https://github.com/your-org/mcp-bash-tools.git
cd mcp-bash-tools

# 3. 安装依赖
go mod download
go mod verify

# 4. 检查PowerShell执行策略
Get-ExecutionPolicy
# 如果是 Restricted,设置执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

📝 代码质量检查

# 格式化代码
go fmt ./...

# 静态分析
go vet ./...

# 整理依赖
go mod tidy

# 运行测试
go test -race ./...

# 构建验证
.\build.ps1 -Release

🔄 开发工作流

  1. 创建功能分支
   git checkout -b feature/new-feature
  1. 编写代码并测试
   # 编写代码...
   go fmt ./...
   go vet ./...
   go test ./...
  1. 构建验证
   .\build.ps1 -Release
  1. 提交代码
   git add .
   git commit -m "feat: add new feature"
   git push origin feature/new-feature

🔧 构建和部署

📦 构建选项

# 调试模式构建
.\build.ps1

# 发布模式构建(生产环境推荐)
.\build.ps1 -Release

# 详细输出构建
.\build.ps1 -Verbose

# 清理构建缓存
.\build.ps1 -Clean

# 组合选项
.\build.ps1 -Release -Verbose

🎯 构建配置

配置调试模式发布模式
优化基础构建优化编译(-ldflags "-s -w")
调试信息包含移除
文件大小较大最小化
适用场景开发测试生产部署

🚀 部署指南

  1. 构建可执行文件
   .\build.ps1 -Release
  1. 验证构建结果
   Get-Item dist\bash-tools.exe | Select-Object Name, Length, CreationTime
  1. 配置MCP客户端

- 更新配置文件中的可执行文件路径 - 重启MCP客户端

  1. 验证部署
   .\dist\bash-tools.exe -h

📊 性能指标

指标当前值目标值状态
命令启动延迟< 100ms< 200ms🏆 优秀
并发任务数50100📈 良好
内存使用< 512MB< 1GB🏆 优秀
CPU使用率< 80%< 90%🏆 优秀
输出延迟< 50ms< 100ms🏆 优秀
安全验证时间< 20ms< 50ms🏆 优秀

📚 详细文档

📖 核心文档

🔍 审计报告

📋 技术参考

更多文档: 查看 docs/INDEX.md 获取完整文档列表


🔍 故障排除

常见问题

❌ 构建失败
# 检查Go版本
go version

# 清理模块缓存
go clean -modcache
go mod download

# 重新构建
go build ./...
❌ PowerShell执行策略
# 检查执行策略
Get-ExecutionPolicy

# 设置执行策略(如果需要)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
❌ 测试失败
# 清理临时文件
Get-ChildItem -Path . -Recurse -Name "temp_*" -File | Remove-Item

# 跳过已知问题的测试
go test ./... -skip="TestKillShellHandlerTestSuite" -skip="TestBashHandler_ConcurrentBackgroundTasks"
❌ 后台任务问题
  • 检查临时文件路径权限
  • 验证goroutine写入逻辑
  • 确认并发锁的使用

📞 获取帮助

  1. 查看 CLAUDE.md 获取详细的开发指南
  2. 检查 Issues 查看已知问题
  3. 创建新的Issue报告问题

🤝 贡献指南

🌟 贡献方式

  • 🐛 报告Bug - 发现问题时创建Issue
  • 💡 提出功能 - 建议新功能或改进
  • 📝 完善文档 - 改进文档和示例
  • 💻 提交代码 - 修复Bug或添加功能

📝 代码规范

  • 遵循 Go官方代码规范
  • 使用 go fmt 格式化代码
  • 使用 go vet 进行静态分析
  • 新功能必须包含测试
  • 更新相关文档

📋 提交规范

使用 Conventional Commits 规范:

# ✨ 新功能
feat: add new Bash tool support

# 🐛 Bug修复
fix: resolve timeout handling issue

# 📚 文档更新
docs: update README with new examples

# ✅ 测试
test: add unit tests for security validator

🔐 安全报告

如果发现安全漏洞,请不要公开报告!

  • 📧 邮箱: security@your-org.com
  • 📋 主题: [SECURITY] MCP Bash Tools Vulnerability Report

📄 许可证

本项目采用 MIT许可证。


❤️ 感谢使用 MCP Bash Tools!

让PowerShell命令执行更安全、更高效!

Made with ❤️ by the MCP Bash Tools Team

⬆ 回到顶部

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

企业级安全Go本地部署命令执行PowerShell工具Bash工具AI应用

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到会话凭据的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Windwos Bash Tools MCP Go

MCP World · 本页

3未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Windwos Bash Tools MCP Go 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Windwos Bash Tools MCP Go 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Windwos Bash Tools MCP Go 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Windwos Bash Tools MCP Go 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Windwos Bash Tools MCP Go 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP