

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建置 MCP 伺服器 Docker 映像的步驟
<a name="steps-to-build-mcp-server-docker-image"></a>

若要在 AWS 上使用 MCP （模型內容通訊協定） 伺服器與生成式 AI 應用程式建置器，您需要在私有 Amazon ECR 儲存庫中建置和存放的 Docker 映像作為第一步。

**注意**  
截至目前為止，Amazon Bedrock AgentCore 執行時間中現有的部署 MCP 伺服器無法匯出至 GAAB。若要將 MCP 伺服器連接到透過 GAAB 建立的代理程式，他們需要透過 GAAB 建立。

## 步驟 1：建立 MCP 伺服器
<a name="step-1-create-your-mcp-server"></a>

首先，您需要準備好 MCP 伺服器實作。如需建立 MCP 伺服器的詳細指示，請參閱 [Amazon Bedrock AgentCore 開發人員指南 - 建立 MCP 伺服器](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-create-server)。

我們建議使用下列專案結構：

```
.
├── __init__.py
├── extras/
│   ├── extra_dependencies.py
│   ├── Dockerfile
├── requirements.txt
└── server.py <-- Server Entry point
```

對於 Dockerfile 結構，建議使用類似下列範例的格式：

```
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim
WORKDIR /app

# All environment variables in one layer
ENV UV_SYSTEM_PYTHON=1 \
    UV_COMPILE_BYTECODE=1 \
    UV_NO_PROGRESS=1 \
    PYTHONUNBUFFERED=1 \
    DOCKER_CONTAINER=1 \
    AWS_REGION=us-east-1 \
    AWS_DEFAULT_REGION=us-east-1

COPY requirements.txt requirements.txt
# Install from requirements file
RUN uv pip install -r requirements.txt

RUN uv pip install aws-opentelemetry-distro>=0.10.1

# Signal that this is running in Docker for host binding logic
ENV DOCKER_CONTAINER=1

# Create non-root user
RUN useradd -m -u 1000 bedrock_agentcore
USER bedrock_agentcore

EXPOSE 9000
EXPOSE 8000
EXPOSE 8080

# Copy entire project (respecting .dockerignore)
COPY . .

# Use the full module path
CMD ["opentelemetry-instrument", "python", "-m", "server"]
```

## 步驟 2：在本機測試 MCP 伺服器
<a name="step-2-test-your-mcp-server-locally"></a>

在部署到 AWS 之前，請務必在本機測試 MCP 伺服器，以確保其如預期般運作。如需本機測試的詳細說明，請參閱 [Amazon Bedrock AgentCore 開發人員指南 - 在本機測試 MCP 伺服器](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-test-locally)。

## 步驟 3：部署至 Amazon ECR
<a name="step-3-deploy-to-amazon-ecr"></a>

在本機建立和測試 MCP 伺服器後，請依照下列步驟將其部署至 Amazon ECR：

1. 請確定您已安裝最新版本的 AWS CLI 和 Docker。如需詳細資訊，請參閱 [Amazon ECR 入門](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html)。

1. 擷取身分驗證字符，並向登錄檔驗證 Docker 用戶端。使用 AWS CLI：

   ```
   aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com
   ```

1. 使用下列命令建置 Docker 映像。如需從頭開始建置 Docker 檔案的資訊，請參閱 [Docker 文件](https://docs.docker.com/engine/reference/builder/)。如果您的映像已建置完成，您可以略過此步驟：

   ```
   docker build -t <repository-name> .
   ```

1. 建置完成後，請標記您的映像，以便您可以將映像推送到此儲存庫：

   ```
   docker tag <repository-name>:latest <account-id>.dkr.ecr.us-east-1.amazonaws.com/<repository-name>:latest
   ```

1. 執行下列命令，將此映像推送至您新建立的 AWS 儲存庫：

   ```
   docker push <account-id>.dkr.ecr.us-east-1.amazonaws.com/<repository-name>:latest
   ```

如需完整的部署說明，請參閱 [Amazon Bedrock AgentCore 開發人員指南 - 將 MCP 伺服器部署至 AWS](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-deploy-aws)。

## 步驟 4：在 GAAB 中使用 ECR URI
<a name="step-4-use-the-ecr-uri-in-gaab"></a>

成功將 Docker 映像推送至 Amazon ECR 之後，請從 ECR 主控台複製映像 URI。透過 AWS 部署精靈上的生成式 AI 應用程式建置器部署 MCP 伺服器時，您將使用此 URI。