> **Important:** This skill provides guidance and recommended instructions to assist the AI system. Outputs are not guaranteed to be complete, correct, secure, or applicable to every scenario. Results should be reviewed and validated by a human before being applied. The AI model may choose not to follow all instructions exactly, and additional verification may be required. # Scaffold Phase — MCP Tools Phase-exclusive tool parameters for the scaffold phase. For shared tools (`get_azure_bestpractices`, `subscription_list`, `group_list`, `extension_cli_install`), see [mcp-tool-reference.md](../../references/mcp-tool-reference.md). > **Troubleshooting:** If a tool call fails with unknown parameter or missing command errors, consult the official docs: --- ## Azure MCP Tools — `mcp_azure_mcp_*` ### `mcp_azure_mcp_deploy` (hierarchical) | Sub-command | Required Params | Optional Params | Read-Only | |-------------|----------------|-----------------|-----------| | `deploy_plan_get` | `workspace-folder`, `project-name`, `target-app-service` (ContainerApp\|WebApp\|FunctionApp\|AKS), `provisioning-tool` (AzCli\|AZD), `source-type` (from-project\|from-azure\|from-context), `deploy-option` (provision-and-deploy\|deploy-only\|provision-only) | `iac-options` (bicep\|terraform), `resource-group` | ✅ | | `deploy_iac_rules_get` | `deployment-tool` (AzCli\|AZD) | `iac-type` (bicep\|terraform), `resource-types` (comma-sep: appservice, containerapp, function, aks, azuredatabaseforpostgresql, azuredatabaseformysql, azuresqldatabase, azurecosmosdb, azurestorageaccount, azurekeyvault) | ✅ | | `deploy_pipeline_guidance_get` | `is-azd-project` (bool), `pipeline-platform` (github-actions\|azure-devops), `deploy-option` (deploy-only\|provision-and-deploy) | subscription, tenant | ✅ | ### `mcp_azure_mcp_bicepschema` (hierarchical) | Sub-command | Required Params | Optional Params | Read-Only | |-------------|----------------|-----------------|-----------| | `bicepschema_get` | `resource_type` (e.g. Microsoft.Web/sites) | `api_version` | ✅ | **Usage:** ARM resource type schemas. Primary tool for scaffold — returns resource properties, required fields, and constraints. Prefer over `mcp_bicep_get_az_resource_type_schema` when you need a quick schema lookup without specifying an exact API version. ### `mcp_azure_mcp_azureterraformbestpractices` (flat) | Required | Optional | Read-Only | |----------|----------|-----------| | *(none)* | `resource_type` (e.g. "azurerm_linux_web_app") | ✅ | **Usage:** Returns Terraform best practices for Azure resources. Omit `resource_type` for general guidance. Provide `resource_type` to get resource-specific `azurerm` configuration patterns, recommended properties, and security settings. Used during scaffold Step 5 for per-resource HCL generation (Terraform path only). --- ## Bicep MCP Tools — `mcp_bicep_*` ### `mcp_bicep_get_bicep_best_practices` | Required | Optional | Read-Only | |----------|----------|-----------| | *(none)* | — | ✅ | Returns: comprehensive best practices for Bicep authoring (naming, organization, parameters, security, testing). ### `mcp_bicep_get_az_resource_type_schema` | Required | Optional | Read-Only | |----------|----------|-----------| | `azResourceType` (e.g. Microsoft.Web/sites), `apiVersion` (e.g. 2024-11-01) | — | ✅ | Returns: complete JSON schema for the resource type including all properties, nested types, constraints. ### `mcp_bicep_list_avm_metadata` | Required | Optional | Read-Only | |----------|----------|-----------| | *(none)* | — | ✅ | Returns: metadata for all Azure Verified Modules (AVM) including versions and docs. ### `mcp_bicep_list_az_resource_types_for_provider` | Required | Optional | Read-Only | |----------|----------|-----------| | `providerNamespace` (e.g. Microsoft.Compute) | — | ✅ | Returns: all resource types and API versions for the provider. ### `mcp_bicep_build_bicep` | Required | Optional | Read-Only | |----------|----------|-----------| | `filePath` (absolute) | — | ✅ | Returns: compiled ARM template JSON + compilation errors, warnings, info for a `.bicep` file. ### `mcp_bicep_format_bicep_file` | Required | Optional | Read-Only | |----------|----------|-----------| | `filePath` (absolute) | — | ❌ | Formats the Bicep file per official standards. Respects `bicepconfig.json`. ### `mcp_bicep_get_deployment_snapshot` | Required | Optional | Read-Only | |----------|----------|-----------| | `filePath` (absolute, `.bicepparam`) | — | ✅ | Returns: deployment snapshot from a Bicep parameters file — resolves all parameter values and template references into a single deployable payload. Useful for pre-deploy validation. ### `mcp_bicep_get_file_references` | Required | Optional | Read-Only | |----------|----------|-----------| | `filePath` (absolute, `.bicep` or `.bicepparam`) | — | ✅ | Returns: all file references (modules, parameters, imports) from a Bicep file. Useful for dependency analysis and verifying scaffold output completeness. ### `mcp_bicep_decompile_arm_template_file` | Required | Optional | Read-Only | |----------|----------|-----------| | `filePath` (absolute, .json/.jsonc/.arm) | — | ❌ | Converts ARM JSON → Bicep. Best-effort; may need manual review. ### `mcp_bicep_decompile_arm_parameters_file` | Required | Optional | Read-Only | |----------|----------|-----------| | `filePath` (absolute, .json/.jsonc/.arm) | — | ❌ | Converts ARM parameters JSON → `.bicepparam`. --- ## Phase 3 Tool Map | Tool | Sub-command | AppOnboard Step | Purpose | |------|-----------|----------|---------| | `mcp_bicep_get_bicep_best_practices` | *(flat)* | Step 5 | **Primary** — Bicep conventions, naming, module patterns for IaC generation | | `mcp_bicep_get_az_resource_type_schema` | *(flat)* | Step 5 | **Primary** — ARM resource type JSON schema per service for property validation | | `mcp_bicep_list_avm_metadata` | *(flat)* | Step 5 | **Primary** — AVM module catalog; prefer verified modules over raw resource definitions | | `mcp_azure_mcp_bicepschema` | `bicepschema_get` | Step 5 | **Primary** — ARM resource type schemas without requiring exact API version | | `mcp_azure_mcp_deploy` | `deploy_iac_rules_get` | Step 5 | IaC best practices and rules. `--iac-type bicep` (default) or `--iac-type terraform` | | `mcp_azure_mcp_get_azure_bestpractices` | `get_azure_bestpractices_get` | Step 5 | SDK patterns during IaC gen. `resource: "general"`, `action: "code-generation"` | | `mcp_bicep_build_bicep` | *(flat)* | Step 9 | **Primary** — validate generated `.bicep` files in self-review L3 (syntax, properties, API versions) | | `mcp_bicep_format_bicep_file` | *(flat)* | Step 9 | Format generated `.bicep` files per official standards after self-review fixes | | `mcp_bicep_get_file_references` | *(flat)* | Step 11 | Verify scaffold output completeness — all module references resolve | | `mcp_azure_mcp_deploy` | `deploy_pipeline_guidance_get` | Step 10 | CI/CD pipeline config. `is-azd-project: false`, `pipeline-platform: "github-actions"`, `deploy-option: "provision-and-deploy"` | | `mcp_azure_mcp_deploy` | `deploy_plan_get` | Step 12 | Structured deployment plan as validation input. Set `source-type: "from-project"`, `target-app-service` from plan | | `mcp_azure_mcp_azureterraformbestpractices` | *(flat)* | Step 5 | Terraform path only — patterns and conventions for HCL generation |