Tool Catalog

Complete catalog of all MCP tools with schemas and parameters

Tool Catalog

Browse all 21 tools available in Terry-Form MCP v3.1.0.

Download the machine-readable schema: tools.json


Categories

  • Core Terraform (terry_*) — 4 tools

  • LSP Intelligence (terraform_*) — 5 tools

  • Diagnostics (terry_lsp_*, terry_file_*, terry_workspace_*) — 6 tools

  • Security & Recommendations (terry_security_*, terry_recommendations) — 2 tools

  • GitHub Integration (github_*) — 4 tools


Core Terraform

terry

Execute Terraform operations with comprehensive output and security validation.

Parameter Type Required Default
path string yes
actions array<string> no
vars object no

Returns: Execution results with detailed output matching API specification Supported actions: init, validate, fmt, plan, show, graph, providers, version

Input Schema ```json {"properties":{"path":{"type":"string"},"actions":{"default":null,"items":{"type":"string"},"type":"array"},"vars":{"additionalProperties":true,"default":null,"type":"object"}},"required":["path"],"type":"object"} ```

terry_environment_check

Comprehensive environment check for Terraform and LSP integration. Checks container environment, available tools, and configuration.

No parameters required.

Input Schema ```json {"properties":{},"type":"object"} ```

terry_version

Get Terraform version information and provider selections. Returns version details and available provider information.

No parameters required.

Input Schema ```json {"properties":{},"type":"object"} ```

terry_workspace_list

List all available Terraform workspaces in /mnt/workspace. Returns workspace paths with initialization status and metadata.

No parameters required.

Input Schema ```json {"properties":{},"type":"object"} ```

LSP Intelligence

terraform_complete

Get completion suggestions for Terraform code at cursor position.

Parameter Type Required Default
file_path string yes
line integer yes
character integer yes
workspace_path string no
Input Schema ```json {"properties":{"file_path":{"type":"string"},"line":{"type":"integer"},"character":{"type":"integer"},"workspace_path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"required":["file_path","line","character"],"type":"object"} ```

terraform_format_lsp

Format a Terraform file using terraform-ls Language Server.

Parameter Type Required Default
file_path string yes
workspace_path string no
Input Schema ```json {"properties":{"file_path":{"type":"string"},"workspace_path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"required":["file_path"],"type":"object"} ```

terraform_hover

Get documentation and information for Terraform resource at cursor position.

Parameter Type Required Default
file_path string yes
line integer yes
character integer yes
workspace_path string no
Input Schema ```json {"properties":{"file_path":{"type":"string"},"line":{"type":"integer"},"character":{"type":"integer"},"workspace_path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"required":["file_path","line","character"],"type":"object"} ```

terraform_lsp_status

Get the status of the terraform-ls Language Server integration.

No parameters required.

Input Schema ```json {"properties":{},"type":"object"} ```

terraform_validate_lsp

Validate a Terraform file using terraform-ls Language Server. Provides detailed diagnostics and syntax validation.

Parameter Type Required Default
file_path string yes
workspace_path string no
Input Schema ```json {"properties":{"file_path":{"type":"string"},"workspace_path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"required":["file_path"],"type":"object"} ```

Diagnostics

terry_analyze

Analyze Terraform configuration for best practices.

Parameter Type Required Default
path string yes

Returns: Analysis report with score, issues, and statistics

Input Schema ```json {"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"} ```

terry_file_check

Check Terraform file syntax and readiness for LSP operations. Validates file exists, is readable, and has basic Terraform syntax.

Parameter Type Required Default
file_path string yes
Input Schema ```json {"properties":{"file_path":{"type":"string"}},"required":["file_path"],"type":"object"} ```

terry_lsp_debug

Debug terraform-ls functionality and LSP client state. Tests terraform-ls availability and basic functionality.

No parameters required.

Input Schema ```json {"properties":{},"type":"object"} ```

terry_lsp_init

Manually initialize LSP client for a specific workspace. Useful for troubleshooting LSP initialization issues.

Parameter Type Required Default
workspace_path string yes
Input Schema ```json {"properties":{"workspace_path":{"type":"string"}},"required":["workspace_path"],"type":"object"} ```

terry_workspace_info

Analyze Terraform workspace structure and provide recommendations. Shows file structure, configuration status, and LSP readiness.

Parameter Type Required Default
path string no .
Input Schema ```json {"properties":{"path":{"default":".","type":"string"}},"type":"object"} ```

terry_workspace_setup

Create a properly structured Terraform workspace ready for LSP operations. Sets up basic files and directory structure.

Parameter Type Required Default
path string yes
project_name string no terraform-project
Input Schema ```json {"properties":{"path":{"type":"string"},"project_name":{"default":"terraform-project","type":"string"}},"required":["path"],"type":"object"} ```

Security & Recommendations

terry_recommendations

Get recommendations for Terraform configuration improvement.

Parameter Type Required Default
path string yes
focus string no security

Returns: Recommendations based on the selected focus area

Input Schema ```json {"properties":{"path":{"type":"string"},"focus":{"default":"security","type":"string"}},"required":["path"],"type":"object"} ```

terry_security_scan

Run security scan on Terraform configuration.

Parameter Type Required Default
path string yes
severity string no medium

Returns: Security scan results with vulnerabilities and summary

Input Schema ```json {"properties":{"path":{"type":"string"},"severity":{"default":"medium","type":"string"}},"required":["path"],"type":"object"} ```

GitHub Integration

github_clone_repo

Clone or update a GitHub repository into the workspace.

Parameter Type Required Default
owner string yes
repo string yes
branch string no
force boolean no false

Returns: Repository clone status and workspace path

Input Schema ```json {"properties":{"owner":{"type":"string"},"repo":{"type":"string"},"branch":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"force":{"default":false,"type":"boolean"}},"required":["owner","repo"],"type":"object"} ```

github_get_terraform_config

Analyze Terraform configuration in a GitHub repository.

Parameter Type Required Default
owner string yes
repo string yes
config_path string yes

Returns: Configuration analysis including providers, modules, and structure

Input Schema ```json {"properties":{"owner":{"type":"string"},"repo":{"type":"string"},"config_path":{"type":"string"}},"required":["owner","repo","config_path"],"type":"object"} ```

github_list_terraform_files

List Terraform files in a GitHub repository.

Parameter Type Required Default
owner string yes
repo string yes
path string no ``
pattern string no *.tf

Returns: List of Terraform files with metadata

Input Schema ```json {"properties":{"owner":{"type":"string"},"repo":{"type":"string"},"path":{"default":"","type":"string"},"pattern":{"default":"*.tf","type":"string"}},"required":["owner","repo"],"type":"object"} ```

github_prepare_workspace

Prepare a Terraform workspace from a GitHub repository.

Parameter Type Required Default
owner string yes
repo string yes
config_path string yes
workspace_name string no

Returns: Workspace preparation status and path

Input Schema ```json {"properties":{"owner":{"type":"string"},"repo":{"type":"string"},"config_path":{"type":"string"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"required":["owner","repo","config_path"],"type":"object"} ```

Terraform Cloud

Machine-Readable Format

The complete tool catalog is available as tools.json in the MCP native schema format. This file is auto-generated from the server’s tool registrations.

# Regenerate tools.json from the server
python3 scripts/export_tools_json.py

Structure:

{
  "server": { "name": "terry-form", "version": "3.1.0" },
  "tool_count": 25,
  "tools": [
    {
      "name": "tool_name",
      "summary": "One-line description",
      "category": "Category Name",
      "parameters": [
        { "name": "param", "type": "string", "required": true }
      ],
      "inputSchema": { ... }
    }
  ],
  "categories": { ... }
}