Terrakube MCP Server
The Terrakube MCP Server provides comprehensive management functionalities within the Terrakube ecosystem:
Organization Management: Create, update, delete, fetch, and list organizations
Workspace Management: Create, update, delete, fetch, and list workspaces with optional VCS integration
Module Operations: Create, update, delete, fetch, and list modules with provider and registry details
Variable Handling: Create, update, delete, fetch, and list variables with support for sensitive and HCL flags
The server features a robust API, TypeScript implementation for type safety and modularity, comprehensive error handling, and flexible configuration options.
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.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Terrakube MCP Server list all workspaces in the production organization"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Terrakube MCP Server
A Model Context Protocol (MCP) server for Terrakube operations, enabling workspace management, variable handling, module operations, and organization management.
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
Related MCP server: Coolify MCP Server
Tools
Workspaces
createWorkspace
Create a new workspace in Terrakube.
Inputs:
name(string): Name of the workspaceorganization(string): Organization namedescription(optional string): Workspace descriptionvcsProviderId(optional string): VCS provider IDvcsRepository(optional string): VCS repository namevcsBranch(optional string): VCS branch name
Returns: Created workspace details
updateWorkspace
Update an existing workspace.
Inputs:
name(string): Name of the workspaceorganization(string): Organization namedescription(optional string): New workspace descriptionvcsProviderId(optional string): New VCS provider IDvcsRepository(optional string): New VCS repository namevcsBranch(optional string): New VCS branch name
Returns: Updated workspace details
deleteWorkspace
Delete a workspace.
Inputs:
name(string): Name of the workspaceorganization(string): Organization name
Returns: Success status
getWorkspace
Get details of a specific workspace.
Inputs:
name(string): Name of the workspaceorganization(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 variableorganization(string): Organization nameworkspace(string): Workspace namevalue(string): Variable valuedescription(optional string): Variable descriptioncategory(optional string): Variable categoryhcl(optional boolean): Whether the variable is HCLsensitive(optional boolean): Whether the variable is sensitive
Returns: Created variable details
updateVariable
Update an existing variable.
Inputs:
name(string): Name of the variableorganization(string): Organization nameworkspace(string): Workspace namevalue(string): New variable valuedescription(optional string): New variable descriptioncategory(optional string): New variable categoryhcl(optional boolean): Whether the variable is HCLsensitive(optional boolean): Whether the variable is sensitive
Returns: Updated variable details
deleteVariable
Delete a variable.
Inputs:
name(string): Name of the variableorganization(string): Organization nameworkspace(string): Workspace name
Returns: Success status
getVariable
Get details of a specific variable.
Inputs:
name(string): Name of the variableorganization(string): Organization nameworkspace(string): Workspace name
Returns: Variable details
listVariables
List all variables in a workspace.
Inputs:
organization(string): Organization nameworkspace(string): Workspace name
Returns: Array of variable details
Modules
createModule
Create a new module.
Inputs:
name(string): Name of the moduleorganization(string): Organization nameprovider(string): Module providerdescription(optional string): Module description
Returns: Created module details
updateModule
Update an existing module.
Inputs:
name(string): Name of the moduleorganization(string): Organization nameprovider(string): Module providerdescription(optional string): New module description
Returns: Updated module details
deleteModule
Delete a module.
Inputs:
name(string): Name of the moduleorganization(string): Organization nameprovider(string): Module provider
Returns: Success status
getModule
Get details of a specific module.
Inputs:
name(string): Name of the moduleorganization(string): Organization nameprovider(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 organizationdescription(optional string): Organization description
Returns: Created organization details
updateOrganization
Update an existing organization.
Inputs:
name(string): Name of the organizationdescription(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 claudeDevelopment
Clone the repository:
git clone https://github.com/azbuilder/terrakube-mcp-server.git cd terrakube-mcp-serverInstall dependencies:
npm installBuild 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>"
}
}
}
}Available Tools
16 toolscreate-moduleC
Creates a new module in the specified organization
Inputs: name (required), organizationId (required), provider (required), registry (required), +1 more.
create-organizationC
Creates a new organization with the specified name and optional description
Inputs: name (required), description.
create-variableC
Creates a new variable in the specified workspace
Inputs: key (required), organizationId (required), value (required), workspaceId (required), +3 more.
create-workspaceC
Creates a new workspace in the specified organization
Inputs: name (required), organizationId (required), terraformVersion (required), description, +2 more.
edit-moduleC
Updates an existing module's details
Inputs: moduleId (required), organizationId (required), description, name, +2 more.
edit-organizationC
Updates an existing organization's details
Inputs: id (required), description, name.
edit-variableC
Updates an existing variable's details
Inputs: organizationId (required), variableId (required), workspaceId (required), category, +4 more.
edit-workspaceC
Updates an existing workspace's details
Inputs: organizationId (required), workspaceId (required), description, name, +3 more.
get-moduleC
Retrieves detailed information about a specific module
Inputs: moduleId (required), organizationId (required).
get-organizationB
Retrieves detailed information about a specific organization by its ID
Inputs: id (required).
get-variableC
Retrieves detailed information about a specific variable
Inputs: organizationId (required), variableId (required), workspaceId (required).
get-workspaceC
Retrieves detailed information about a specific workspace
Inputs: organizationId (required), workspaceId (required).
list-modulesB
Lists all modules in the specified organization
Inputs: organizationId (required).
list-organizationsB
Lists all organizations accessible to the current user
Inputs: no named parameters.
list-variablesB
Lists all variables in the specified workspace
Inputs: organizationId (required), workspaceId (required).
list-workspacesC
Lists all workspaces in the specified organization
Inputs: organizationId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Every tool has a clearly distinct purpose with no ambiguity, as each combines a specific action (create, edit, get, list) with a specific resource type (module, organization, variable, workspace). The descriptions reinforce this clarity, making misselection unlikely.
Tool names follow a perfectly consistent verb-noun pattern throughout, using hyphen-separated lowercase (e.g., create-module, edit-organization). All tools adhere to this convention without any deviations or mixed styles.
With 16 tools, the count is well-scoped for managing Terraform-like resources (modules, organizations, variables, workspaces). Each tool earns its place by covering CRUD operations across four resource types, avoiding bloat or thinness.
The tool set provides complete CRUD/lifecycle coverage for the inferred domain of infrastructure management, with create, edit, get, and list operations for all four resource types. There are no obvious gaps or dead ends in the surface.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that integrates Claude with the Terraform Cloud API, allowing Claude to manage your Terraform infrastructure through natural conversation.6223MIT
- AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server that enables AI assistants to interact with Coolify instances through natural language, allowing management of servers, applications, databases, and deployments.2,280 npm621MIT
- FlicenseAqualityDmaintenanceA containerized Model Context Protocol server that enables using natural language to develop AWS infrastructure with Terraform, offering best practices guidance, security scanning with Checkov, and access to AWS provider documentation.7-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables CRUD operations and querying on Microsoft Dataverse through natural language.7 npmMIT