返回市场
壳命令mcp

壳命令mcp

作者:kaznak5 星标更新:2025-06-19

项目介绍

已废弃

我建议使用Claude Code,通过运行 claude mcp serve 替代这个MCP服务器。 我已经创建了 ai-agent-workspace 作为容器来运行Claude Code。 请按需使用。

Shell命令MCP服务器

这是一个MCP(模型上下文协议)服务器,允许在Docker容器内执行Shell命令。它提供了一个安全且隔离的工作空间,用于运行命令而不授予对主机Docker守护进程的访问权限。

特性

  • 通过简单的MCP接口运行Shell脚本
    • 同步执行
    • 异步执行,具有4种不同模式
      • 完成:命令完成时通知
      • 行:每行输出时通知
      • 块:每块输出时通知
      • 字符:每个字符输出时通知
  • 包含Kubernetes工具:kubectl、helm、kustomize、hemfile
  • 非root用户隔离的Docker容器环境
    • 实现了主机与容器之间的userid/groupid映射。这使得容器可以以与主机相同的身份运行,确保由容器创建的文件拥有与主机相同的所有权和权限。
    • 将主机目录挂载到容器的/home/mcp目录中,以实现持久化。这成为AI工作的家目录。
    • 如果主机目录为空,则会从容器中的备份复制初始文件。

设计理念

此MCP服务器为AI提供了类似于人类的工作空间。 授权限制不是由MCP功能决定的,而是由容器隔离和外部授权限制决定的。

它提供了更通用的工具,如Shell脚本执行,以便无需专门的知识即可使用这些工具。

服务器实现尽可能简单,便于代码审计。

快速开始

先决条件

  • Docker

使用Claude for Desktop

在您的Claude for Desktop配置文件中添加以下配置。

MacOS:

"shell-command": {
  "command": "docker",
  "args": [
    "run",
    "--rm",
    "-i",
    "--mount",
    "type=bind,src=/Users/user-name/MCPHome,dst=/home/mcp",
    "ghcr.io/kaznak/shell-command-mcp:latest"
  ]
}

/Users/user-name/ClaudeWorks 替换为您希望向容器提供的目录。

Windows:

"shell-command": {
   "command": "docker",
   "args": [
      "run",
      "--rm",
      "-i",
      "--mount",
      "type=bind,src=\\\\wsl.localhost\\Ubuntu\\home\\user-name\\MCPHome,dst=/home/mcp",
      "ghcr.io/kaznak/shell-command-mcp:latest"
   ]
}

提供一些提示

操作挂载目录中的文件。

可用的MCP工具

安全注意事项

  • MCP服务器在容器内以非root用户身份运行
  • 容器没有访问主机Docker守护进程的权限
  • 用户工作区从主机挂载以实现持久化

许可证

MIT