About
Model Context Protocol Server for Terrakube
README
MseeP.ai Security Assessment Badge
Terrakube MCP Server
smithery badge
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-serverInstall dependencies:
npm installBuild 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>"
}
}
}
}
Installing Terrakube
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/terrakube-io/mcp-server-terrakubeFAQ
Is Terrakube MCP free?
Yes, Terrakube MCP is free — one-click install via Unyly at no cost.
Does Terrakube need an API key?
No, Terrakube runs without API keys or environment variables.
Is Terrakube hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Terrakube in Claude Desktop, Claude Code or Cursor?
Open Terrakube on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Terrakube with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
