L' AWS Partner Central API Reference è stato ristrutturato. Per ulteriori informazioni sulle operazioni API supportate, consulta l'AWS Partner Central API Reference.
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
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
| 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
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
content(obbligatorio): matrice di blocchi di contenuto. Ogni blocco deve includere untypecampo 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:
Tipo Campi Description texttype(richiesto),text(richiesto)Testo del messaggio utente inviato all'agente documenttype(richiesto),filename(obbligatorio),s3Uri(obbligatorio)File allegato da analizzare per l'agente. s3UriDeve includere unversionIdparametro.tool_approval_responsetype(obbligatorio),toolUseIddecision(obbligatorio),message(opzionale)Risposta a una richiesta di approvazione umana 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,falseImpostazione predefinita:
false
Risposta
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
Messaggio di testo di base (nuova sessione)
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)
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
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:
docdocx,pdf,png,jpeg,xlsx,csv,txtI file devono essere caricati su
s3://{bucket}/{your-aws-account-id}/L'URI S3 deve includere il parametro di
versionIdquery
Human-in-the-loop flusso di lavoro di approvazione
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
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
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
sessionId(obbligatorio) — UUID della sessione da recuperare. Formato:.session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxcatalog(obbligatorio) — Ambiente a cui appartiene la sessione.Valori validi:
"AWS","Sandbox"
Risposta
| 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
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
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 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 secondoPer
-32603(INTERNAL_ERROR): Riprova fino a 3 volte con backoff esponenzialePer
-32001(AUTHENTICATION_FAILURE): aggiorna le credenziali e riprovaPer tutti gli altri errori: non riprovare automaticamente: controlla il messaggio di errore e correggi la richiesta