Shell MCP Server 使用说明
项目简介
Shell MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI 应用程序提供安全可靠的 Shell 命令执行能力。通过此服务器,AI 应用程序可以调用预定义的工具来执行系统命令,从而扩展 AI 的功能,例如文件操作、系统管理、项目构建等。
主要功能点
- 安全执行: 命令仅在预先配置的允许目录中执行,防止非法访问。
- 多种 Shell 支持: 支持 bash, sh, cmd, powershell 等多种常用 Shell 环境。
- 超时控制: 可以配置命令执行超时时间,避免长时间运行的命令阻塞系统。
- 跨平台: 支持 Unix 和 Windows 系统。
- 安全默认: 内置目录和 Shell 验证机制,增强安全性。
安装步骤
使用 pip 或 uv (推荐) 安装:
# 使用 pip pip install shell-mcp-server # 使用 uv (推荐) uv pip install shell-mcp-server
服务器配置 (用于 MCP 客户端,例如 Claude Desktop)
要将 Shell MCP Server 集成到 MCP 客户端 (例如 Claude Desktop),您需要配置客户端以连接到此服务器。以下是一个 Claude Desktop 配置示例,展示了如何配置 'shell-mcp-server':
{ "mcpServers": { "shell-mcp-server": { // 服务器名称,客户端用以标识 "command": "uv", // 启动服务器的命令,这里使用 uv 运行 "args": [ // 启动参数列表 "--directory", // 指定允许执行命令的目录参数 "/path/to/shell-mcp-server", // Shell MCP Server 所在目录 (请替换为实际路径) "run", // uv 的 run 命令 "shell-mcp-server", // 要运行的模块名 "/path/to/allowed/dir1", // 第一个允许目录 (请替换为实际允许的目录) "/path/to/allowed/dir2", // 第二个允许目录 (请替换为实际允许的目录) "--shell", "bash", "/bin/bash", // 配置允许的 shell: 名称 "bash", 路径 "/bin/bash" "--shell", "zsh", "/bin/zsh" // 配置允许的 shell: 名称 "zsh", 路径 "/bin/zsh" ] } } }
配置参数说明:
- 'server name': 'shell-mcp-server' - 服务器的唯一标识名称。
- 'command': 启动服务器的命令,例如 'uv', 'python' 等。
- 'args': 传递给启动命令的参数列表。
- '--directory': 指定允许命令执行的工作目录。可以指定多个。
- '--shell name path': 指定允许使用的 shell 及其路径。可以指定多个。
请务必根据您的实际环境修改 '/path/to/shell-mcp-server', '/path/to/allowed/dir1', '/path/to/allowed/dir2' 等路径以及 shell 的配置。
基本使用方法
一旦 Shell MCP Server 成功配置并运行,MCP 客户端 (例如 Claude Desktop) 就可以通过调用名为 'execute_command' 的工具来执行 shell 命令。
使用 'execute_command' 工具时,您需要提供以下参数:
- 'command': 要执行的 shell 命令 (字符串)。
- 'shell': 要使用的 shell 名称 (字符串),必须是配置中允许的 shell 之一,例如 "bash", "sh", "cmd", "powershell"。
- 'cwd': 命令执行的工作目录 (字符串),必须是配置中允许的目录之一。
服务器将执行命令,并返回命令的输出结果 (包括标准输出 stdout, 标准错误 stderr 和 退出代码 exit_code)。
信息
分类
桌面与硬件