使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供安全可控的终端访问能力。通过此服务器,LLM 可以在预设的目录范围内执行终端命令,进行文件和目录管理操作,从而扩展 LLM 的应用场景,例如代码开发、文件处理等。

主要功能点

  • 安全命令执行:允许 LLM 执行预定义的终端命令,如 'git'、'npm'、'yarn' 和基本的目录操作命令,所有命令执行都在服务器端进行安全检查,确保只允许执行安全命令和访问限定目录内的资源。
  • 目录管理:支持 LLM 在允许的目录下创建新目录 ('mkdir') 和切换目录 ('cd'),方便 LLM 进行文件组织和导航。
  • 工具集成:通过 MCP 协议的工具 (Tools) 机制,将终端命令封装为可被 LLM 调用的工具,例如 'execute_command'(执行通用命令)、'mkdir'(创建目录)、'cd'(切换目录)。
  • 可配置的安全策略:通过环境变量 'ALLOWED_DIRECTORY' 设定 LLM 可以访问的根目录,所有文件操作都限制在此目录及其子目录内,保障系统安全。

安装步骤

  1. 克隆仓库
    git clone https://github.com/AItheLab/mcp-terminal-use
    cd mcp-terminal-use
  2. 安装依赖 确保已安装 Node.js 和 npm,然后运行:
    npm install
  3. 构建项目
    npm run build
    构建成功后,会在 'dist' 目录下生成服务器的入口文件 'index.js'。

服务器配置

MCP 客户端需要配置以下 JSON 信息来连接到此 MCP 服务器。请根据实际情况修改 'args' 和 'env' 中的路径。

{
  "mcpServers": {
    "terminal": {
      "command": "node",
      "args": [
        "${HOME}/path/to/mcp-terminal-use/dist/index.js"  //  服务器入口文件 index.js 的路径,请替换为实际路径
      ],
      "env": {
        "ALLOWED_DIRECTORY": "${HOME}/your/allowed/directory" //  允许 LLM 访问的根目录,请替换为您希望设定的目录
      }
    }
  }
}
  • 'server name': 'terminal' (服务器名称,可以自定义)
  • 'command': 'node' (运行服务器的命令,确保系统已安装 Node.js)
  • 'args': 启动命令的参数,这里指定了编译后的服务器入口文件 'dist/index.js' 的路径。'${HOME}/path/to/mcp-terminal-use' 需要替换为仓库在您本地的实际路径。
  • 'env': 环境变量配置。'ALLOWED_DIRECTORY' 用于设置允许 LLM 访问的目录,'${HOME}/your/allowed/directory' 需要替换为您希望设定的目录路径。请务必配置 'ALLOWED_DIRECTORY' 以确保服务器的安全性,限制 LLM 的访问范围。

基本使用方法

  1. 确保已完成安装和配置步骤。
  2. 启动 MCP 客户端,并按照客户端的指引加载上述服务器配置。
  3. 客户端成功连接到 MCP 服务器后,LLM 即可通过调用 'execute_command'、'mkdir'、'cd' 等工具,与服务器进行交互,执行终端命令和管理文件。
  4. LLM 发送请求到 MCP 服务器,服务器会执行相应的操作,并将结果以 JSON-RPC 响应的形式返回给客户端。

注意: 请仔细配置 'ALLOWED_DIRECTORY' 环境变量,确保只允许 LLM 访问必要的目录,避免潜在的安全风险。

信息

分类

桌面与硬件