项目简介

Terminal MCP Server 是一个基于 Model Context Protocol (MCP) 协议构建的服务器,它允许像 Claude Desktop 这样的 MCP 客户端通过文本命令来执行终端操作。这个服务器充当了 Claude Desktop 和本地操作系统终端之间的桥梁,使得 Claude 可以安全地与用户的终端进行交互。

主要功能点

  • 执行终端命令: 允许 Claude 执行任何终端命令,并返回命令的输出结果(包括标准输出 stdout、标准错误 stderr 和退出码)。
  • 目录管理: 支持在服务器端维护当前工作目录的状态,并允许 Claude 切换目录。
  • 获取终端信息: 提供获取当前工作目录、终端环境信息(如 shell 类型、用户名、操作系统平台)以及最近执行命令历史记录的功能。
  • 安全控制: 通过 Claude Desktop 的配置进行权限控制,需要用户显式授权才能执行命令。
  • 错误处理: 提供完善的错误处理机制,能够捕获命令执行中的错误并格式化返回。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/MCP-Mirror/stat-guy_terminal.git
    cd stat-guy_terminal
  2. 安装依赖: 确保你已经安装了 Node.js v18 或更高版本和 npm。然后运行:

    npm install
  3. 构建项目:

    npm run build

服务器配置

为了让 Claude Desktop 能够连接到 Terminal MCP Server,你需要编辑 Claude Desktop 的配置文件 'claude_desktop_config.json'。

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%\Claude\claude_desktop_config.json'

如果文件不存在则创建它。将以下 JSON 配置添加到 'mcpServers' 字段中。如果 'mcpServers' 字段不存在,则创建它。

{
  "mcpServers": {
    "terminal": {
      "command": "node",
      "args": [
        "[PATH_TO_REPO]/dist/index.js"
      ],
      "env": {
        "PERMISSION_REQUIRED": "true"
      }
    }
  }
}

配置参数说明:

  • '"terminal"': 服务器名称,可以自定义,在 Claude Desktop 中使用此名称来引用该服务器。
  • '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时。
  • '"args": ["[PATH_TO_REPO]/dist/index.js"]': 传递给 'node' 命令的参数,指定服务器入口文件 'index.js' 的路径。请将 '[PATH_TO_REPO]' 替换为你克隆仓库的实际本地路径。 例如 '/Users/yourusername/stat-guy_terminal/dist/index.js'。
  • '"env": { "PERMISSION_REQUIRED": "true" }': 设置环境变量。'PERMISSION_REQUIRED: "true"' 表示此服务器需要 Claude Desktop 的权限许可才能执行工具。

配置完成后,重启 Claude Desktop 使配置生效。

基本使用方法

配置完成后,你可以在 Claude Desktop 中通过自然语言指令来调用 Terminal MCP Server 提供的工具。以下是一些使用示例:

  • 查看当前目录内容:

    Can you check what's in my current directory?

    (实际执行命令: 'ls -la')

  • 获取当前目录路径:

    What is the current directory?

    (实际执行命令: 'pwd')

  • 切换到下载目录:

    Change directory to Downloads folder.

    (实际执行命令: 'cd ~/Downloads')

  • 获取终端环境信息:

    Tell me about the terminal environment.

    (返回 shell 类型、用户名、操作系统平台等信息)

注意: 首次使用这些功能时,Claude Desktop 可能会提示你授权 Terminal MCP Server 执行终端命令,请根据提示进行授权。

信息

分类

桌面与硬件