Shell执行MCP服务器
使用Spring Boot构建的模型上下文协议(MCP)服务器,提供shell命令执行和命令历史管理工具。
⚠️ 已弃用: 此MCP服务器已弃用,将不再接收更新,请使用我们的新MCP服务器, 代理模式
描述
Shell Execution MCP Server公开了用于通过MCP接口与主机Shell交互和管理命令历史的工具。支持同步命令执行和异步后台进程管理。
先决条件
- Java 21或更高版本
- Gradle(或使用附带的Gradle包装)
建筑
./gradlew build跑步
发展:
./gradlew bootRun生产:
./gradlew bootJar
java -jar build/libs/ShellExecution-0.0.1-SNAPSHOT.jar配置
{
"mcpServers": {
"shell-execution": {
"command": "java",
"args": [
"-jar",
"/build/libs/ShellExecution-0.0.1-SNAPSHOT.jar"
]
}
}
}可用工具
核心工具
- 执行命令 -同步运行shell命令
- 启动异步命令 -在后台运行带有进程跟踪的命令
- 检查命令状态 -监控后台进程
- 停止命令 -终止后台进程
- 列出后台进程 -查看所有正在运行的进程
- 获取命令历史记录 -查看已执行的命令
- 清除命令历史记录 -清除命令历史记录
- 保存到文件 -将历史记录保存到文件
- 从文件加载 -从文件加载历史记录
操作系统信息工具(12个工具)
- 获取操作系统 -获取当前操作系统名称
- getos架构 -获取操作系统架构
- 获取操作系统版本 -获取操作系统版本
- 获取os家族 -获取操作系统系列(Windows、Linux、Mac、Unix或未知)
- is-64位 -检查操作系统是否为64位
- 获取外壳类型 -获取当前shell类型
- 获取用户名 -获取当前用户名
- 获取java版本 -获取Java版本
- 把java带回家 -获取Java主目录
- 获取工作目录 -获取当前工作目录
- 获取主目录 -获取用户主目录
- 获取临时目录 -获取临时目录
系统资源工具(8个工具)
- 获取可用处理器 -获取可用处理器的数量
- 获取最大内存 -获取JVM可以使用的最大内存(以字节为单位)
- 获取总内存 -获取当前分配给JVM的总内存(以字节为单位)
- 获取空闲内存 -获取JVM可用的可用内存(以字节为单位)
- 获取系统负载平均值 -获取最后一分钟的系统负载平均值
- 获取磁盘空间信息 -获取给定路径的磁盘空间信息
- 获取内存信息 -获取全面的内存信息
- 获取系统信息 -获取全面的系统信息
环境和属性工具(4个工具)
- 获取环境变量 -按名称获取特定的环境变量
- 获取所有环境变量 -将所有环境变量作为映射获取
- 获取系统属性 -按名称获取特定的系统属性
- 获取所有系统属性 -以映射形式获取所有系统属性
总计:33个可用工具
文档
有关详细文档,请参阅 docs/ 文件夹:
工具文档
使用示例
发展
- 开发指南 -开发设置和贡献指南
项目结构
ShellExecution/
├── src/main/java/me/touchie771/ShellExecution/
│ ├── ShellExecutionApplication.java # Main application
│ ├── Terminal.java # Command execution
│ ├── CommandHistory.java # History management
│ ├── AsyncProcessManager.java # Background processes
│ ├── OsInfo.java # OS information tools
│ ├── SystemResources.java # System resource monitoring
│ └── EnvironmentTools.java # Environment and properties tools
├── docs/ # Documentation
│ ├── tools/ # Tools documentation
│ │ ├── README.md # Tools overview
│ │ ├── core-tools.md # Core command execution tools
│ │ ├── os-info.md # OS information tools
│ │ ├── system-resources.md # System resource tools
│ │ └── environment-tools.md # Environment tools
│ ├── examples/ # Usage examples
│ │ ├── README.md # Examples overview
│ │ ├── os-discovery.md # OS discovery examples
│ │ ├── system-monitoring.md # System monitoring examples
│ │ └── environment-debugging.md # Environment debugging examples
│ └── development.md # Development guide
└── build.gradle依赖项
- 弹簧靴3.5.7
- Spring AI MCP服务器1.0.3
- Java 21
许可证
MIT许可证
