Terrakube MCP Server
Gerencie workspaces, variáveis, módulos e organizações do Terrakube.
Documentação
Terrakube MCP Server
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.
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 trabalhoorganization(string): Nome da organizaçãodescription(string opcional): Descrição do espaço de trabalhovcsProviderId(string opcional): ID do provedor VCSvcsRepository(string opcional): Nome do repositório VCSvcsBranch(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 trabalhoorganization(string): Nome da organizaçãodescription(string opcional): Nova descrição do espaço de trabalhovcsProviderId(string opcional): Novo ID do provedor VCSvcsRepository(string opcional): Novo nome do repositório VCSvcsBranch(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 trabalhoorganization(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 trabalhoorganization(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ávelorganization(string): Nome da organizaçãoworkspace(string): Nome do espaço de trabalhovalue(string): Valor da variáveldescription(string opcional): Descrição da variávelcategory(string opcional): Categoria da variávelhcl(booleano opcional): Se a variável é HCLsensitive(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ávelorganization(string): Nome da organizaçãoworkspace(string): Nome do espaço de trabalhovalue(string): Novo valor da variáveldescription(string opcional): Nova descrição da variávelcategory(string opcional): Nova categoria da variávelhcl(booleano opcional): Se a variável é HCLsensitive(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ávelorganization(string): Nome da organizaçãoworkspace(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ávelorganization(string): Nome da organizaçãoworkspace(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çãoworkspace(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óduloorganization(string): Nome da organizaçãoprovider(string): Provedor do módulodescription(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óduloorganization(string): Nome da organizaçãoprovider(string): Provedor do módulodescription(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óduloorganization(string): Nome da organizaçãoprovider(string): Provedor do módulo
- Retorna: Status de sucesso
getModule
Obtenha detalhes de um módulo específico.
- Entradas:
name(string): Nome do móduloorganization(string): Nome da organizaçãoprovider(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çãodescription(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çãodescription(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
-
Clone o repositório:
git clone https://github.com/azbuilder/terrakube-mcp-server.git cd terrakube-mcp-server -
Instale as dependências:
npm install -
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>"
}
}
}
}
