mcp-server-terrakube
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 workspace
- `organization` (string): Organization name
- `description` (optional string): Workspace description
- `vcsProviderId` (optional string): VCS provider ID
- `vcsRepository` (optional string): VCS repository name
- `vcsBranch` (optional string): VCS branch name
- Returns: Created workspace details
`updateWorkspace`
Update an existing workspace.
- Inputs:
- `name` (string): Name of the workspace
- `organization` (string): Organization name
- `description` (optional string): New workspace description
- `vcsProviderId` (optional string): New VCS provider ID
- `vcsRepository` (optional string): New VCS repository name
- `vcsBranch` (optional string): New VCS branch name
- Returns: Updated workspace details
`deleteWorkspace`
Delete a workspace.
- Inputs:
- `name` (string): Name of the workspace
- `organization` (string): Organization name
- Returns: Success status
`getWorkspace`
Get details of a specific workspace.
- Inputs:
- `name` (string): Name of the workspace
- `organization` (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 variable
- `organization` (string): Organization name
- `workspace` (string): Workspace name
- `value` (string): Variable value
- `description` (optional string): Variable description
- `category` (optional string): Variable category
- `hcl` (optional boolean): Whether the variable is HCL
- `sensitive` (optional boolean): Whether the variable is sensitive
- Returns: Created variable details
`updateVariable`
Update an existing variable.
- Inputs:
- `name` (string): Name of the variable
- `organization` (string): Organization name
- `workspace` (string): Workspace name
- `value` (string): New variable value
- `description` (optional string): New variable description
- `category` (optional string): New variable category
- `hcl` (optional boolean): Whether the variable is HCL
- `sensitive` (optional boolean): Whether the variable is sensitive
- Returns: Updated variable details
`deleteVariable`
Delete a variable.
- Inputs:
- `name` (string): Name of the variable
- `organization` (string): Organization name
- `workspace` (string): Workspace name
- Returns: Success status
`getVariable`
Get details of a specific variable.
- Inputs:
- `name` (string): Name of the variable
- `organization` (string): Organization name
- `workspace` (string): Workspace name
- Returns: Variable details
`listVariables`
List all variables in a workspace.
- Inputs:
- `organization` (string): Organization name
- `workspace` (string): Workspace name
- Returns: Array of variable details
Modules
`createModule`
Create a new module.
- Inputs:
- `name` (string): Name of the module
- `organization` (string): Organization name
- `provider` (string): Module provider
- `description` (optional string): Module description
- Returns: Created module details
`updateModule`
Update an existing module.
- Inputs:
- `name` (string): Name of the module
- `organization` (string): Organization name
- `provider` (string): Module provider
- `description` (optional string): New module description
- Returns: Updated module details
`deleteModule`
Delete a module.
- Inputs:
- `name` (string): Name of the module
- `organization` (string): Organization name
- `provider` (string): Module provider
- Returns: Success status
`getModule`
Get details of a specific module.
- Inputs:
- `name` (string): Name of the module
- `organization` (string): Organization name
- `provider` (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 organization
- `description` (optional string): Organization description
- Returns: Created organization details
`updateOrganization`
Update an existing organization.
- Inputs:
- `name` (string): Name of the organization
- `description` (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": ""
}
}
}
}Frequently asked questions
What is mcp-server-terrakube?
mcp-server-terrakube is Model Context Protocol Server for Terrakube
How do I install mcp-server-terrakube?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-server-terrakube open source?
Yes — it is hosted on GitHub at https://github.com/AzBuilder/mcp-server-terrakube and has 2 stars.
Related MCP tools
🍒 Cherry Studio is a desktop client that supports for multiple LLM providers. Built for the Model Context Protocol to enhance AI capabilities.
Enhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini...
FastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, ...
Composio equips your AI agents & LLMs with 100+ high-quality integrations via function calling for the Model Context Protocol. Enhance AI assistants with powerf
📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Lan...
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Ag...
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP