Terrakube MCP Server
Manage Terrakube workspaces, variables, modules, and organizations.
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=<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
-
Clone the repository:
git clone https://github.com/azbuilder/terrakube-mcp-server.git cd terrakube-mcp-server -
Install dependencies:
npm install -
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>"
}
}
}
}
Related Servers
Globus
Manage research data and compute with Globus.
Kaggle
Interact with the Kaggle API to access datasets, notebooks, and competitions.
Cloudflare MCP Server
A self-hostable MCP server for deployment on Cloudflare Workers using Durable Objects.
Eyevinn Open Source Cloud
Interact with the Eyevinn Open Source Cloud API. Requires a Personal Access Token (OSC_ACCESS_TOKEN).
Code Ocean MCP Server
Search and run capsules, execute pipelines, and manage data assets on the Code Ocean platform.
Dataproc MCP Server
An MCP server for managing Google Cloud Dataproc operations and big data workflows, with seamless integration for VS Code.
Google Analytics Data API
Access the Google Analytics Data API to retrieve and analyze website traffic data.
Remote MCP Server on Cloudflare
A remote MCP server running on Cloudflare Workers with OAuth login support.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers without authentication.
MCP Gemini CLI
An MCP server for Google's Gemini CLI, allowing AI assistants to leverage Gemini's capabilities.
