Terrakube MCP Server
Gestiona espacios de trabajo, variables, módulos y organizaciones de Terrakube.
Documentación
Terrakube MCP Server
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.
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 trabajoorganization(cadena): Nombre de la organizacióndescription(cadena opcional): Descripción del espacio de trabajovcsProviderId(cadena opcional): ID del proveedor de VCSvcsRepository(cadena opcional): Nombre del repositorio de VCSvcsBranch(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 trabajoorganization(cadena): Nombre de la organizacióndescription(cadena opcional): Nueva descripción del espacio de trabajovcsProviderId(cadena opcional): Nuevo ID del proveedor de VCSvcsRepository(cadena opcional): Nuevo nombre del repositorio de VCSvcsBranch(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 trabajoorganization(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 trabajoorganization(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 variableorganization(cadena): Nombre de la organizaciónworkspace(cadena): Nombre del espacio de trabajovalue(cadena): Valor de la variabledescription(cadena opcional): Descripción de la variablecategory(cadena opcional): Categoría de la variablehcl(booleano opcional): Si la variable es HCLsensitive(booleano opcional): Si la variable es sensible
- Devuelve: Detalles de la variable creada
updateVariable
Actualizar una variable existente.
- Entradas:
name(cadena): Nombre de la variableorganization(cadena): Nombre de la organizaciónworkspace(cadena): Nombre del espacio de trabajovalue(cadena): Nuevo valor de la variabledescription(cadena opcional): Nueva descripción de la variablecategory(cadena opcional): Nueva categoría de la variablehcl(booleano opcional): Si la variable es HCLsensitive(booleano opcional): Si la variable es sensible
- Devuelve: Detalles de la variable actualizada
deleteVariable
Eliminar una variable.
- Entradas:
name(cadena): Nombre de la variableorganization(cadena): Nombre de la organizaciónworkspace(cadena): Nombre del espacio de trabajo
- Devuelve: Estado de éxito
getVariable
Obtener detalles de una variable específica.
- Entradas:
name(cadena): Nombre de la variableorganization(cadena): Nombre de la organizaciónworkspace(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ónworkspace(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óduloorganization(cadena): Nombre de la organizaciónprovider(cadena): Proveedor del módulodescription(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óduloorganization(cadena): Nombre de la organizaciónprovider(cadena): Proveedor del módulodescription(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óduloorganization(cadena): Nombre de la organizaciónprovider(cadena): Proveedor del módulo
- Devuelve: Estado de éxito
getModule
Obtener detalles de un módulo específico.
- Entradas:
name(cadena): Nombre del móduloorganization(cadena): Nombre de la organizaciónprovider(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óndescription(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óndescription(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
-
Clone el repositorio:
git clone https://github.com/azbuilder/terrakube-mcp-server.git cd terrakube-mcp-server -
Instale las dependencias:
npm install -
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>"
}
}
}
}
