Model Context Protocol Server for Terrakube
Documentation
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:
TERRAKUBE_API_URL=
TERRAKUBE_PAT_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
1. Clone the repository:
git clone https://github.com/azbuilder/terrakube-mcp-server.git
cd terrakube-mcp-server2. Install dependencies:
npm install3. Build the project:
npm run buildUsage 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": "",
"TERRAKUBE_PAT_TOKEN": ""
}
}
}
}Similar MCP
Based on tags & features
Trending MCP
Most active this week
