avm
Azure Verified Modules (AVM) MCP Server
claude mcp add --transport stdio stefanstranger-avm-mcp-server uvx stefanstranger/avm-mcp-server
How to use
The AVM MCP Server is designed to help AI agents discover and understand Azure Verified Modules (AVM) by providing structured, richly documented metadata. It connects to the AVM registry and GitHub to fetch up-to-date module information, including versions, parameters, and usage examples, and exposes this data through the MCP protocol in a JSON-friendly format. Use it when you want to search for AVMs by service, inspect required and optional parameters, and retrieve example usage to accelerate template creation and automation workflows.
Once running, you can query the server for module details, available versions, and parameter documentation. The server supports intelligent search across modules and returns structured metadata that includes module name, description, parameters (with types and defaults when available), resource types deployed by the module, and real-world usage examples. This enables agents to compare modules, drill into documentation, and assemble accurate Bicep or ARM templates with confidence.
How to install
Prerequisites
- Python 3.11 or higher
- UV (uv) package manager
- Internet access to reach the AVM registry and GitHub
- Optional: Node.js and npm if you plan to use MCP inspector tools
Installation steps
- Clone the repository
git clone https://github.com/stefanstranger/avm-mcp-server.git
cd avm-mcp-server
- Create and activate a Python virtual environment (recommended)
# using uv to create a venv with Python 3.11+
uv venv .venv --python 3.11
# Activate:
# Windows
.\.venv\Scripts\Activate.ps1
# macOS/Linux
source .venv/bin/activate
- Install prerequisites
uv pip install fastmcp requests
- Run the MCP server (example in development context)
uv run avm-mcp-server
Note: If you run via uvx directly from GitHub, ensure uvx is installed and point it at the repository as described in the mcp_config section.
Additional notes
Tips and common issues:
- Ensure Python 3.11+ and UV are installed before starting.
- If you encounter network-related timeouts when fetching AVM metadata, verify your internet connection and that GitHub/AVM registry endpoints are reachable from your environment.
- The server emits rich JSON metadata; when integrating with Claude Desktop or other MCP clients, use the provided mcp_config as a starting point to ensure compatibility.
- If you want to pin a specific version of the server, use uvx with a version tag or a git URL including a tag after the repository (e.g., https://github.com/stefanstranger/avm-mcp-server@v0.1.0).
- For debugging, run with verbose logging if supported by your uvx/uv setup to see detailed fetch and parse steps.
- This server is designed to be lightweight and focuses on AVM discovery and documentation extraction; for template authoring in Bicep, you may still use the official Bicep MCP Server in tandem.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP