Terrakube MCP Server

by AzBuilder
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Uses .ENV for flexible configuration through environment variables, allowing users to set Terrakube API URL, personal access token, and organization name.

  • Packaged as an npm module (@terrakube/mcp-server-terrakube) that can be installed and executed with npx.

  • Built with TypeScript for enhanced type safety and developer experience when interfacing with Terrakube's API.

Servidor MCP de Terrakube

Un servidor de Protocolo de Contexto de Modelo (MCP) para operaciones de Terrakube, que permite la gestión del espacio de trabajo, el manejo de variables, las operaciones de módulos y la gestión de la organización.

Características

  • Integración completa de API : integración completa con la API de Terrakube para operaciones fluidas
  • Seguridad de tipos : creado con TypeScript para mejorar la seguridad de tipos y la experiencia del desarrollador.
  • Manejo de errores : Manejo de errores robusto con mensajes de error claros
  • Configuración del entorno : Configuración flexible mediante variables de entorno
  • Diseño modular : Estructura de código organizada para un fácil mantenimiento y ampliación.

Herramientas

Espacios de trabajo

createWorkspace

Crea 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 VCS
    • vcsBranch (cadena opcional): nombre de la rama 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): descripción del nuevo espacio de trabajo
    • vcsProviderId (cadena opcional): nuevo ID de proveedor de VCS
    • vcsRepository (cadena opcional): nuevo nombre del repositorio VCS
    • vcsBranch (cadena opcional): nuevo nombre de rama de VCS
  • Devoluciones : Detalles del espacio de trabajo actualizados

deleteWorkspace

Eliminar un espacio de trabajo.

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

getWorkspace

Obtenga detalles de un espacio de trabajo específico.

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

listWorkspaces

Enumere todos los espacios de trabajo de una organización.

  • Entradas :
    • organization (cadena): nombre de la organización
  • Devuelve : Matriz de detalles del espacio 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 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 variable
    • description (cadena opcional): Nueva descripción de variable
    • category (cadena opcional): Nueva categoría de variable
    • hcl (booleano opcional): si la variable es HCL
    • sensitive (booleano opcional): si la variable es sensible
  • Devuelve : Detalles de la variable actualizados

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
  • Devoluciones : Estado de éxito

getVariable

Obtenga 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
  • Devoluciones : Detalles de la variable

listVariables

Enumere 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): Descripción del nuevo módulo
  • Devoluciones : Detalles del módulo actualizados

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
  • Devoluciones : Estado de éxito

getModule

Obtenga 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
  • Devoluciones : Detalles del módulo

listModules

Enumere todos los módulos de una organización.

  • Entradas :
    • organization (cadena): nombre de la organización
  • Devuelve : Matriz de detalles del módulo

Organizaciones

createOrganization

Crear una nueva organización.

  • Entradas :
    • name (cadena): Nombre de la organización
    • description (cadena opcional): Descripción de la organización
  • Devoluciones : 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
  • Devoluciones : Detalles de la organización actualizados

deleteOrganization

Eliminar una organización.

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

getOrganization

Obtenga detalles de una organización específica.

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

listOrganizations

Enumere todas las organizaciones.

  • Devuelve : Matriz de detalles de la organización

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 herrería

Para instalar Terrakube MCP Server para Claude Desktop automáticamente a través de Smithery :

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

Desarrollo

  1. Clonar el repositorio:
    git clone https://github.com/azbuilder/terrakube-mcp-server.git cd terrakube-mcp-server
  2. Instalar dependencias:
    npm install
  3. Construir 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>" } } } }

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor de Protocolo de Contexto de Modelo que permite administrar la infraestructura de Terrakube a través del lenguaje natural, manejando la gestión del espacio de trabajo, variables, módulos y operaciones de la organización.

  1. Features
    1. Tools
      1. Workspaces
      2. Variables
      3. Modules
      4. Organizations
    2. Setup
      1. Environment Variables
      2. Installing via Smithery
      3. Development
      4. Usage with Claude Desktop
    ID: lomk5z9d0a