使用说明
项目简介
Shell MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它扩展了 LLM 的能力,使其能够通过 'execute_command' 工具在服务器的操作系统上执行 shell 命令。该服务器允许 LLM 与底层系统进行交互,获取实时的系统信息或执行自动化任务。请务必注意安全风险,谨慎使用,避免执行未授权或危险的命令。
主要功能点
- 执行 Shell 命令: 允许 LLM 调用 'execute_command' 工具,并指定要执行的 shell 命令。
- 返回命令结果: 执行命令后,服务器会将命令的输出(标准输出和标准错误)以及返回代码封装成 JSON 格式返回给 LLM 客户端。
- MCP 协议兼容: 遵循 MCP 协议标准,可以与任何支持 MCP 协议的 LLM 客户端(如 Claude.app, Zed 等)集成。
- 简单易用: 安装和配置过程简单,可以通过 'uv' 或 'pip' 快速安装,并提供多种客户端配置示例。
安装步骤
本服务器支持两种安装方式:
1. 使用 uv (推荐)
如果您的系统已安装 'uv' 和 'uvx',则无需额外安装。'uv' 是一个快速的 Python 包安装和解析器,'uvx' 可以直接运行 Python 包。
2. 使用 pip
您也可以使用 'pip' 进行安装:
pip install mcp-server-shell
安装完成后,可以使用以下命令作为脚本运行服务器:
python -m mcp_server_shell
服务器配置
要将 Shell MCP Server 集成到您的 LLM 客户端,您需要在客户端的 MCP 服务器配置中添加相应的配置信息。以下分别针对 Claude.app 和 Zed 提供了配置示例。您需要根据您的安装方式(uv 或 pip)选择对应的配置。
针对 Claude.app 的配置
<details> <summary>使用 uvx</summary></details> <details> <summary>使用 pip 安装</summary>"mcpServers": { "shell": { "command": "uvx", "args": ["mcp-server-shell"] } }
</details>"mcpServers": { "shell": { "command": "python", "args": ["-m", "mcp_server_shell"] } }
针对 Zed 的配置
<details> <summary>使用 uvx</summary></details> <details> <summary>使用 pip 安装</summary>"context_servers": { "mcp-server-shell": { "command": "uvx", "args": ["mcp-server-shell"] } },
</details>"context_servers": { "mcp-server-shell": { "command": "python", "args": ["-m", "mcp_server_shell"] } },
配置参数说明:
- '"server name"' (例如 '"shell"' 或 '"mcp-server-shell"'): 为您的服务器指定一个名称,在客户端配置中用于标识和引用该服务器。名称可以自定义,只需在客户端配置中保持一致即可。
- '"command"': 启动 MCP 服务器的命令。根据安装方式选择 '"uvx"' 或 '"python"'。
- '"args"': 传递给启动命令的参数。对于本服务器,参数为 '["mcp-server-shell"]' (uvx) 或 '["-m", "mcp_server_shell"]' (pip)。
基本使用方法
配置完成后,在您的 LLM 应用中,您可以通过调用 'execute_command' 工具来执行 shell 命令。例如,如果您想让 LLM 列出当前目录的文件,可以指示 LLM 使用 'execute_command' 工具,并提供参数 '{"command": "ls -la"}'。服务器会执行 'ls -la' 命令,并将结果返回给 LLM。
示例工具调用 (JSON 格式):
{ "name": "execute_command", "arguments": { "command": "ls -la" } }
服务器将返回包含命令执行结果的 JSON 响应,其中包含命令、输出和返回代码等信息。
信息
分类
桌面与硬件