Skip to main content
Glama

tfmcp

by nwiizo
use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize)] pub struct TerraformAnalysis { pub project_directory: String, pub file_count: usize, pub resources: Vec<TerraformResource>, pub variables: Vec<TerraformVariable>, pub outputs: Vec<TerraformOutput>, pub providers: Vec<TerraformProvider>, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformResource { pub resource_type: String, pub name: String, pub file: String, pub provider: String, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformPlan { pub changes: TerraformChanges, pub raw_output: String, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformChanges { pub add: usize, pub change: usize, pub destroy: usize, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformState { pub resources: Vec<TerraformStateResource>, pub version: String, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformStateResource { pub name: String, pub type_: String, pub provider: String, pub instances: Vec<TerraformResourceInstance>, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformResourceInstance { pub id: String, pub attributes: serde_json::Value, } #[derive(Debug, Serialize, Deserialize, Clone)] pub struct TerraformValidateOutput { pub valid: bool, pub error_count: i32, pub warning_count: i32, pub diagnostics: Vec<TerraformDiagnostic>, } #[derive(Debug, Serialize, Deserialize, Clone)] pub struct TerraformDiagnostic { pub severity: String, pub summary: String, pub detail: Option<String>, pub range: Option<DiagnosticRange>, } #[derive(Debug, Serialize, Deserialize, Clone)] pub struct DiagnosticRange { pub filename: String, pub start: Position, pub end: Position, } #[derive(Debug, Serialize, Deserialize, Clone)] pub struct Position { pub line: i32, pub column: i32, pub byte: i32, } #[derive(Debug, Serialize, Deserialize)] pub struct DetailedValidationResult { pub valid: bool, pub error_count: i32, pub warning_count: i32, pub diagnostics: Vec<TerraformDiagnostic>, pub additional_warnings: Vec<String>, pub suggestions: Vec<String>, pub checked_files: usize, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformVariable { pub name: String, pub description: Option<String>, pub type_: Option<String>, pub default: Option<serde_json::Value>, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformOutput { pub name: String, pub description: Option<String>, pub value: Option<serde_json::Value>, } #[derive(Debug, Serialize, Deserialize)] pub struct TerraformProvider { pub name: String, pub version: Option<String>, }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nwiizo/tfmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server