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
EnergyAtIt Grid MCP Server
EnergyAtIt is the first MCP server for physical grid infrastructure. 45 tools that let AI agents interact with power grid assets — translating 8 grid protocols (IEC 61850, DNP3, Modbus, OpenADR, OCPP, IEEE 2030.5) into MCP tool calls.
Appwrite
Interact with the Appwrite API to manage databases, users, storage, and more. Requires configuration via environment variables.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers without authentication.
Bitrix24
The Bitrix24 MCP Server is designed to connect external systems to Bitrix24. It provides AI agents with standardized access to Bitrix24 features and data via the Model Context Protocol (MCP). The MCP server enables external AI systems to interact with Bitrix24 modules through a single standardized interface. You can connect the Bitrix24 MCP Server to the AI model you already use and manage Bitrix24 directly from it. The MCP server allows actions to be performed and data to be retrieved strictly within the access rights configured in your Bitrix24: the AI agent receives only the information and capabilities that are explicitly requested and authorized. Interaction with the Tasks module is supported (the list of supported modules and available actions is gradually expanding).
MCP Weather Server
Provides hourly weather forecasts using the AccuWeather API.
Snowflake Cortex AI
A server for Snowflake providing tools for its Cortex AI features, including Search, Analyst, and Complete.
Typecast API
An MCP server for the Typecast API, enabling AI-powered voice generation for various content.
Remote MCP Server on Cloudflare
An MCP server deployed on Cloudflare Workers, featuring OAuth login support.
Azure MCP
Manage and interact with Microsoft Azure services.
PlayFab MCP Server
A middleware server that allows large language models to interact directly with PlayFab services.
