返回市场
终端

终端

作者:stat-guy8 星标更新:2024-12-11

项目介绍

终端MCP服务器

这是一个模型上下文协议(MCP)服务器,通过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配置文件:

    • 在macOS上:~/Library/Application Support/Claude/claude_desktop_config.json
    • 在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

可用工具

execute_command

  • 执行任何终端命令
  • 支持命令参数和选项
  • 捕获完整的输出和退出码

change_directory

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

get_current_directory

  • 获取当前工作目录路径

get_terminal_info

  • 获取关于终端环境的信息
  • 显示shell、用户、平台以及最近的命令历史

使用示例

请求Claude执行终端命令,例如:

你能查看我当前目录的内容吗?
-> 执行:ls -la

你能告诉我当前目录是什么吗?
-> 执行:pwd

你能切换到Downloads文件夹吗?
-> 执行:cd ~/Downloads

安全注意事项

  • 该服务器需要通过Claude Desktop明确的用户权限来执行命令
  • 环境变量可以通过配置进行控制
  • 命令执行包括超时和错误处理

开发

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

项目结构

/
├── src/
│   └── index.ts    # 主服务器实现
├── package.json    # 项目配置和依赖项
├── tsconfig.json  # TypeScript配置
└── README.md      # 本文件

贡献

欢迎贡献!请随时提交Pull Request。

许可证

MIT许可证 </中文翻译>