壳牌MCP服务器
一种模型上下文协议(MCP)服务器,为AI助手和其他MCP客户端提供安全的跨平台shell命令执行功能。
概述
此服务器公开了一个工具,允许MCP客户端通过内置的安全措施和超时保护安全地执行shell命令。自动为每个平台使用适当的shell:Unix/Linux/macOS上的bash和Windows上的cmd.exe。
特性
- 交叉平台的:适用于Windows(cmd.exe)、macOS和Linux(bash)
- 安全命令执行:命令使用适合平台的shell安全执行
- 超时保护:30秒超时可防止挂起进程
- 结构化响应:返回成功状态、输出、错误消息和退出代码
- 建在。净值10.0:实现跨平台的广泛兼容性
安装
先决条件
- .NET 10.0 SDK
- Windows:cmd.exe(内置)
- macOS/Linux:bash shell(通常预装)
构建
dotnet build跑
dotnet run用法
服务器提供一个MCP工具:
执行ShellCommand
执行shell命令并返回结构化结果。自动使用适合平台的shell(Unix/Linux/macOS上的bash,Windows上的cmd.exe)。
参数:
command(string):要执行的shell命令
退货:
Success(bool):命令执行是否成功(退出代码0)Output(string):命令的标准输出Error(string):命令的标准错误ExitCode(int):命令返回的退出代码
安全特性
- 输入验证可防止空命令
- 命令在独立进程中执行
- 30秒超时可防止资源耗尽
- 特定于平台的执行(Unix上的临时文件,Windows上的直接执行)
- 自动清理临时资源
技术细节
- 使用ModelContextProtocol库v0.8.0-preview构建。1
- 使用stdio传输进行MCP通信
- 将stdout重定向到stderr以保持MCP协议合规性
- 使用RuntimeInformation进行平台检测
- Unix脚本文件无BOM的UTF-8编码
