npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@terrakube/mcp-server

v0.1.1

Published

Terrakube Model Context Protocol Server

Readme

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=<your-terrakube-api-url>
TERRAKUBE_PAT_TOKEN=<your-personal-access-token>

Development

  1. Clone the repository:

    git clone https://github.com/azbuilder/terrakube-mcp-server.git
    cd terrakube-mcp-server
  2. Install dependencies:

    npm install
  3. 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>"
      }
    }
  }
}