Mac Shell MCP Server

Mac Shell MCP Server

site icon
2025.03.13 2
JavaScript终端命令管理安全执行开发效率
Mac Shell MCP Server 是一个基于 MCP(Model Context Protocol)的服务,用于在 macOS 终端中通过 ZSH shell 执行命令。该服务提供了安全的命令执行机制,包括白名单和审批流程。
View on GitHub

Overview

基本能力

产品定位

Mac Shell MCP Server 是一个用于安全执行 macOS 终端命令的服务,特别适合需要在受控环境中执行 shell 命令的场景。

核心功能

  • 通过 MCP 执行 macOS 终端命令
  • 命令白名单机制,分为三个安全级别:
  • 安全:无需审批即可执行的命令
  • 需要审批:需要明确审批后才能执行的命令
  • 禁止:明确禁止执行的命令
  • 预配置的常见安全命令白名单
  • 潜在危险命令的审批工作流
  • 全面的命令管理工具

适用场景

  • 在受控环境中安全执行 shell 命令
  • 需要审批流程的命令执行
  • 自动化脚本执行

工具列表

  1. execute_command:执行 macOS shell 命令
  2. get_whitelist:获取白名单命令列表
  3. add_to_whitelist:添加命令到白名单
  4. update_security_level:更新白名单命令的安全级别
  5. remove_from_whitelist:从白名单中移除命令
  6. get_pending_commands:获取待审批命令列表
  7. approve_command:审批待执行命令
  8. deny_command:拒绝待执行命令

常见问题解答

  • 所有命令都以运行 MCP 服务器的用户权限执行
  • 需要审批的命令会被放入队列等待明确审批
  • 禁止的命令永远不会被执行
  • 服务器使用 Node.js 的 execFile 而不是 exec 来防止 shell 注入

使用教程

使用依赖

需要安装 Node.js 和 npm

安装教程

# 克隆仓库
git clone https://github.com/cfdude/mac-shell-mcp.git
cd mac-shell-mcp

# 安装依赖
npm install

# 构建项目
npm run build

启动服务器

npm start

或直接运行:

node build/index.js

调试方式

  1. 确保服务器已启动
  2. 使用 MCP 客户端工具发送测试命令
  3. 检查服务器日志以查看命令执行情况

许可证

该项目遵循 MIT 开源许可条款。