Terrakube MCP Server

Gerencie workspaces, variáveis, módulos e organizações do Terrakube.

Documentação

MseeP.ai Security Assessment Badge

Terrakube MCP Server

smithery badge
Um servidor Model Context Protocol (MCP) para operações do Terrakube, permitindo gerenciamento de espaços de trabalho, manipulação de variáveis, operações de módulos e gerenciamento de organizações.

Terrakube Server MCP server

Recursos

  • Integração Abrangente com API: Integração completa com a API do Terrakube para operações sem interrupções
  • Segurança de Tipos: Construído com TypeScript para maior segurança de tipos e melhor experiência do desenvolvedor
  • Tratamento de Erros: Tratamento robusto de erros com mensagens claras
  • Configuração de Ambiente: Configuração flexível por meio de variáveis de ambiente
  • Design Modular: Estrutura de código organizada para fácil manutenção e extensão

Ferramentas

Espaços de Trabalho

createWorkspace

Crie um novo espaço de trabalho no Terrakube.

  • Entradas:
    • name (string): Nome do espaço de trabalho
    • organization (string): Nome da organização
    • description (string opcional): Descrição do espaço de trabalho
    • vcsProviderId (string opcional): ID do provedor VCS
    • vcsRepository (string opcional): Nome do repositório VCS
    • vcsBranch (string opcional): Nome do branch VCS
  • Retorna: Detalhes do espaço de trabalho criado

updateWorkspace

Atualize um espaço de trabalho existente.

  • Entradas:
    • name (string): Nome do espaço de trabalho
    • organization (string): Nome da organização
    • description (string opcional): Nova descrição do espaço de trabalho
    • vcsProviderId (string opcional): Novo ID do provedor VCS
    • vcsRepository (string opcional): Novo nome do repositório VCS
    • vcsBranch (string opcional): Novo nome do branch VCS
  • Retorna: Detalhes do espaço de trabalho atualizado

deleteWorkspace

Exclua um espaço de trabalho.

  • Entradas:
    • name (string): Nome do espaço de trabalho
    • organization (string): Nome da organização
  • Retorna: Status de sucesso

getWorkspace

Obtenha detalhes de um espaço de trabalho específico.

  • Entradas:
    • name (string): Nome do espaço de trabalho
    • organization (string): Nome da organização
  • Retorna: Detalhes do espaço de trabalho

listWorkspaces

Liste todos os espaços de trabalho em uma organização.

  • Entradas:
    • organization (string): Nome da organização
  • Retorna: Matriz de detalhes dos espaços de trabalho

Variáveis

createVariable

Crie uma nova variável em um espaço de trabalho.

  • Entradas:
    • name (string): Nome da variável
    • organization (string): Nome da organização
    • workspace (string): Nome do espaço de trabalho
    • value (string): Valor da variável
    • description (string opcional): Descrição da variável
    • category (string opcional): Categoria da variável
    • hcl (booleano opcional): Se a variável é HCL
    • sensitive (booleano opcional): Se a variável é sensível
  • Retorna: Detalhes da variável criada

updateVariable

Atualize uma variável existente.

  • Entradas:
    • name (string): Nome da variável
    • organization (string): Nome da organização
    • workspace (string): Nome do espaço de trabalho
    • value (string): Novo valor da variável
    • description (string opcional): Nova descrição da variável
    • category (string opcional): Nova categoria da variável
    • hcl (booleano opcional): Se a variável é HCL
    • sensitive (booleano opcional): Se a variável é sensível
  • Retorna: Detalhes da variável atualizada

deleteVariable

Exclua uma variável.

  • Entradas:
    • name (string): Nome da variável
    • organization (string): Nome da organização
    • workspace (string): Nome do espaço de trabalho
  • Retorna: Status de sucesso

getVariable

Obtenha detalhes de uma variável específica.

  • Entradas:
    • name (string): Nome da variável
    • organization (string): Nome da organização
    • workspace (string): Nome do espaço de trabalho
  • Retorna: Detalhes da variável

listVariables

Liste todas as variáveis em um espaço de trabalho.

  • Entradas:
    • organization (string): Nome da organização
    • workspace (string): Nome do espaço de trabalho
  • Retorna: Matriz de detalhes das variáveis

Módulos

createModule

Crie um novo módulo.

  • Entradas:
    • name (string): Nome do módulo
    • organization (string): Nome da organização
    • provider (string): Provedor do módulo
    • description (string opcional): Descrição do módulo
  • Retorna: Detalhes do módulo criado

updateModule

Atualize um módulo existente.

  • Entradas:
    • name (string): Nome do módulo
    • organization (string): Nome da organização
    • provider (string): Provedor do módulo
    • description (string opcional): Nova descrição do módulo
  • Retorna: Detalhes do módulo atualizado

deleteModule

Exclua um módulo.

  • Entradas:
    • name (string): Nome do módulo
    • organization (string): Nome da organização
    • provider (string): Provedor do módulo
  • Retorna: Status de sucesso

getModule

Obtenha detalhes de um módulo específico.

  • Entradas:
    • name (string): Nome do módulo
    • organization (string): Nome da organização
    • provider (string): Provedor do módulo
  • Retorna: Detalhes do módulo

listModules

Liste todos os módulos em uma organização.

  • Entradas:
    • organization (string): Nome da organização
  • Retorna: Matriz de detalhes dos módulos

Organizações

createOrganization

Crie uma nova organização.

  • Entradas:
    • name (string): Nome da organização
    • description (string opcional): Descrição da organização
  • Retorna: Detalhes da organização criada

updateOrganization

Atualize uma organização existente.

  • Entradas:
    • name (string): Nome da organização
    • description (string opcional): Nova descrição da organização
  • Retorna: Detalhes da organização atualizada

deleteOrganization

Exclua uma organização.

  • Entradas:
    • name (string): Nome da organização
  • Retorna: Status de sucesso

getOrganization

Obtenha detalhes de uma organização específica.

  • Entradas:
    • name (string): Nome da organização
  • Retorna: Detalhes da organização

listOrganizations

Liste todas as organizações.

  • Retorna: Matriz de detalhes das organizações

Configuração

Variáveis de Ambiente

Crie um arquivo .env no diretório raiz com as seguintes variáveis:

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

Instalação via Smithery

Para instalar o Terrakube MCP Server para Claude Desktop automaticamente via Smithery:

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

Desenvolvimento

  1. Clone o repositório:

    git clone https://github.com/azbuilder/terrakube-mcp-server.git
    cd terrakube-mcp-server
    
  2. Instale as dependências:

    npm install
    
  3. Compile o projeto:

    npm run build
    

Uso com Claude Desktop

Para usar isso com Claude Desktop, adicione o seguinte ao seu 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>"
      }
    }
  }
}