Azure Impact Reporter

by chand45

2 stars
238 downloads
Not rated
GitHub

About

Enables AI to report Azure infrastructure issues by authenticating with Azure credentials and submitting standardized workload impact reports through the Azure Management API

Details

Author
chand45
Repository
chand45/MCP-Server-Azure-Impact-Reporting
GitHub stars
2
Downloads
238
Categories
Design, AI, API, Frontend, Cloud Service, Infrastructure

- Exposes a tool for LLMs to report resource impacts to Azure
- Automatic authentication via DefaultAzureCredential
- Creates workload impact reports through the Azure Management API
- Extracts required parameters from natural language requests
- Asks for additional details when information is missing
- Supports multiple impact categories (Connectivity, Performance, Availability, Unknown)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Azure Impact Reporter
    Command (node, npx, python, etc.) uv
    Arguments
    • Argument 1 --directory
    • Argument 2 ABSOLUTE_PATH_TO_ROOT_FOLDER
    • Argument 3 run
    • Argument 4 impact-reporter.py

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

pip install -r requirements.txt
Or install them manually:
pip install mcp[cli] azure-identity httpx

The tool uses DefaultAzureCredential for authentication. Ensure you're logged in to Azure with one of the following methods:
- Azure CLI (az login)
- Visual Studio Code Azure Account extension
- Azure PowerShell (Connect-AzAccount)
- Environment variables for service principal authentication

Add the following configuration to your MCP client configuration file (e.g., claude_desktop_config.json):

"impactreporter": {
    "command": "uv",
    "args": [
        "--directory",
        "ABSOLUTE_PATH_TO_ROOT_FOLDER",
        "run",
        "impact-reporter.py"
    ]
}

Replace ABSOLUTE_PATH_TO_ROOT_FOLDER with the absolute path to where you cloned this repository.

For example:

"impactreporter": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\username\\source\\repos\\MCP-Server-Azure-Impact-Reporting",
"run",
"impact-reporter.py"
]
}

If you're using Claude with Desktop or another MCP-enabled client, the server will start automatically when needed.

Once configured, your LLM can report impacts with natural language requests like:

1. "Report connectivity issues with my VM named 'web-server' in resource group 'production-rg'"
2. "Let Azure know my SQL database 'customer-db' in 'data-rg' is experiencing performance issues"
3. "Report that my App Service 'api-service' is down"

The MCP server will automatically parse these requests and ask for any missing parameters before submitting the report to Azure.

Example Converstations:
alt text

When additional information is required
1. Request for additional details
alt text

2. Infer the details and report impact
alt text

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "azure impact reporter": {
            "cwd": "ABSOLUTE_PATH_TO_ROOT_FOLDER",
            "env": {},
            "args": [
                "--directory",
                "ABSOLUTE_PATH_TO_ROOT_FOLDER",
                "run",
                "impact-reporter.py"
            ],
            "command": "uv"
        }
    }
}

Linux

{
    "cwd": "ABSOLUTE_PATH_TO_ROOT_FOLDER",
    "env": [],
    "args": [
        "--directory",
        "ABSOLUTE_PATH_TO_ROOT_FOLDER",
        "run",
        "impact-reporter.py"
    ],
    "command": "uv"
}

Macos

{
    "cwd": "ABSOLUTE_PATH_TO_ROOT_FOLDER",
    "env": [],
    "args": [
        "--directory",
        "ABSOLUTE_PATH_TO_ROOT_FOLDER",
        "run",
        "impact-reporter.py"
    ],
    "command": "uv"
}

Windows

{
    "cwd": "C:\\Users\\username\\source\\repos\\MCP-Server-Azure-Impact-Reporting",
    "env": [],
    "args": [
        "--directory",
        "C:\\Users\\username\\source\\repos\\MCP-Server-Azure-Impact-Reporting",
        "run",
        "impact-reporter.py"
    ],
    "command": "uv"
}

MCP-Server-Azure-Impact-Reporting

Overview

The Azure Impact Reporting MCP (Model Context Protocol) server enables large language models (LLMs) to report impacts to Azure resources. This tool allows LLMs to automatically parse user requests, understand the required parameters, and submit reports to Azure when customers are facing issues with Azure infrastructure.

Functionality

The impact-reporter.py script provides a Model Context Protocol server that:

1. Exposes a tool to report resource impacts to Azure
2. Automatically authenticates with Azure using DefaultAzureCredential
3. Creates workload impact reports via the Azure Management API
4. Handles parameter extraction from natural language requests
5. Can ask for additional details if the request is missing required information

Impact Categories

The tool supports the following impact categories: - Resource.Connectivity - For connectivity issues with Azure resources - Resource.Performance - For performance degradation issues - Resource.Availability - For availability or downtime issues - Resource.Unknown - When the specific issue type is not known

Requirements

- Python 3.8+ - mcp[cli] - Model Context Protocol package with CLI support - azure-identity - For Azure authentication - httpx - For making HTTP requests to Azure API

Setup Instructions

1. Clone the repository

git clone https://github.com/yourusername/MCP-Server-Azure-Impact-Reporting.git
cd MCP-Server-Azure-Impact-Reporting

2. Install dependencies

pip install -r requirements.txt
Or install them manually:
pip install mcp[cli] azure-identity httpx

3. Azure Authentication Setup

The tool uses DefaultAzureCredential for authentication. Ensure you're logged in to Azure with one of the following methods: - Azure CLI (az login) - Visual Studio Code Azure Account extension - Azure PowerShell (Connect-AzAccount) - Environment variables for service principal authentication

4. Configure your MCP client

Add the following configuration to your MCP client configuration file (e.g., claude_desktop_config.json):
"impactreporter": {
    "command": "uv",
    "args": [
        "--directory",
        "ABSOLUTE_PATH_TO_ROOT_FOLDER",
        "run",
        "impact-reporter.py"
    ]
}

Replace ABSOLUTE_PATH_TO_ROOT_FOLDER with the absolute path to where you cloned this repository.

For example:

"impactreporter": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\username\\source\\repos\\MCP-Server-Azure-Impact-Reporting",
"run",
"impact-reporter.py"
]
}

Understanding the uv Command

The uv command in the configuration uses pyproject.toml to manage dependencies:

- Virtual Environment: uv creates and manages its own internal virtual environment separate from any .venv you may have created
- Dependency Management: Dependencies are automatically installed based on pyproject.toml specifications
- Isolation: The uv cache system ensures no interference with your local Python environment

Alternative: Direct Python Execution

If you prefer not to use uv, you can run the MCP server directly:

1. Create and activate a virtual environment:

    python -m venv .venv
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate

2. Install dependencies:

    pip install -r requirements.txt

3. Run the server directly:

    python impact-reporter.py

5. Running the MCP Server

If you're using Claude with Desktop or another MCP-enabled client, the server will start automatically when needed.

Usage Examples

Once configured, your LLM can report impacts with natural language requests like:

1. "Report connectivity issues with my VM named 'web-server' in resource group 'production-rg'"
2. "Let Azure know my SQL database 'customer-db' in 'data-rg' is experiencing performance issues"
3. "Report that my App Service 'api-service' is down"

The MCP server will automatically parse these requests and ask for any missing parameters before submitting the report to Azure.

Example Converstations:
alt text

When additional information is required
1. Request for additional details
alt text

2. Infer the details and report impact
alt text

API Details

The impact reporting tool uses the Azure Management API (2023-12-01-preview) to create workload impact reports.

Troubleshooting

- Authentication issues: Ensure you're logged into Azure and have proper permissions - Missing parameters: The tool will ask for additional details if needed - API errors: Check Azure portal to ensure your subscription and resources exist

License

MIT License
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.