Terrakube MCP Server

Terrakube MCP Server

A Model Context Protocol server that enables managing Terrakube infrastructure through natural language, handling workspace management, variables, modules, and organization operations.

AzBuilder

Developer Tools
Visit Server

Tools

list-variables

Lists all variables in the specified workspace

list-organizations

Lists all organizations accessible to the current user

get-organization

Retrieves detailed information about a specific organization by its ID

create-organization

Creates a new organization with the specified name and optional description

edit-organization

Updates an existing organization's details

list-workspaces

Lists all workspaces in the specified organization

get-workspace

Retrieves detailed information about a specific workspace

create-workspace

Creates a new workspace in the specified organization

edit-workspace

Updates an existing workspace's details

list-modules

Lists all modules in the specified organization

get-module

Retrieves detailed information about a specific module

create-module

Creates a new module in the specified organization

edit-module

Updates an existing module's details

get-variable

Retrieves detailed information about a specific variable

create-variable

Creates a new variable in the specified workspace

edit-variable

Updates an existing variable's details

README

Terrakube MCP Server

smithery badge <br/> A Model Context Protocol (MCP) server for Terrakube operations, enabling workspace management, variable handling, module operations, and organization management.

<a href="https://glama.ai/mcp/servers/@AzBuilder/mcp-server-terrakube"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@AzBuilder/mcp-server-terrakube/badge" alt="Terrakube Server MCP server" /> </a>

Features

  • Comprehensive API Integration: Full integration with Terrakube's API for seamless operations
  • Type Safety: Built with TypeScript for enhanced type safety and developer experience
  • Error Handling: Robust error handling with clear error messages
  • Environment Configuration: Flexible configuration through environment variables
  • Modular Design: Organized code structure for easy maintenance and extension

Tools

Workspaces

createWorkspace

Create a new workspace in Terrakube.

  • Inputs:
    • name (string): Name of the workspace
    • organization (string): Organization name
    • description (optional string): Workspace description
    • vcsProviderId (optional string): VCS provider ID
    • vcsRepository (optional string): VCS repository name
    • vcsBranch (optional string): VCS branch name
  • Returns: Created workspace details

updateWorkspace

Update an existing workspace.

  • Inputs:
    • name (string): Name of the workspace
    • organization (string): Organization name
    • description (optional string): New workspace description
    • vcsProviderId (optional string): New VCS provider ID
    • vcsRepository (optional string): New VCS repository name
    • vcsBranch (optional string): New VCS branch name
  • Returns: Updated workspace details

deleteWorkspace

Delete a workspace.

  • Inputs:
    • name (string): Name of the workspace
    • organization (string): Organization name
  • Returns: Success status

getWorkspace

Get details of a specific workspace.

  • Inputs:
    • name (string): Name of the workspace
    • organization (string): Organization name
  • Returns: Workspace details

listWorkspaces

List all workspaces in an organization.

  • Inputs:
    • organization (string): Organization name
  • Returns: Array of workspace details

Variables

createVariable

Create a new variable in a workspace.

  • Inputs:
    • name (string): Name of the variable
    • organization (string): Organization name
    • workspace (string): Workspace name
    • value (string): Variable value
    • description (optional string): Variable description
    • category (optional string): Variable category
    • hcl (optional boolean): Whether the variable is HCL
    • sensitive (optional boolean): Whether the variable is sensitive
  • Returns: Created variable details

updateVariable

Update an existing variable.

  • Inputs:
    • name (string): Name of the variable
    • organization (string): Organization name
    • workspace (string): Workspace name
    • value (string): New variable value
    • description (optional string): New variable description
    • category (optional string): New variable category
    • hcl (optional boolean): Whether the variable is HCL
    • sensitive (optional boolean): Whether the variable is sensitive
  • Returns: Updated variable details

deleteVariable

Delete a variable.

  • Inputs:
    • name (string): Name of the variable
    • organization (string): Organization name
    • workspace (string): Workspace name
  • Returns: Success status

getVariable

Get details of a specific variable.

  • Inputs:
    • name (string): Name of the variable
    • organization (string): Organization name
    • workspace (string): Workspace name
  • Returns: Variable details

listVariables

List all variables in a workspace.

  • Inputs:
    • organization (string): Organization name
    • workspace (string): Workspace name
  • Returns: Array of variable details

Modules

createModule

Create a new module.

  • Inputs:
    • name (string): Name of the module
    • organization (string): Organization name
    • provider (string): Module provider
    • description (optional string): Module description
  • Returns: Created module details

updateModule

Update an existing module.

  • Inputs:
    • name (string): Name of the module
    • organization (string): Organization name
    • provider (string): Module provider
    • description (optional string): New module description
  • Returns: Updated module details

deleteModule

Delete a module.

  • Inputs:
    • name (string): Name of the module
    • organization (string): Organization name
    • provider (string): Module provider
  • Returns: Success status

getModule

Get details of a specific module.

  • Inputs:
    • name (string): Name of the module
    • organization (string): Organization name
    • provider (string): Module provider
  • Returns: Module details

listModules

List all modules in an organization.

  • Inputs:
    • organization (string): Organization name
  • Returns: Array of module details

Organizations

createOrganization

Create a new organization.

  • Inputs:
    • name (string): Name of the organization
    • description (optional string): Organization description
  • Returns: Created organization details

updateOrganization

Update an existing organization.

  • Inputs:
    • name (string): Name of the organization
    • description (optional string): New organization description
  • Returns: Updated organization details

deleteOrganization

Delete an organization.

  • Inputs:
    • name (string): Name of the organization
  • Returns: Success status

getOrganization

Get details of a specific organization.

  • Inputs:
    • name (string): Name of the organization
  • Returns: Organization details

listOrganizations

List all organizations.

  • Returns: Array of organization details

Setup

Environment Variables

Create a .env file in the root directory with the following variables:

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

Installing via Smithery

To install Terrakube MCP Server for Claude Desktop automatically via Smithery:

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

Development

  1. Clone the repository:

    git clone https://github.com/azbuilder/terrakube-mcp-server.git
    cd terrakube-mcp-server
    
  2. Install dependencies:

    npm install
    
  3. Build the project:

    npm run build
    

Usage with Claude Desktop

To use this with Claude Desktop, add the following to your 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>"
      }
    }
  }
}

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python