[BUG] Azure MCP Server should support Azure Arc (hybrid/multi-cloud)
- Dominant language
- C#
- Stars
- 3.7k
- Forks
- 624
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 220
Description
### Describe the bug
When attempting to deploy the provided Azure MCP Server Docker image to AWS Bedrock AgentCore runtime, we encountered two blocking issues:
1. Wrong Architecture: The Dockerfile builds for AMD64 by default, but AWS Bedrock AgentCore **only supports ARM64**. The build completes but the runtime fails to start on AgentCore.
2. Hardcoded Endpoint Path: The source code has the endpoint hardcoded to root `/`, but AWS AgentCore expects MCP servers to expose endpoints at `/mcp`. This requires modifying the source code, making it painful to maintain and update.
Additional context
We successfully deployed after:
1. Rebuilding for ARM64
2. Modifying source code to use `/mcp` endpoint
3. Setting required environment variables
However, this creates maintenance challenges:
- Can't easily update to new versions (source code patches needed)
- Requires forking or manually tracking changes
- No clear guidance for cloud deployment vs local development
Making architecture and endpoint path configurable would enable deployment to cloud platforms without source code modifications.
### Expected behavior
We expected to:
1. Build the provided Docker image for ARM64 architecture (AWS AgentCore requirement)
2. Deploy to AWS Bedrock AgentCore without source code modifications
3. Have the server automatically expose the correct `/mcp` endpoint
4. Connect using standard MCP clients
### Actual behavior
Issue 1 - Architecture Mismatch:
- Dockerfile builds for AMD64 (default platform)
- AWS AgentCore only supports ARM64 containers
- Container fails to start on AgentCore due to architecture mismatch
Issue 2 - Endpoint Path Hardcoded:
- Source code hardcodes endpoint to root `/`
- AWS AgentCore expects MCP servers at `/mcp` endpoint
- Required modifying source code to change endpoint path
- This creates maintenance burden - can't easily update to new versions without re-applying patches
### Reproduction Steps
Architecture Issue:
1. Build Docker image without platform specification: `docker build -t azure-mcp-server .`
2. Push to AWS ECR
3. Create AWS Bedrock AgentCore runtime with this image
4. Runtime fails to start - AgentCore requires ARM64
Endpoint Issue:
1. Build for ARM64: `docker build --platform=linux/arm64 -t azure-mcp-server .`
2. Deploy to AWS Bedrock AgentCore as MCP runtime
3. Try to connect - AgentCore routes to `/mcp` but server exposes `/`
4. Connection fails because endpoint mismatch
5. Have to modify source code to change endpoint path
### Environment
Deployment Target: AWS Bedrock AgentCore (requires ARM64)
Azure MCP Version: Latest from main branch
AgentCore Runtime Type: MCP
Contributor guide
Assessment
This issue has not been assessed yet.