Token导航 LogoToken导航TokenDH.com
Mac Shell MCP Server logo
开发工具未说明官方级别未说明来源级核验

Mac Shell MCP Server

MCP Server

一个用于通过MCP协议安全执行macOS终端命令的服务器,提供命令白名单和审批机制。

工具数

8

提示词数

0

GitHub Stars

22

资源数

0
安全控制JavaScriptClaude开发工具Claude DesktopClaudeCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cfdude

提供方

cfdude

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

](https://mseep.ai/app/cfdude-mac-shell-mcp)

Mac Shell MCP服务器

用于使用ZSH shell执行macOS终端命令的MCP(模型上下文协议)服务器。此服务器提供了一种安全的方式来执行shell命令,并内置了白名单和批准机制。

特性

  • 通过MCP执行macOS终端命令
  • 具有安全级别的命令白名单:

- 安全:未经批准即可执行的命令 - 需要批准:执行前需要明确批准的命令 - 禁止:明确阻止的命令

  • 带有常见安全命令的预配置白名单
  • 潜在危险命令的审批工作流程
  • 全面的指挥管理工具

安装

# Clone the repository
git clone https://github.com/cfdude/mac-shell-mcp.git
cd mac-shell-mcp

# Install dependencies
npm install

# Build the project
npm run build

用法

启动服务器

npm start

或者直接:

node build/index.js

在Roo Code和Claude Desktop中配置

Roo Code和Claude Desktop都对MCP服务器使用类似的配置格式。以下是如何设置Mac Shell MCP服务器:

使用本地安装

Roo代码配置

将以下内容添加到Roo Code MCP设置配置文件(位于 ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json):

"mac-shell": {
  "command": "node",
  "args": [
    "/path/to/mac-shell-mcp/build/index.js"
  ],
  "alwaysAllow": [],
  "disabled": false
}

Claude桌面配置

将以下内容添加到您的Claude Desktop配置文件(位于 ~/Library/Application Support/Claude/claude_desktop_config.json):

"mac-shell": {
  "command": "node",
  "args": [
    "/path/to/mac-shell-mcp/build/index.js"
  ],
  "alwaysAllow": false,
  "disabled": false
}

替换 /path/to/mac-shell-mcp 使用克隆存储库的实际路径。

使用NPX(推荐)

为了更方便的设置,不需要保持终端窗口打开,你可以将包发布到npm并与npx一起使用:

发布到npm

  1. 用您的详细信息更新package.json
  2. 发布到npm:
   npm publish

Roo代码配置

"mac-shell": {
  "command": "npx",
  "args": [
    "-y",
    "mac-shell-mcp"
  ],
  "alwaysAllow": [],
  "disabled": false
}

Claude桌面配置

"mac-shell": {
  "command": "npx",
  "args": [
    "-y",
    "mac-shell-mcp"
  ],
  "alwaysAllow": false,
  "disabled": false
}

这种方法允许MCP客户端自动启动MCP服务器,而不需要单独的终端窗口或手动干预。

备注: - Roo代码:设置 alwaysAllow 变为空数组 [] 出于安全原因,建议使用,因为它会在执行任何命令之前提示批准。如果你想在不提示的情况下允许特定命令,你可以将它们的名称添加到数组中,例如: "alwaysAllow": ["execute_command", "get_whitelist"]. - 克劳德桌面:设置 alwaysAllowfalse 出于安全原因,建议使用。Claude Desktop使用布尔值而不是数组,其中 false 意味着所有命令都需要批准,以及 true 意味着所有命令都是允许的,没有提示。 重要:The alwaysAllow 参数由MCP客户端(Roo Code或Claude Desktop)处理,而不是由Mac Shell MCP服务器本身处理。服务器将使用任何一种格式正常工作,因为客户端在向服务器发送请求之前会处理审批流程。

可用工具

服务器公开了以下MCP工具:

execute_command

在macOS上执行shell命令。

{
  "command": "ls",
  "args": ["-la"]
}

get_whitelist

获取白名单命令列表。

{}

add_to_whitelist

将命令添加到白名单中。

{
  "command": "python3",
  "securityLevel": "safe",
  "description": "Run Python 3 scripts"
}

update_security_level

更新白名单命令的安全级别。

{
  "command": "python3",
  "securityLevel": "requires_approval"
}

remove_from_whitelist

从白名单中删除命令。

{
  "command": "python3"
}

get_pending_commands

获取等待批准的命令列表。

{}

approve_command

批准待定命令。

{
  "commandId": "command-uuid-here"
}

deny_command

拒绝挂起的命令。

{
  "commandId": "command-uuid-here",
  "reason": "This command is potentially dangerous"
}

默认白名单命令

安全命令(无需批准)

  • ls -列出目录内容
  • pwd -打印工作目录
  • echo -将文本打印到标准输出
  • cat -连接和打印文件
  • grep -在文件中搜索模式
  • find -在目录层次结构中查找文件
  • cd -更改目录
  • head -输出文件的第一部分
  • tail -输出文件的最后一部分
  • wc -打印换行符、单词和字节计数

需要批准的命令

  • mv -移动(重命名)文件
  • cp -复制文件和目录
  • mkdir -创建目录
  • touch -更改文件时间戳或创建空文件
  • chmod -更改文件模式位
  • chown -更改文件所有者和组

禁止的命令

  • rm -删除文件或目录
  • sudo -以其他用户身份执行命令

安全考虑

  • 所有命令都是在运行MCP服务器的用户的权限下执行的
  • 需要批准的命令会被保留在队列中,直到明确批准
  • 禁止的命令永远不会执行
  • 服务器使用Node.js的 execFile 而不是 exec 防止外壳注射
  • 指定时,根据允许的模式验证参数

扩大白名单

您可以使用以下命令扩展白名单 add_to_whitelist 工具。例如:

{
  "command": "npm",
  "securityLevel": "requires_approval",
  "description": "Node.js package manager"
}

用作npm包

使用Mac Shell MCP服务器 npx 与Brave Search等其他MCP服务器类似,您可以将其发布到npm或直接从GitHub使用。

使用npx进行配置

将以下内容添加到MCP设置配置中:

Roo代码

"mac-shell": {
  "command": "npx",
  "args": [
    "-y",
    "github:cfdude/mac-shell-mcp"
  ],
  "alwaysAllow": [],
  "disabled": false
}

克劳德桌面

"mac-shell": {
  "command": "npx",
  "args": [
    "-y",
    "github:cfdude/mac-shell-mcp"
  ],
  "alwaysAllow": false,
  "disabled": false
}

这将自动下载并运行服务器,而不需要手动克隆和构建过程。

发布到npm

如果你想将自己的版本发布到npm:

  1. 用您的详细信息更新package.json
  2. 在package.json中添加一个“bin”字段:
   "bin": {
     "mac-shell-mcp": "./build/index.js"
   }
  1. 发布到npm:
   npm publish

然后,您可以在MCP配置中使用它:

Roo代码

"mac-shell": {
  "command": "npx",
  "args": [
    "-y",
    "mac-shell-mcp"
  ],
  "alwaysAllow": [],
  "disabled": false
}

克劳德桌面

"mac-shell": {
  "command": "npx",
  "args": [
    "-y",
    "mac-shell-mcp"
  ],
  "alwaysAllow": false,
  "disabled": false
}

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

目录标签

目录标签

安全控制JavaScriptClaude开发工具macOS终端本地部署命令执行MCP协议

支持客户端

Claude DesktopClaudeCline

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明nonelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP