View a markdown version of this page

Referência de ferramentas - AWS Central de Parceiros

A referência AWS Partner Central da API foi reestruturada. Para obter mais informações sobre as operações de API suportadas, consulte a Referência AWS Partner Central da API.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Referência de ferramentas

O Partner Central Agent MCP Server expõe duas ferramentas MCP: sendMessage para todas as interações do agente e getSession para recuperar o estado da sessão. Todas as operações do Partner Central — consultas de oportunidades, solicitações de financiamento, análise de documentos — são tratadas em linguagem natural por meio de. sendMessage

Visão geral das ferramentas

Ferramenta Description Categoria
sendMessage Envie mensagens para o agente de IA do Partner Central. Oferece suporte a texto, anexos de arquivos e respostas de aprovação humanas. Leitura/Gravação
getSession Recupere o estado da sessão, incluindo histórico de conversas, eventos e metadados. Read-only

Enviar mensagem

Ferramenta principal para todas as interações com agentes de IA do Partner Central. Use essa ferramenta para fazer perguntas, solicitar ações, anexar documentos para análise e responder às solicitações de aprovação para operações de gravação.

O agente mantém o contexto da conversa em uma sessão, para que você possa fazer perguntas complementares sem repetir o contexto anterior.

Parâmetros

  • content(obrigatório) — Matriz de blocos de conteúdo. Cada bloco deve incluir um type campo que determine a estrutura do bloco. Você pode incluir vários blocos em uma única mensagem (por exemplo, texto + anexo de documento).

    Tipos de blocos de conteúdo:

    Tipo Campos Description
    text type(obrigatório), text (obrigatório) Texto da mensagem do usuário enviado ao agente
    document type(obrigatório), filename (obrigatório), s3Uri (obrigatório) Anexo de arquivo para o agente analisar. s3UriÉ necessário incluir um versionId parâmetro.
    tool_approval_response type(obrigatório), toolUseId (obrigatório), decision (obrigatório), message (opcional) Resposta a uma solicitação de aprovação feita por humanos
  • catalog(obrigatório) — Ambiente de destino para a operação.

    Valores válidos: "AWS" (produção), "Sandbox" (teste)

  • sessionId(opcional) — UUID v4 identificando uma sessão existente para continuar. Omita a criação de uma nova sessão. Formato: session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

    Padrão: uma nova sessão é criada automaticamente.

  • stream(opcional) — Ative o streaming de Server-Sent eventos (SSE) para entrega de respostas em tempo real.

    Valores válidos: true, false

    Padrão: false

Resposta

A resposta inclui:

Campo Description
sessionId Identificador de sessão para mensagens de acompanhamento
status Status da resposta:"complete","requires_approval", ou "error"
content Conjunto de blocos de conteúdo de resposta do agente

Exemplos

Mensagem de texto básica (nova sessão)

Solicitação:

{ "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" } } }

Resposta:

{ "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 mensagem (sessão existente)

Solicitação:

{ "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" } } }

Anexo de arquivo

Faça o upload de um documento para o S3 primeiro e, em seguida, faça referência a ele na mensagem:

{ "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" } } }

Restrições de upload de arquivos:

  • Máximo de 3 arquivos por mensagem

  • Limite de tamanho da imagem: 3,75 MB

  • Limite de tamanho do documento: 4,5 MB

  • Extensões permitidas: docdocx,pdf,png,,jpeg,xlsx,csv, txt

  • Os arquivos devem ser enviados para s3://{bucket}/{your-aws-account-id}/

  • O URI do S3 deve incluir o parâmetro de versionId consulta

Human-in-the-loop fluxo de trabalho de aprovação

Quando o agente precisa realizar uma operação de gravação (por exemplo, atualizar uma oportunidade, enviar uma solicitação de financiamento), ele retorna um "requires_approval" status com os detalhes da ação proposta. Você deve responder com um bloco tool_approval_response de conteúdo.

Etapa 1 — O agente solicita aprovação:

{ "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" } }

Etapa 2 — Aprovar a ação:

{ "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" } } }

Etapa 2 (alternativa) — Rejeite a ação:

{ "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" } } }

Etapa 2 (alternativa) — Substituir por uma resposta personalizada:

{ "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" } } }

Valores da decisão de aprovação:

Decisão Comportamento
"approve" Execute a ferramenta com os parâmetros propostos
"reject" Não execute a ferramenta. Opcional message explica o porquê.
"override" Forneça uma resposta personalizada ou instruções modificadas via message

Streaming com SSE

Ative o streaming para receber fragmentos de respostas incrementais à medida que o agente processa sua solicitação:

Solicitação:

{ "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 } } }

O servidor responde com um fluxo de eventos 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: {}

Obter sessão

Recupere o estado atual de uma sessão de conversação, incluindo histórico completo de conversas, eventos e metadados. Use isso para inspecionar o estado da sessão, analisar interações passadas ou retomar uma conversa.

Parâmetros

  • sessionId(obrigatório) — UUID da sessão a ser recuperada. Formato: session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

  • catalog(obrigatório) — Ambiente ao qual a sessão pertence.

    Valores válidos: "AWS", "Sandbox"

Resposta

Campo Tipo Description
sessionId string Identificador da sessão
createdAt string Registro de data e hora ISO 8601 da criação da sessão
lastActivity string Registro de data e hora ISO 8601 da última atividade
sequenceNumber integer Número de sequência do evento atual
stateType string Estado atual da sessão
events array Histórico completo de conversas (mensagens de usuários, respostas de agentes, usos de ferramentas)
variables objeto Variáveis de sessão e metadados
eventCount integer Número total de eventos na sessão

Exemplo

Solicitação:

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

Resposta:

{ "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\":{}}" } ] } }

Tratamento de erros

Todos os erros seguem o formato de erro 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." } }

Consulte Códigos de erro a lista completa dos códigos de erro e seus significados.

Estratégia de nova tentativa recomendada

  • Para -32004 (LIMIT_EXCEEDED): tente novamente com recuo exponencial a partir de 1 segundo

  • Para -32603 (INTERNAL_ERROR): tente novamente até 3 vezes com recuo exponencial

  • Para -32001 (AUTHENTICATION_FAILURE): atualize as credenciais e tente novamente

  • Para todos os outros erros: não tente novamente automaticamente — inspecione a mensagem de erro e corrija a solicitação