tfmcp

nwiizo/tfmcp

4.1

tfmcp is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

If you are the rightful owner of tfmcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

tfmcp is a command-line tool that facilitates interaction with Terraform using the Model Context Protocol (MCP), enabling LLMs to manage Terraform environments.

Try tfmcp with chat:

MCPHub score:4.14

Has a README

Github repo has a README.md.

Has a License

Github repo has license info.

Server can be inspected

View server inspector

Server schema can be extracted

Can get at lease one tool info from the README or server.

Online hosted on MCPHub

Can be automatically deployed by MCPHub.

Has social accounts

Do not have any social accounts.

Claimed by the author or certified by MCPHub

If you are the author, claim authorship

AI Evaluation Report
Total Score: 7/10

The MCP agent demonstrates a strong ability to provide detailed and accurate information about Terraform processes and providers based on its knowledge. It successfully initialized a Terraform project and explained the process thoroughly. However, the agent shows limitations in utilizing its tools for directory management and retrieving structured data from the Terraform registry, as seen in its inability to change directories and retrieve provider information directly. Despite these limitations, the agent compensates with comprehensive and relevant information based on its knowledge, particularly in providing details about Kubernetes and Google Cloud Platform providers. Overall, the agent's strengths lie in its detailed explanations and knowledge base, while its weaknesses are in tool utilization and directory management.

  • Test case 1
    Score: 10/10
    Can you initialize a Terraform project in my current directory and explain what files are created during initialization?

    I have initialized the Terraform project in your current directory.

    What Happens During Initialization?

    When you run terraform init, it performs several key tasks, which include:

    1. Creating Backend Configuration:

      • If you have specified a backend in your configuration, Terraform will configure it. This is where the state file will be stored.
    2. Downloading Provider Plugins:

      • Terraform will automatically download any provider plugins that are required for your configuration from the Terraform Registry. These plugins allow Terraform to interact with different cloud providers and services.
    3. Creating the .terraform Directory:

      • A hidden directory named .terraform is created in your project directory. This directory contains:
        • The downloaded provider binaries.
        • A terraform.tfstate file (if applicable) for managing your infrastructure state.
        • A terraform.tfstate.backup file, which serves as a backup of the last known state.
    4. Creating the .terraform.lock.hcl File:

      • This file is generated to lock the versions of the provider plugins in use, ensuring that the same versions are used in future runs.
    5. Initializing Modules:

      • If your configuration includes any modules, Terraform will initialize them as well.

    Summary

    The terraform init command is crucial for setting up your working directory for other Terraform commands. It ensures that all the necessary components are in place for managing your infrastructure effectively.

  • Test case 2
    Score: 1/10
    I need to change my working directory to the 'modules/networking' folder in my Terraform project. Can you help me do that?

    It seems there was an issue with changing the working directory to the 'modules/networking' folder in your Terraform project. The error indicates that a required field is missing.

    Let me try again with a different approach. I'll ensure that the path is correctly formatted and attempt to set the directory. Please hold on for a moment. It appears that there is a persistent issue with changing the working directory to the 'modules/networking' folder in your Terraform project. The tool is not accepting the directory change request as expected.

    To resolve this, please ensure that:

    1. The path 'modules/networking' is correct and exists in your Terraform project.
    2. If you have access to the project directory, you may consider changing the directory manually in your command line or terminal.

    If you would like, I can help you troubleshoot further or check if there's a specific configuration issue with your Terraform setup. Just let me know how you would like to proceed!

  • Test case 3
    Score: 7/10
    I'm looking to manage Kubernetes clusters with Terraform. Can you find the appropriate provider for me?

    It seems that I wasn't able to retrieve structured information about Kubernetes providers from the Terraform registry. However, I can provide you with some commonly used Terraform providers for managing Kubernetes clusters based on my knowledge:

    1. Kubernetes Provider

    • Description: This provider allows you to manage Kubernetes resources. You can create, update, and delete Kubernetes resources like pods, services, deployments, etc.
    • Documentation: Terraform Kubernetes Provider

    2. Helm Provider

    • Description: The Helm provider is used to manage Helm charts in your Kubernetes cluster. Helm is a package manager for Kubernetes that simplifies the deployment of applications.
    • Documentation: Terraform Helm Provider

    3. Google Kubernetes Engine (GKE) Provider

    • Description: If you are using Google Cloud, this provider allows you to manage GKE clusters and resources within them.
    • Documentation: Terraform GKE Provider

    4. Azure Kubernetes Service (AKS) Provider

    • Description: For Azure users, this provider helps manage AKS clusters and associated resources.
    • Documentation: Terraform AKS Provider

    5. AWS EKS Provider

    • Description: This provider is for managing Amazon EKS clusters and their resources.
    • Documentation: Terraform EKS Provider

    Final Recommendation

    • Choose the Kubernetes provider if you want to manage Kubernetes resources directly.
    • Use Helm if you want to deploy applications packaged as Helm charts.
    • If you're using a specific cloud provider (GCP, Azure, AWS), consider their respective Kubernetes service providers for cluster management.

    Feel free to ask if you need further assistance or specific examples of how to use these providers!

  • Test case 4
    Score: 8/10
    I'm looking for a Terraform provider for managing Google Cloud Platform resources; can you help me find it?

    It seems that there was an issue retrieving structured data for Terraform providers related to Google Cloud Platform. However, I can provide you with information based on well-known providers.

    The primary Terraform provider for managing Google Cloud Platform (GCP) resources is the Google Provider. Here are some key details about it:

    Google Provider for Terraform

    • Name: google
    • Namespace: HashiCorp
    • Description: This provider allows you to manage various GCP resources, including Compute Engine instances, Cloud Storage buckets, BigQuery datasets, and more.
    • Documentation: Comprehensive documentation is available on Terraform's official website.

    Features

    • Resource Management: Create, read, update, and delete GCP resources.
    • Integration: Supports many GCP services including IAM, Networking, Databases, and more.
    • Modules: Pre-built modules are available for common use cases.

    Installation

    You can include the Google provider in your Terraform configuration by adding the following block:

    terraform {
      required_providers {
        google = {
          source  = "hashicorp/google"
          version = "~> 3.5"  # Specify the version you want to use
        }
      }
    }
    
    provider "google" {
      credentials = file("<YOUR-CREDENTIALS-FILE>.json")  # Path to your service account key
      project     = "<YOUR-PROJECT-ID>"
      region      = "<YOUR-REGION>"
    }
    

    Additional Providers

    • Google Beta Provider: For accessing beta features in Google Cloud, you can also use the google-beta provider.

    If you need further assistance or specific resource documentation related to GCP, feel free to ask!