项目简介
这是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端(如Claude Desktop)提供安全的Linux Shell访问和命令执行功能。
主要功能点
- 执行Shell命令: 允许LLM在指定的或当前工作目录下运行Linux命令,并捕获输出和错误。
- 管理工作目录: 可以改变服务器进程的当前工作目录,方便在特定路径下执行后续命令。
- 获取当前目录: 查询服务器当前所在的工作目录。
安装步骤
-
克隆仓库: 下载项目代码到您的本地机器。
-
创建并激活虚拟环境: 推荐使用Python虚拟环境来隔离项目依赖。在项目目录中创建并激活虚拟环境。
-
安装依赖: 在激活的虚拟环境中,安装项目所需的Python库。
MCP客户端配置
要让您的MCP客户端(如支持MCP的LLM应用)使用此服务器,需要在客户端的配置中添加服务器信息。以下是配置的核心内容,请根据您的实际安装路径填写:
客户端配置通常是一个JSON文件。您需要在其中添加一个名为 'mcpServers' 的区域,然后为本服务器定义一个条目,例如命名为 '"linux-shell"'。
配置需要指定如何启动服务器进程:
- 'command': 指向您安装的Python虚拟环境中的Python解释器路径。
- 'args': 启动服务器脚本的参数,通常是 '-m linux_shell_server.main'。
- 'env': 可选的环境变量,例如设置 'PYTHONPATH' 指向项目根目录,确保Python能找到服务器模块。
示例配置说明(非实际代码,仅为参数注释):
{ // ... 其他客户端配置 ... "mcpServers": { "linux-shell": { // 服务器名称,您客户端中会用到 "command": "/path/to/your/mcp-linux-shell-server/mcpEnv/bin/python", // Python解释器完整路径 "args": [ // 启动参数 "-m", "linux_shell_server.main" // 启动服务器模块 ], "env": { // 环境变量 (可选,通常推荐设置) "PYTHONPATH": "/path/to/your/mcp-linux-shell-server" // 项目根目录路径 } } } // ... 其他客户端配置 ... }
请将 '/path/to/your/mcp-linux-shell-server' 替换为您实际的项目安装路径。
配置完成后,重启您的MCP客户端应用以加载服务器。
基本使用方法
一旦MCP客户端连接到服务器,它将知道该服务器提供了哪些工具(执行命令、改变目录、获取当前目录)。您可以通过与LLM自然对话,提示它使用这些工具来完成任务。例如,您可以对LLM说:“请帮我在 '/tmp' 目录下创建一个名为 'test.txt' 的文件”,LLM可能会使用 'change_directory' 工具切换到 '/tmp',然后使用 'execute_command' 工具执行 'touch test.txt' 命令。
安全提示: 服务器以运行它的用户的权限执行命令,且不内置复杂的命令过滤或沙箱机制。请谨慎使用,并确保运行服务器的用户权限受到适当限制。
信息
分类
AI与计算