基于 Spring Boot 和 Spring AI 框架构建的 MCP 服务器,支持在本地或远程 Linux 主机上执行 shell 命令。该服务器实现了模型上下文协议(Model Context Protocol,简称 MCP),可以与支持 MCP 的 AI 助手集成,提供安全的 shell 命令执行功能。
src/
├── main/
│ ├── java/com/doodl6/mcp/linux/
│ │ ├── LinuxMcpServerApplication.java # 主启动类
│ │ ├── config/
│ │ │ └── ToolConfig.java # 工具配置
│ │ └── service/
│ │ ├── ShellService.java # Shell 服务(本地执行)
│ │ └── RemoteShellService.java # 远程 Shell 服务(SSH 执行)
│ └── resources/
│ └── hosts.json # 主机配置文件
在 src/main/resources/hosts.json 文件中配置远程主机信息:
[
{
"ip": "192.168.1.100",
"username": "root",
"password": "your_password"
},
{
"ip": "10.0.0.50",
"username": "admin",
"password": "admin_password"
}
]
配置字段说明:
ip: 远程主机 IP 地址username: SSH 登录用户名password: SSH 登录密码克隆项目
git clone <repository-url>
cd linux-mcp-server
配置主机信息
编辑 src/main/resources/hosts.json 文件,添加您的主机配置
编译并运行
mvn spring-boot:run
或
mvn clean package
java -jar target/linux-mcp-server-0.0.1-SNAPSHOT.jar
该服务通过 MCP 协议暴露统一的 shell 执行工具,AI 助手可以通过 MCP 客户端调用它:
executeShellmachineIp(可选):目标主机 IP 地址
localhost 或 127.0.0.1,则在本地执行path(可选):执行命令的工作目录shell:要执行的 shell 命令此工具由 AI 助手通过 MCP 协议调用,而不是传统的 REST API。AI 助手会根据用户需求自动选择适当的参数来调用此工具。例如:
localhost 或空 machineIpmachineIp 参数此 MCP 服务器可以与支持 MCP 协议的 AI 助手集成,如 Claude Desktop。请参阅相应 AI 助手的 MCP 集成文档以了解配置方法。
欢迎提交 Issue 和 Pull Requests 来增强项目功能。