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
Commvault
Interact with Commvault software to access job details, security posture, and SLA status of the commcell.
DEX Metrics MCP
Tracks DEX trading volume metrics from Dune Analytics, segmented by blockchain, aggregator, and more.
AWS MCP Servers
A suite of MCP servers providing AI applications with access to AWS documentation, contextual guidance, and best practices.
Kubernetes MCP Server
A versatile MCP server for Kubernetes and OpenShift, distributed as a native binary, npm/Python package, or Docker image.
Skyvia MCP
Skyvia MCP Endpoint is a no-code gateway that makes your business data accessible to AI assistants in real time.
Free USDC Transfer
Enables free USDC transfers on the Base network using a Coinbase CDP MPC Wallet.
Strava MCP Server
A server that connects to the Strava API, allowing language models to access Strava data and features.
MCP Replicate FLUX
Generates images using Replicate's FLUX model and stores them in Cloudflare R2.
Heroku Platform
Interact with Heroku Platform resources securely using the Heroku CLI. Requires the Heroku CLI and a valid API key.
Grafana
Access Grafana resources like dashboards, datasources, Prometheus, Loki, and alerts.
