

L' AWS Partner Central API Reference è stato ristrutturato. Per ulteriori informazioni sulle operazioni API supportate, consulta l'[AWS Partner Central API Reference.](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html)

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à.

# Riferimento agli strumenti
<a name="mcp-tools-reference"></a>

Il server MCP Partner Central Agent offre due strumenti MCP: `sendMessage` per tutte le interazioni tra agenti e `getSession` per il recupero dello stato della sessione. Tutte le operazioni di Partner Central (richieste di opportunità, richieste di finanziamento, analisi dei documenti) vengono gestite tramite il linguaggio naturale tramite. `sendMessage`

## Panoramica degli strumenti
<a name="mcp-tools-overview"></a>


| Strumento | Description | Categoria | 
| --- | --- | --- | 
| sendMessage | Invia messaggi all'agente AI di Partner Central. Supporta testo, file allegati e risposte di approvazione «human-in-the-loop». | Lettura/ Scrittura | 
| getSession | Recupera lo stato della sessione, inclusa la cronologia delle conversazioni, gli eventi e i metadati. | Read-only | 

## `Invia messaggio`
<a name="mcp-tool-sendmessage"></a>

Strumento principale per tutte le interazioni con gli agenti di Partner Central AI. Utilizza questo strumento per porre domande, richiedere azioni, allegare documenti per l'analisi e rispondere alle richieste di approvazione per le operazioni di scrittura.

L'agente mantiene il contesto della conversazione all'interno di una sessione, in modo da poter porre domande di follow-up senza ripetere il contesto precedente.

### Parameters
<a name="mcp-sendmessage-parameters"></a>
+ `content`(obbligatorio): matrice di blocchi di contenuto. Ogni blocco deve includere un `type` campo che determina la struttura del blocco. Puoi includere più blocchi in un singolo messaggio (ad esempio, testo più documento allegato).

  Tipi di blocchi di contenuto:    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/partner-central/latest/developer-guide/mcp-tools-reference.html)
+ `catalog`(obbligatorio) — Ambiente di destinazione per l'operazione.

  Valori validi: `"AWS"` (produzione), `"Sandbox"` (test)
+ `sessionId`(opzionale) — L'UUID v4 identifica una sessione esistente per continuare. Ometti per creare una nuova sessione. Formato:`session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.

  Predefinito: una nuova sessione viene creata automaticamente.
+ `stream`(opzionale): abilita lo streaming di Server-Sent eventi (SSE) per la consegna di risposte in tempo reale.

  Valori validi: `true`, `false`

  Impostazione predefinita: `false`

### Risposta
<a name="mcp-sendmessage-response"></a>

La risposta include:


| Campo | Description | 
| --- | --- | 
| sessionId | Identificatore di sessione per i messaggi di follow-up | 
| status | Stato della risposta:"complete", o "requires\_approval" "error" | 
| content | Matrice di blocchi di contenuto delle risposte forniti dall'agente | 

### Esempi
<a name="mcp-sendmessage-examples"></a>

#### Messaggio di testo di base (nuova sessione)
<a name="mcp-example-basic-message"></a>

Richiesta:

```
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "content": [
                {
                    "type": "text",
                    "text": "List my open opportunities with expected close date in Q1 2026"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

Risposta:

```
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "content": [
            {
                "type": "text",
                "text": "I found 12 open opportunities with expected close dates in Q1 2026. Here's a summary:\n\n1. **O1234567890** - Acme Corp Cloud Migration - $250,000 - Qualified stage\n2. **O1234567891** - GlobalTech Data Analytics - $180,000 - Prospect stage\n..."
            }
        ],
        "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
        "status": "complete"
    }
}
```

#### Follow-up messaggio (sessione esistente)
<a name="mcp-example-followup"></a>

Richiesta:

```
{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
            "content": [
                {
                    "type": "text",
                    "text": "Tell me more about O1234567890. Is it ready for submission?"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

#### File allegato
<a name="mcp-example-file-attachment"></a>

Carica prima un documento su S3, quindi fai riferimento ad esso nel messaggio:

```
{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
            "content": [
                {
                    "type": "text",
                    "text": "Review this customer proposal and suggest which opportunity it aligns with"
                },
                {
                    "type": "document",
                    "filename": "acme-proposal.pdf",
                    "s3Uri": "s3://aws-partner-central-marketplace-ephemeral-writeonly-files/123456789012/acme-proposal.pdf?versionId=abc123def456"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

Vincoli di caricamento dei file:
+ Massimo 3 file per messaggio
+ Limite di dimensione dell'immagine: 3,75 MB
+ Limite di dimensione del documento: 4,5 MB
+ Estensioni consentite: `doc``docx`,`pdf`,`png`,`jpeg`,`xlsx`,`csv`, `txt`
+ I file devono essere caricati su `s3://{bucket}/{your-aws-account-id}/`
+ L'URI S3 deve includere il parametro di `versionId` query

### Human-in-the-loop flusso di lavoro di approvazione
<a name="mcp-sendmessage-approval"></a>

Quando l'agente deve eseguire un'operazione di scrittura (ad esempio, aggiornare un'opportunità, inviare una richiesta di finanziamento), restituisce uno `"requires_approval"` stato con i dettagli dell'azione proposta. È necessario rispondere con un blocco `tool_approval_response` di contenuto.

**Fase 1 — L'agente richiede l'approvazione:**

```
{
    "jsonrpc": "2.0",
    "id": 4,
    "result": {
        "content": [
            {
                "type": "text",
                "text": "I'd like to update opportunity O1234567890 with the following changes:\n- Target close date: 2026-03-31\n- Expected revenue: $300,000\n- Stage: Qualified\n\nPlease approve, reject, or override this action."
            },
            {
                "type": "tool_approval_request",
                "toolUseId": "tool-use-98765",
                "toolName": "update_opportunity_enhanced",
                "parameters": {
                    "opportunityId": "O1234567890",
                    "targetCloseDate": "2026-03-31",
                    "expectedRevenue": 300000,
                    "stage": "Qualified"
                }
            }
        ],
        "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
        "status": "requires_approval"
    }
}
```

**Fase 2: Approvare l'azione:**

```
{
    "jsonrpc": "2.0",
    "id": 5,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
            "content": [
                {
                    "type": "tool_approval_response",
                    "toolUseId": "tool-use-98765",
                    "decision": "approve"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

**Fase 2 (alternativa) — Rifiuta l'azione:**

```
{
    "jsonrpc": "2.0",
    "id": 5,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
            "content": [
                {
                    "type": "tool_approval_response",
                    "toolUseId": "tool-use-98765",
                    "decision": "reject",
                    "message": "The expected revenue should be $250,000, not $300,000"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

**Passaggio 2 (alternativa): sostituisci con una risposta personalizzata:**

```
{
    "jsonrpc": "2.0",
    "id": 5,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
            "content": [
                {
                    "type": "tool_approval_response",
                    "toolUseId": "tool-use-98765",
                    "decision": "override",
                    "message": "Use expected revenue of $250,000 and keep the stage as Prospect instead"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

Valori della decisione di approvazione:


| Decisione | Comportamento | 
| --- | --- | 
| "approve" | Esegui lo strumento con i parametri proposti | 
| "reject" | Non eseguite lo strumento. Facoltativo message spiega il motivo. | 
| "override" | Fornisci una risposta personalizzata o istruzioni modificate tramite message | 

### Streaming con SSE
<a name="mcp-sendmessage-streaming"></a>

Abilita lo streaming per ricevere blocchi di risposta incrementali man mano che l'agente elabora la tua richiesta:

Richiesta:

```
{
    "jsonrpc": "2.0",
    "id": 6,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
            "content": [
                {
                    "type": "text",
                    "text": "Analyze my pipeline and identify opportunities at risk"
                }
            ],
            "catalog": "AWS",
            "stream": true
        }
    }
}
```

Il server risponde con un flusso di eventi SSE:

```
event: stream_start
data: {"sessionId": "session-550e8400-e29b-41d4-a716-446655440000"}

event: assistant-response.start
data: {}

event: server-tool-use
data: {"toolName": "analyze_pipeline", "parameters": {}}

event: server-tool-response
data: {"toolName": "analyze_pipeline", "result": {"opportunitiesAnalyzed": 47, "atRisk": 5}}

event: assistant-response.delta
data: {"text": "I analyzed your pipeline of 47 opportunities and identified "}

event: assistant-response.delta
data: {"text": "5 that are at risk of slipping:\n\n"}

event: assistant-response.delta
data: {"text": "1. **O2345678901** - Close date is past due by 15 days\n"}

event: assistant-response.completed
data: {"status": "complete"}

event: stream_end
data: {}
```

## `GetSession`
<a name="mcp-tool-getsession"></a>

Recupera lo stato corrente di una sessione di conversazione, inclusa la cronologia completa delle conversazioni, gli eventi e i metadati. Utilizzalo per controllare lo stato della sessione, rivedere le interazioni passate o riprendere una conversazione.

### Parameters
<a name="mcp-getsession-parameters"></a>
+ `sessionId`(obbligatorio) — UUID della sessione da recuperare. Formato:. `session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
+ `catalog`(obbligatorio) — Ambiente a cui appartiene la sessione.

  Valori validi: `"AWS"`, `"Sandbox"`

### Risposta
<a name="mcp-getsession-response"></a>


| Campo | Tipo | Description | 
| --- | --- | --- | 
| sessionId | stringa | Identificatore di sessione | 
| createdAt | stringa | Timestamp ISO 8601 di creazione della sessione | 
| lastActivity | stringa | Timestamp ISO 8601 dell'ultima attività | 
| sequenceNumber | intero | Numero di sequenza dell'evento corrente | 
| stateType | stringa | Stato della sessione corrente | 
| events | array | Cronologia completa delle conversazioni (messaggi degli utenti, risposte degli agenti, utilizzi degli strumenti) | 
| variables | oggetto | Variabili di sessione e metadati | 
| eventCount | intero | Numero totale di eventi nella sessione | 

### Esempio
<a name="mcp-getsession-example"></a>

Richiesta:

```
{
    "jsonrpc": "2.0",
    "id": 7,
    "method": "tools/call",
    "params": {
        "name": "getSession",
        "arguments": {
            "sessionId": "session-550e8400-e29b-41d4-a716-446655440000",
            "catalog": "AWS"
        }
    }
}
```

Risposta:

```
{
    "jsonrpc": "2.0",
    "id": 7,
    "result": {
        "content": [
            {
                "type": "text",
                "text": "{\"sessionId\":\"session-550e8400-e29b-41d4-a716-446655440000\",\"createdAt\":\"2026-01-15T10:30:00Z\",\"lastActivity\":\"2026-01-15T11:45:00Z\",\"sequenceNumber\":8,\"stateType\":\"END_TURN\",\"eventCount\":8,\"events\":[...],\"variables\":{}}"
            }
        ]
    }
}
```

## Gestione degli errori
<a name="mcp-tools-error-handling"></a>

Tutti gli errori seguono il formato di errore JSON-RPC 2.0:

```
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32001,
        "message": "Authentication failed. Verify your SigV4 credentials and ensure they have not expired."
    }
}
```

Vedi [Codici di errore](mcp-configuration-reference.md#mcp-config-error-codes) l'elenco completo dei codici di errore e dei relativi significati.

**Strategia di riprova consigliata**
+ Per `-32004` (LIMIT\_EXCEEDED): Riprova con backoff esponenziale a partire da 1 secondo
+ Per `-32603` (INTERNAL\_ERROR): Riprova fino a 3 volte con backoff esponenziale
+ Per `-32001` (AUTHENTICATION\_FAILURE): aggiorna le credenziali e riprova
+ Per tutti gli altri errori: non riprovare automaticamente: controlla il messaggio di errore e correggi la richiesta