Azure / Azure/bicep

💡 Feature Request: Add ARM-JSON decompilation Skill to Bicep MCP Server

Open
#17,858 2 comments 0 reactions 0 assignees View on GitHub
enhancement story: bicep MCP
Dominant language
Bicep
Stars
3.6k
Forks
830
Avg merge
1d 21m
Merged PRs (30d)
79

Description

**Description:**
I’d like to request the addition of a new capability to the Bicep MCP (Multi-Client Protocol) server: **support for running the Bicep decompiler as a skill**.

---

**Feature Overview:**
Add support to the MCP server that enables clients (e.g., IDEs or CLI tools using the MCP interface) to invoke the Bicep decompiler on ARM JSON templates. This would allow users to decompile ARM JSON files directly into Bicep files via the MCP server interface, using the same semantic understanding and formatting that the Bicep CLI provides today.

---

**Use Case:**
I have a common workflow where I:

1. Deploy infrastructure using Terraform.
2. View or export the deployed ARM JSON templates from the Azure Portal.
3. Want to convert that exported ARM JSON into **idiomatic, clean Bicep code** that follows Bicep best practices and makes use of native Bicep constructs (loops, conditionals, modules, etc.).

Having the decompilation feature available via the MCP server would allow tools like IDEs and editors (e.g., VS Code with Bicep language support) to offer this as a built-in operation without requiring separate CLI steps or external tooling.

---

**Business Justification:**

* **Productivity Boost:** Eliminates manual steps and CLI switching during decompilation.
* **Bicep Adoption:** Makes it easier for teams migrating from ARM templates or other IaC tools (like Terraform) to adopt Bicep.
* **Automation:** Enables future capabilities like auto-conversion or infrastructure review tools to leverage the MCP server as a backend for conversion workflows.
* **Consistency:** Ensures consistent decompilation output aligned with the latest Bicep language features, since it uses the same engine behind the scenes.

---

**Proposed Capability Name (Suggestion):**
`bicep/decompile` or `bicep/runDecompile`

---

**References:**

* [Bicep CLI Decompile Documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/decompile)

---

Please let me know if there's a more appropriate layer in the architecture for this or if it's already on the roadmap. I'd be happy to provide more details or collaborate on the design.

Thanks for all the amazing work on Bicep!

Contributor guide

Open the contributing guide

Research direction

The issue names no repository files or tests. Start with the linked Bicep CLI decompile documentation and locate the MCP server's skill or tool registration points, then determine how the proposed operation should expose decompilation. Done means an MCP client can invoke the operation on ARM JSON and receive Bicep output consistent with the CLI.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, json
Domain
api, cloud, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.