项目简介

'mcp-server-terrakube' 是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在将 Terrakube 平台的强大功能暴露给大型语言模型 (LLM) 客户端。它允许 LLM 以结构化的方式调用 Terrakube 的 API,从而实现自动化管理和操作,例如创建、更新、查询和删除工作空间、变量、模块和组织。

主要功能点

  • 工作空间管理: 创建、更新、删除、获取和列出 Terrakube 工作空间。
  • 变量管理: 创建、更新、删除、获取和列出工作空间中的变量。
  • 模块管理: 创建、更新、删除、获取和列出组织中的模块。
  • 组织管理: 创建、更新、删除、获取和列出 Terrakube 组织。
  • 类型安全: 使用 TypeScript 构建,提供更好的开发体验和代码可靠性。
  • API 集成: 与 Terrakube 官方 API 深度集成,确保操作的无缝性。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/terrakube-io/mcp-server-terrakube.git
    cd mcp-server-terrakube
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build
  4. 配置环境变量: 在项目根目录创建 '.env' 文件,并填入您的 Terrakube API 地址和个人访问令牌:
    TERRAKUBE_API_URL=<您的Terrakube API地址>
    TERRAKUBE_PAT_TOKEN=<您的个人访问令牌>

服务器配置

该 MCP 服务器旨在与兼容 MCP 的客户端(如 Claude Desktop)配合使用。您需要在客户端的配置文件中添加以下 JSON 配置,以便客户端能够发现并启动此服务器。

{
  "mcpServers": {
    "terrakube": {
      "command": "npx",
      "args": [
        "-y",
        "@terrakube/mcp-server"
      ],
      "env": {
        "TERRAKUBE_API_URL": "<您的Terrakube API地址>",
        "TERRAKUBE_PAT_TOKEN": "<您的个人访问令牌>"
      }
    }
  }
}

配置参数说明:

  • 'terrakube': 您可以为这个 MCP 服务器实例指定一个唯一的名称。
  • 'command': 启动 MCP 服务器的命令。这里使用 'npx' 来运行已发布的 '@terrakube/mcp-server' 包。
  • 'args': 传递给 'command' 的参数列表。
  • 'env': 包含 MCP 服务器所需的环境变量。
    • 'TERRAKUBE_API_URL': 替换为您的 Terrakube API 服务地址。
    • 'TERRAKUBE_PAT_TOKEN': 替换为具有 Terrakube 操作权限的个人访问令牌。

基本使用方法

配置完成后,您的 MCP 客户端(例如 Claude Desktop)将能够自动检测并连接到 Terrakube MCP 服务器。您可以通过向 LLM 提问或发出指令来利用 Terrakube 的功能,例如:

  • "列出我的所有 Terrakube 组织。"
  • "在 'my-org' 组织下创建一个名为 'dev-workspace' 的工作空间,使用 Terraform 1.0.0。"
  • "在 'my-org' 的 'dev-workspace' 中设置一个名为 'database_password' 的敏感变量,值为 'secret123'。"

LLM 会自动识别并调用相应的 MCP 工具来执行您的请求。

信息

分类

开发者工具