只读Unix工具服务

一个通过MCP协议向AI代理提供只读Unix工具的服务,确保操作安全且无破坏性。

  • by veglezMX
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 veglezMX/safe-unix-mcp

使用说明

安全的unix mcp

暴露的stdio MCP服务器 只读的 类Unix工具到AI代理(Crush)。

  • 传输:标准传输(MCP)。
  • 主机:任何MCP客户端(例如Crush)。
  • 操作系统:Linux/macOS(BSD/GNU差异保守处理)。

为什么

  • 可移植操作系统接口 find 包含 -exec/-ok 其执行命令;我们 禁止 他们。
  • GNU/BSD find -delete 具有破坏性;也 禁止.
  • 许多coreutils具有危险标志(例如。, sed -i);我们 块 他们。

参考文献

  • MCP运输和规格。
  • POSIX外壳和实用程序(开放组)。
  • GNU核心工具手册。

安装

克隆存储库

git clone https://github.com/YOUR_USERNAME/safe-unix-mcp.git
cd safe-unix-mcp

全局安装

npm install -g .

这使 mcp-safe-unix 命令在系统范围内可用。

粉碎快速设置

全局安装后,运行安装实用程序自动配置您的Crush配置:

setup-safe-unix

此交互式脚本将:

  • 创建 ~/.crush.json 如果它不存在
  • 添加安全的unix MCP服务器配置
  • 检测并选择性地删除可能不安全的Unix/shell服务器
  • 更新现有的安全unix配置(如果已存在)

选项:

setup-safe-unix --config-path=/custom/path/to/config.json  # Use custom config path
setup-safe-unix --force                                     # Skip confirmation prompts

手动设置

如果您更喜欢手动配置,请将以下内容添加到您的 ~/.crush.json:

{
  "mcpServers": {
    "safe-unix": {
      "command": "mcp-safe-unix",
      "transport": "stdio"
    }
  }
}

验证安装

echo '{"jsonrpc":"2.0","id":1,"method":"initialize"}' | mcp-safe-unix

使用Crush

自动设置(推荐)

安装后使用安装实用程序:

setup-safe-unix

手动配置

添加到您的 ~/.crush.json 配置文件:

{
  "mcpServers": {
    "safe-unix": {
      "command": "mcp-safe-unix",
      "transport": "stdio"
    }
  }
}

如果您不希望全局安装,可以指定脚本的完整路径:

{
  "mcpServers": {
    "safe-unix": {
      "command": "node",
      "args": ["/path/to/safe-unix-mcp/mcp-safe-unix.js"],
      "transport": "stdio"
    }
  }
}

或使用 npx:

{
  "mcpServers": {
    "safe-unix": {
      "command": "npx",
      "args": ["-y", "/path/to/safe-unix-mcp"],
      "transport": "stdio"
    }
  }
}

可用工具

服务器公开了以下安全的只读Unix工具:

  • 目录和文件列表: safe_ls, safe_pwd, safe_stat, safe_file
  • 查看/分页: safe_cat, safe_head, safe_tail, safe_less, safe_more
  • 搜索和筛选: safe_grep, safe_awk, safe_sed
  • 文本转换: safe_cut, safe_paste, safe_tr, safe_sort, safe_uniq, safe_fmt, safe_fold, safe_column
  • 计数/校验和: safe_wc, safe_cksum, safe_sha
  • 档案检查: safe_tar_list, safe_zipinfo, safe_unzip_list
  • FS使用情况: safe_du, safe_df
  • 流程和环境: safe_env, safe_id, safe_uname, safe_date, safe_ps, safe_uptime
  • 安全查找: safe_find (无 -exec, -ok, -delete)
  • Git(只读): safe_git (状态、差异、显示、日志等)
  • JSON/YAML: safe_jq, safe_yq
  • 十六进制/编码: safe_hexdump, safe_xxd, safe_od
  • 树: safe_tree
  • macOS: safe_sw_vers

发展

本地测试,无需全局安装

# Test with node directly
echo '{"jsonrpc":"2.0","id":1,"method":"initialize"}' | node mcp-safe-unix.js

# Or use npm link for development
npm link

卸载

npm uninstall -g safe-unix-mcp