项目简介
Terminal MCP Server 是一个基于 Model Context Protocol (MCP) 协议构建的服务器,它允许像 Claude Desktop 这样的 MCP 客户端通过文本命令来执行终端操作。这个服务器充当了 Claude Desktop 和本地操作系统终端之间的桥梁,使得 Claude 可以安全地与用户的终端进行交互。
主要功能点
- 执行终端命令: 允许 Claude 执行任何终端命令,并返回命令的输出结果(包括标准输出 stdout、标准错误 stderr 和退出码)。
- 目录管理: 支持在服务器端维护当前工作目录的状态,并允许 Claude 切换目录。
- 获取终端信息: 提供获取当前工作目录、终端环境信息(如 shell 类型、用户名、操作系统平台)以及最近执行命令历史记录的功能。
- 安全控制: 通过 Claude Desktop 的配置进行权限控制,需要用户显式授权才能执行命令。
- 错误处理: 提供完善的错误处理机制,能够捕获命令执行中的错误并格式化返回。
安装步骤
-
克隆仓库:
git clone https://github.com/MCP-Mirror/stat-guy_terminal.git cd stat-guy_terminal -
安装依赖: 确保你已经安装了 Node.js v18 或更高版本和 npm。然后运行:
npm install -
构建项目:
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 执行终端命令,请根据提示进行授权。
信息
分类
桌面与硬件