Terrakube MCP服务器

用于Terrakube操作的模型上下文协议(MCP)服务器,支持工作区管理、变量处理、模块操作和组织管理。

  • by terrakube-io
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 AzBuilder/mcp-server-terrakube

使用说明

Terrakube MCP服务器


用于Terrakube操作的模型上下文协议(MCP)服务器,支持工作区管理、变量处理、模块操作和组织管理。

特性

  • 全面的API集成:与Terrakube的API完全集成,实现无缝操作
  • 类型安全:使用TypeScript构建,增强类型安全性和开发人员体验
  • 错误处理:强大的错误处理功能,错误信息清晰
  • 环境配置:通过环境变量灵活配置
  • 模块化设计:有组织的代码结构,便于维护和扩展

工具

工作区

createWorkspace

在Terrakube中创建一个新的工作区。

  • 输入:
    • name (string):工作区的名称
    • organization (string):组织名称
    • description (可选字符串):工作区描述
    • vcsProviderId (可选字符串):VCS提供商ID
    • vcsRepository (可选字符串):VCS存储库名称
    • vcsBranch (可选字符串):VCS分支名称
  • 退货:已创建工作区详细信息

updateWorkspace

更新现有工作区。

  • 输入:
    • name (string):工作区的名称
    • organization (string):组织名称
    • description (可选字符串):新工作区描述
    • vcsProviderId (可选字符串):新的VCS提供程序ID
    • vcsRepository (可选字符串):新的VCS存储库名称
    • vcsBranch (可选字符串):新的VCS分支名称
  • 退货:更新了工作区详细信息

deleteWorkspace

删除工作区。

  • 输入:
    • name (string):工作区的名称
    • organization (string):组织名称
  • 退货:成功状态

getWorkspace

获取特定工作区的详细信息。

  • 输入:
    • name (string):工作区的名称
    • organization (string):组织名称
  • 退货:工作区详细信息

listWorkspaces

列出组织中的所有工作区。

  • 输入:
    • organization (string):组织名称
  • 退货:工作区详细信息数组

变量

createVariable

在工作区中创建新变量。

  • 输入:
    • name (string):变量的名称
    • organization (string):组织名称
    • workspace (string):工作区名称
    • value (string):变量值
    • description (可选字符串):变量描述
    • category (可选字符串):变量类别
    • hcl (可选布尔值):变量是否为HCL
    • sensitive (可选布尔值):变量是否敏感
  • 退货:已创建变量详细信息

updateVariable

更新现有变量。

  • 输入:
    • name (string):变量的名称
    • organization (string):组织名称
    • workspace (string):工作区名称
    • value (string):新变量值
    • description (可选字符串):新变量描述
    • category (可选字符串):新变量类别
    • hcl (可选布尔值):变量是否为HCL
    • sensitive (可选布尔值):变量是否敏感
  • 退货:更新了变量详细信息

deleteVariable

删除变量。

  • 输入:
    • name (string):变量的名称
    • organization (string):组织名称
    • workspace (string):工作区名称
  • 退货:成功状态

getVariable

获取特定变量的详细信息。

  • 输入:
    • name (string):变量的名称
    • organization (string):组织名称
    • workspace (string):工作区名称
  • 退货:变量详细信息

listVariables

列出工作区中的所有变量。

  • 输入:
    • organization (string):组织名称
    • workspace (string):工作区名称
  • 退货:变量详细信息数组

模块

createModule

创建一个新模块。

  • 输入:
    • name (string):模块名称
    • organization (string):组织名称
    • provider (string):模块提供程序
    • description (可选字符串):模块描述
  • 退货:已创建模块详细信息

updateModule

更新现有模块。

  • 输入:
    • name (string):模块名称
    • organization (string):组织名称
    • provider (string):模块提供程序
    • description (可选字符串):新模块描述
  • 退货:更新了模块详细信息

deleteModule

删除模块。

  • 输入:
    • name (string):模块名称
    • organization (string):组织名称
    • provider (string):模块提供程序
  • 退货:成功状态

getModule

获取特定模块的详细信息。

  • 输入:
    • name (string):模块名称
    • organization (string):组织名称
    • provider (string):模块提供程序
  • 退货:模块详细信息

listModules

列出组织中的所有模块。

  • 输入:
    • organization (string):组织名称
  • 退货:模块详细信息数组

组织

createOrganization

创建一个新组织。

  • 输入:
    • name (string):组织名称
    • description (可选字符串):组织描述
  • 退货:已创建组织详细信息

updateOrganization

更新现有组织。

  • 输入:
    • name (string):组织名称
    • description (可选字符串):新组织描述
  • 退货:更新了组织详细信息

deleteOrganization

删除组织。

  • 输入:
    • name (string):组织名称
  • 退货:成功状态

getOrganization

获取特定组织的详细信息。

  • 输入:
    • name (string):组织名称
  • 退货:组织详细信息

listOrganizations

列出所有组织。

  • 退货:组织详细信息数组

设置

环境变量

创建一个 .env 根目录中的文件,包含以下变量:

TERRAKUBE_API_URL=<your-terrakube-api-url>
TERRAKUBE_PAT_TOKEN=<your-personal-access-token>

通过Smithery安装

通过以下方式自动为Claude Desktop安装Terrakube MCP服务器 史密瑟里:

npx -y @smithery/cli install @AzBuilder/mcp-server-terrakube --client claude

发展

  1. 克隆存储库:

    git clone https://github.com/azbuilder/terrakube-mcp-server.git
    cd terrakube-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    

使用Claude Desktop

要在Claude Desktop中使用此功能,请将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "terrakube": {
      "command": "npx",
      "args": [
        "-y",
        "@terrakube/mcp-server"
      ],
      "env": {
        "TERRAKUBE_API_URL": "<YOUR_API_URL>",
        "TERRAKUBE_PAT_TOKEN": "<YOUR_PAT_TOKEN>"
      }
    }
  }
}