Terrakube MCP Server

Gestiona espacios de trabajo, variables, módulos y organizaciones de Terrakube.

Documentación

MseeP.ai Security Assessment Badge

Terrakube MCP Server

smithery badge
Un servidor de Protocolo de Contexto de Modelo (MCP) para operaciones de Terrakube, que permite la gestión de espacios de trabajo, manejo de variables, operaciones de módulos y gestión de organizaciones.

Terrakube Server MCP server

Características

  • Integración Integral de API: Integración completa con la API de Terrakube para operaciones sin interrupciones
  • Seguridad de Tipos: Construido con TypeScript para una mayor seguridad de tipos y experiencia de desarrollador
  • Manejo de Errores: Manejo robusto de errores con mensajes de error claros
  • Configuración de Entorno: Configuración flexible a través de variables de entorno
  • Diseño Modular: Estructura de código organizada para fácil mantenimiento y extensión

Herramientas

Espacios de Trabajo

createWorkspace

Crear un nuevo espacio de trabajo en Terrakube.

  • Entradas:
    • name (cadena): Nombre del espacio de trabajo
    • organization (cadena): Nombre de la organización
    • description (cadena opcional): Descripción del espacio de trabajo
    • vcsProviderId (cadena opcional): ID del proveedor de VCS
    • vcsRepository (cadena opcional): Nombre del repositorio de VCS
    • vcsBranch (cadena opcional): Nombre de la rama de VCS
  • Devuelve: Detalles del espacio de trabajo creado

updateWorkspace

Actualizar un espacio de trabajo existente.

  • Entradas:
    • name (cadena): Nombre del espacio de trabajo
    • organization (cadena): Nombre de la organización
    • description (cadena opcional): Nueva descripción del espacio de trabajo
    • vcsProviderId (cadena opcional): Nuevo ID del proveedor de VCS
    • vcsRepository (cadena opcional): Nuevo nombre del repositorio de VCS
    • vcsBranch (cadena opcional): Nuevo nombre de la rama de VCS
  • Devuelve: Detalles del espacio de trabajo actualizado

deleteWorkspace

Eliminar un espacio de trabajo.

  • Entradas:
    • name (cadena): Nombre del espacio de trabajo
    • organization (cadena): Nombre de la organización
  • Devuelve: Estado de éxito

getWorkspace

Obtener detalles de un espacio de trabajo específico.

  • Entradas:
    • name (cadena): Nombre del espacio de trabajo
    • organization (cadena): Nombre de la organización
  • Devuelve: Detalles del espacio de trabajo

listWorkspaces

Listar todos los espacios de trabajo en una organización.

  • Entradas:
    • organization (cadena): Nombre de la organización
  • Devuelve: Matriz de detalles de espacios de trabajo

Variables

createVariable

Crear una nueva variable en un espacio de trabajo.

  • Entradas:
    • name (cadena): Nombre de la variable
    • organization (cadena): Nombre de la organización
    • workspace (cadena): Nombre del espacio de trabajo
    • value (cadena): Valor de la variable
    • description (cadena opcional): Descripción de la variable
    • category (cadena opcional): Categoría de la variable
    • hcl (booleano opcional): Si la variable es HCL
    • sensitive (booleano opcional): Si la variable es sensible
  • Devuelve: Detalles de la variable creada

updateVariable

Actualizar una variable existente.

  • Entradas:
    • name (cadena): Nombre de la variable
    • organization (cadena): Nombre de la organización
    • workspace (cadena): Nombre del espacio de trabajo
    • value (cadena): Nuevo valor de la variable
    • description (cadena opcional): Nueva descripción de la variable
    • category (cadena opcional): Nueva categoría de la variable
    • hcl (booleano opcional): Si la variable es HCL
    • sensitive (booleano opcional): Si la variable es sensible
  • Devuelve: Detalles de la variable actualizada

deleteVariable

Eliminar una variable.

  • Entradas:
    • name (cadena): Nombre de la variable
    • organization (cadena): Nombre de la organización
    • workspace (cadena): Nombre del espacio de trabajo
  • Devuelve: Estado de éxito

getVariable

Obtener detalles de una variable específica.

  • Entradas:
    • name (cadena): Nombre de la variable
    • organization (cadena): Nombre de la organización
    • workspace (cadena): Nombre del espacio de trabajo
  • Devuelve: Detalles de la variable

listVariables

Listar todas las variables en un espacio de trabajo.

  • Entradas:
    • organization (cadena): Nombre de la organización
    • workspace (cadena): Nombre del espacio de trabajo
  • Devuelve: Matriz de detalles de variables

Módulos

createModule

Crear un nuevo módulo.

  • Entradas:
    • name (cadena): Nombre del módulo
    • organization (cadena): Nombre de la organización
    • provider (cadena): Proveedor del módulo
    • description (cadena opcional): Descripción del módulo
  • Devuelve: Detalles del módulo creado

updateModule

Actualizar un módulo existente.

  • Entradas:
    • name (cadena): Nombre del módulo
    • organization (cadena): Nombre de la organización
    • provider (cadena): Proveedor del módulo
    • description (cadena opcional): Nueva descripción del módulo
  • Devuelve: Detalles del módulo actualizado

deleteModule

Eliminar un módulo.

  • Entradas:
    • name (cadena): Nombre del módulo
    • organization (cadena): Nombre de la organización
    • provider (cadena): Proveedor del módulo
  • Devuelve: Estado de éxito

getModule

Obtener detalles de un módulo específico.

  • Entradas:
    • name (cadena): Nombre del módulo
    • organization (cadena): Nombre de la organización
    • provider (cadena): Proveedor del módulo
  • Devuelve: Detalles del módulo

listModules

Listar todos los módulos en una organización.

  • Entradas:
    • organization (cadena): Nombre de la organización
  • Devuelve: Matriz de detalles de módulos

Organizaciones

createOrganization

Crear una nueva organización.

  • Entradas:
    • name (cadena): Nombre de la organización
    • description (cadena opcional): Descripción de la organización
  • Devuelve: Detalles de la organización creada

updateOrganization

Actualizar una organización existente.

  • Entradas:
    • name (cadena): Nombre de la organización
    • description (cadena opcional): Nueva descripción de la organización
  • Devuelve: Detalles de la organización actualizada

deleteOrganization

Eliminar una organización.

  • Entradas:
    • name (cadena): Nombre de la organización
  • Devuelve: Estado de éxito

getOrganization

Obtener detalles de una organización específica.

  • Entradas:
    • name (cadena): Nombre de la organización
  • Devuelve: Detalles de la organización

listOrganizations

Listar todas las organizaciones.

  • Devuelve: Matriz de detalles de organizaciones

Configuración

Variables de Entorno

Cree un archivo .env en el directorio raíz con las siguientes variables:

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

Instalación mediante Smithery

Para instalar Terrakube MCP Server para Claude Desktop automáticamente mediante Smithery:

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

Desarrollo

  1. Clone el repositorio:

    git clone https://github.com/azbuilder/terrakube-mcp-server.git
    cd terrakube-mcp-server
    
  2. Instale las dependencias:

    npm install
    
  3. Compile el proyecto:

    npm run build
    

Uso con Claude Desktop

Para usar esto con Claude Desktop, agregue lo siguiente a su 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>"
      }
    }
  }
}