microsoft / microsoft/mcp

[BUG] Azure MCP Server should support Azure Arc (hybrid/multi-cloud)

Open
#1,591 2 comments 0 reactions 1 assignee Assigned to @g2vinay View on GitHub
blocking-release bug customer-reported needs-team-triage remote-mcp server-Azure.Mcp
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.