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": { ... }
}