Terrakube MCP Server
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.
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
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:
Installing via Smithery
To install Terrakube MCP Server for Claude Desktop automatically via Smithery:
Development
- Clone the repository:
- Install dependencies:
- Build the project:
Usage with Claude Desktop
To use this with Claude Desktop, add the following to your claude_desktop_config.json
:
You must be authenticated.
A Model Context Protocol server that enables managing Terrakube infrastructure through natural language, handling workspace management, variables, modules, and organization operations.