MCP Client Configuration with Azure App Configuration

by hahahahahaiyiwen

1 stars
328 downloads
Not rated
GitHub

About

A C# implementation of dynamic configured MCP client manager that connects to multiple MCP servers

Details

Author
hahahahahaiyiwen
GitHub stars
1
Downloads
328
Categories
Cloud Service

- Centralizes MCP server configurations in Azure App Configuration
- Enables dynamic configuration updates without redeployment
- Supports environment-specific setups (dev, test, production)
- Auto‑refresh mechanism for configuration changes
- Integrates with Microsoft Entra ID for secure Azure access
- Supports multiple MCP server types (stdio, sse)

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 MCP Client Configuration with Azure App Configuration
    Command (node, npx, python, etc.)

    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

How does this differ from local MCP configuration files?

Local configurations (like VSCode’s mcp.json) are static and environment‑specific. This solution centralizes configurations in Azure App Configuration, allowing dynamic updates and environment separation.

What are the runtime requirements?

You need an Azure App Configuration store and the ConfiguredMcpClientManager implementation. No additional runtime beyond standard .NET is specified.

Where is configuration data stored?

All MCP server configurations are stored as key‑value pairs inside Azure App Configuration, not on the local filesystem.

Which MCP transport types are supported?

The examples show support for stdio (e.g., npx commands) and sse (remote endpoints), with environment‑specific parameters.

What authentication does it use?

Authentication to Azure App Configuration is handled via Microsoft Entra ID, ensuring secure access to Azure resources.

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "mcp client configuration with azure app configuration": {
            "mcp-cloudconfiguration": {
                "name": "Azure MCP Server",
                "type": "stdio",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-cloudconfiguration": {
        "name": "Azure MCP Server",
        "type": "stdio",
        "command": "npx",
        "args": [
            "-y",
            "@azure/mcp@latest",
            "server",
            "start"
        ]
    }
}

MCP Client Configuration with Azure App Configuration

Bridging the Development-Production Gap

Developers predominantly work with MCP servers locally today using tools like Claude Desktop or VSCode. While these environments are excellent for experimentation and development, transitioning MCP-powered applications to production environments presents significant challenges: image - Configuration Management: Local configurations (like VSCode's mcp.json) don't translate seamlessly to production environments - Scalability Concerns: Production deployments introduce configuration sprawl when MCP settings must be duplicated across every service instance, creating maintenance overhead and inconsistency risks - Security Requirements: Moving beyond local development necessitates proper authentication and authorization - Operational Flexibility: The ability to update configurations without redeployment becomes critical

The ConfiguredMcpClientManager Solution

The ConfiguredMcpClientManager implementation addresses these challenges by: - Centralizing Configuration: Storing all MCP server configurations in Azure App Configuration - Enabling Dynamic Updates: Allowing changes to MCP servers without application redeployment - Supporting Environment-Specific Setups: Maintaining separate configurations for development, testing, and production - Facilitating Deployment Strategies: Enabling blue-green deployments, canary releases, and A/B testing of different model configurations image

Key Capabilities

- Configuration Abstraction: Write your application once and connect to different MCP servers based on environment - Auto-Refresh Mechanism Configurations update automatically at configurable intervals - Seamless Authentication: Integration with Microsoft Entra ID for secure access to Azure resources - Deployment Flexibility: Support for various MCP server types (stdio, sse, etc.) with environment-specific parameters

Setup Azure App Configuration

1. Create an Azure App Configuration store in the Azure Portal 2. Add your MCP server configurations as key-value pairs: Example: Azure MCP Server (stdio type) Key: MCP:AzureMCPServer Value: ``json { "name": "Azure MCP Server", "type": "stdio", "command": "npx", "args": [ "-y", "@azure/mcp@latest", "server", "start" ] } ` Example: Remote SSE Server Key: MCP:Fetch Value: `json { "name": "Fetch", "type": "sse", "url": "https://remote.mcpservers.org/fetch" } `

Implementation Best Practices

1. Environment-Specific Configurations: - Use labels in Azure App Configuration to separate dev/test/prod environments - Example:
MCP:AzureMCPServer;env=production vs MCP:AzureMCPServer;env=development` 2. Monitoring and Observability: - Add telemetry to track model performance in production - Use configuration to enable/disable detailed logging 3. Rollback Strategy: - Maintain previous working configurations with version labels - Implement quick rollback procedures for production issues 4. Configuration Validation: - Validate new configurations before applying them to production - Implement circuit breakers to prevent cascading failures
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.