项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端(如Claude Desktop)提供安全的Linux Shell访问和命令执行功能。

主要功能点

  • 执行Shell命令: 允许LLM在指定的或当前工作目录下运行Linux命令,并捕获输出和错误。
  • 管理工作目录: 可以改变服务器进程的当前工作目录,方便在特定路径下执行后续命令。
  • 获取当前目录: 查询服务器当前所在的工作目录。

安装步骤

  1. 克隆仓库: 下载项目代码到您的本地机器。

  2. 创建并激活虚拟环境: 推荐使用Python虚拟环境来隔离项目依赖。在项目目录中创建并激活虚拟环境。

  3. 安装依赖: 在激活的虚拟环境中,安装项目所需的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与计算