Terminal MCP Server

Terminal MCP Server

site icon
2024.12.11 5
JavaScript终端命令执行自然语言交互开发效率
Terminal MCP Server 是一个通过 Claude Desktop 执行终端命令的模型上下文协议(MCP)服务器。它允许用户通过自然语言与终端交互,执行各种命令并获取结果。
View on GitHub

Overview

基本能力

产品定位

Terminal MCP Server 是一个终端命令执行服务,通过 Claude Desktop 提供自然语言到终端命令的转换和执行能力。

核心功能

  • 执行任何带有参数和选项的终端命令
  • 在目录之间导航并保持状态
  • 获取终端环境信息
  • 完整输出捕获(stdout、stderr、退出代码)
  • 适当的错误处理和格式化

适用场景

  • 通过自然语言与终端交互
  • 自动化执行终端命令
  • 获取系统信息
  • 文件系统导航

工具列表

  1. execute_command
  2. 执行任何终端命令
  3. 支持命令参数和选项
  4. 捕获完整输出和退出代码

  5. change_directory

  6. 更改当前工作目录
  7. 在命令之间保持状态
  8. 支持相对和绝对路径

  9. get_current_directory

  10. 获取当前工作目录路径

  11. get_terminal_info

  12. 获取终端环境信息
  13. 显示shell、用户、平台和最近的命令历史记录

常见问题解答

  • 安全性:服务器需要通过 Claude Desktop 获得明确的用户权限才能执行命令
  • 环境变量:可以通过配置控制环境变量
  • 错误处理:命令执行包括超时和错误处理

使用教程

使用依赖

  • Node.js v18 或更高版本
  • TypeScript
  • Claude Desktop

安装教程

  1. 克隆仓库:
git clone https://github.com/stat-guy/terminal.git
cd terminal
  1. 安装依赖:
npm install
  1. 构建项目:
npm run build
  1. 创建或编辑 Claude Desktop 配置文件:
  2. macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%\\Claude\\claude_desktop_config.json

添加以下配置:

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

[PATH_TO_REPO] 替换为克隆仓库的实际路径。

  1. 重启 Claude Desktop

调试方式

  1. 监视更改:
npm run watch
  1. 测试更改:
  2. 修改 src/ 中的源文件
  3. 使用 npm run build 重新构建
  4. 重启 Claude Desktop 以加载更改

许可证

该项目遵循 MIT 开源许可条款。