

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Passaggi per creare un server MCP Docker Image
<a name="steps-to-build-mcp-server-docker-image"></a>

Per utilizzare i server MCP (Model Context Protocol) con Generative AI Application Builder su AWS, come primo passaggio è necessaria un'immagine Docker creata e archiviata in un repository Amazon ECR privato.

**Nota**  
Al momento, i server MCP distribuiti esistenti nel AgentCore runtime di Amazon Bedrock non possono essere esportati in GAAB. Affinché i server MCP possano essere collegati agli agenti creati tramite GAAB, devono essere creati tramite GAAB.

## Fase 1: Crea il tuo server MCP
<a name="step-1-create-your-mcp-server"></a>

Innanzitutto, è necessario disporre dell'implementazione del server MCP pronta. Per istruzioni dettagliate sulla creazione di un server MCP, consulta la [Amazon Bedrock AgentCore Developer Guide - Create an MCP](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-create-server) server.

Consigliamo la seguente struttura di progetto:

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

Per la struttura Dockerfile, consigliamo di utilizzare un formato simile al seguente esempio:

```
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"]
```

## Fase 2: Esegui il test del server MCP a livello locale
<a name="step-2-test-your-mcp-server-locally"></a>

Prima di eseguire la distribuzione su AWS, è importante testare il server MCP localmente per assicurarsi che funzioni come previsto. Per istruzioni dettagliate sui test locali, consulta la [Amazon Bedrock AgentCore Developer Guide - Esegui il test del tuo server MCP](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-test-locally) localmente.

## Fase 3: Implementazione su Amazon ECR
<a name="step-3-deploy-to-amazon-ecr"></a>

Una volta creato e testato localmente il server MCP, segui questi passaggi per distribuirlo su Amazon ECR:

1. Assicurati di avere installato la versione più recente di AWS CLI e Docker. Per ulteriori informazioni, consulta [Getting Started with Amazon ECR.](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html)

1. Recupera un token di autenticazione e autentica il client Docker nel registro. Usa l'interfaccia a riga di comando di AWS:

   ```
   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. Crea la tua immagine Docker usando il seguente comando. Per informazioni sulla creazione di un file Docker da zero, consulta la [documentazione Docker](https://docs.docker.com/engine/reference/builder/). Puoi saltare questo passaggio se l'immagine è già stata creata:

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

1. Una volta completata la compilazione, tagga l'immagine in modo da poterla inviare a questo repository:

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

1. Esegui il seguente comando per inviare questa immagine al tuo repository AWS appena creato:

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

Per istruzioni complete sulla distribuzione, consulta la [Amazon Bedrock AgentCore Developer Guide - Deploy your MCP server to](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-mcp.html#runtime-mcp-deploy-aws) AWS.

## Fase 4: utilizza l'URI ECR in GAAB
<a name="step-4-use-the-ecr-uri-in-gaab"></a>

Dopo aver inviato con successo l'immagine Docker ad Amazon ECR, copia l'URI dell'immagine dalla console ECR. Utilizzerai questo URI per distribuire il tuo server MCP tramite la procedura guidata di distribuzione Generative AI Application Builder on AWS.