View a markdown version of this page

Referencia de herramientas - AWS Centro de socios

Se reestructuró la referencia de la Centro de socios de AWS API. Para obtener más información sobre las operaciones de API compatibles, consulte la referencia de la Centro de socios de AWS API.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Referencia de herramientas

El servidor MCP del agente de Partner Central presenta dos herramientas de MCP: sendMessage para todas las interacciones entre los agentes y getSession para recuperar el estado de la sesión. Todas las operaciones de Partner Central (consultas de oportunidades, solicitudes de financiación, análisis de documentos) se gestionan mediante lenguaje natural. sendMessage

Descripción general de las herramientas

Herramienta Description (Descripción) Categoría
sendMessage Envíe mensajes al agente de IA de Partner Central. Admite mensajes de texto, archivos adjuntos y respuestas de aprobación personalizadas. Lectura y escritura
getSession Recupera el estado de la sesión, incluido el historial de conversaciones, los eventos y los metadatos. Read-only

Enviar mensaje

Herramienta principal para todas las interacciones con los agentes de IA de Partner Central. Utilice esta herramienta para hacer preguntas, solicitar acciones, adjuntar documentos para su análisis y responder a las solicitudes de aprobación de las operaciones de escritura.

El agente mantiene el contexto de la conversación dentro de una sesión, por lo que puede hacer preguntas de seguimiento sin repetir el contexto anterior.

Parameters

  • content(obligatorio): conjunto de bloques de contenido. Cada bloque debe incluir un type campo que determine la estructura del bloque. Puedes incluir varios bloques en un solo mensaje (p. ej., texto o documento adjunto).

    Tipos de bloques de contenido:

    Tipo Campos Description (Descripción)
    text type(obligatorio), text (obligatorio) Mensaje de usuario (texto) enviado al agente
    document type(obligatorio), filename (obligatorio), s3Uri (obligatorio) Archivo adjunto para que el agente lo analice. s3UriDebe incluir un versionId parámetro.
    tool_approval_response type(obligatorio), toolUseId (obligatorio), decision (obligatorio), message (opcional) Respuesta a una solicitud de aprobación realizada por un experto
  • catalog(obligatorio): entorno objetivo para la operación.

    Valores válidos: "AWS" (producción), "Sandbox" (pruebas)

  • sessionId(opcional): el UUID v4 identifica una sesión existente para continuar. Omite la creación de una nueva sesión. Formato: session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

    Predeterminado: se crea automáticamente una nueva sesión.

  • stream(opcional): habilite la transmisión de Server-Sent eventos (SSE) para ofrecer respuestas en tiempo real.

    Valores válidos: true, false

    Valor predeterminado: false

Respuesta

La respuesta incluye lo siguiente:

Campo Description (Descripción)
sessionId Identificador de sesión para los mensajes de seguimiento
status Estado de respuesta:"complete","requires_approval", o "error"
content Matriz de bloques de contenido de respuesta del agente

Ejemplos

Mensaje de texto básico (nueva sesión)

Solicitud:

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

Response: (Respuesta:)

{ "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 mensaje (sesión existente)

Solicitud:

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

Archivo adjunto

Suba primero un documento a S3 y, a continuación, haga referencia a él en el mensaje:

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

Restricciones de carga de archivos:

  • Máximo de 3 archivos por mensaje

  • Límite de tamaño de imagen: 3,75 MB

  • Límite de tamaño del documento: 4,5 MB

  • Extensiones permitidas: docdocx,pdf,png,jpeg,xlsx,csv, txt

  • Los archivos deben cargarse a s3://{bucket}/{your-aws-account-id}/

  • La URI de S3 debe incluir el parámetro de versionId consulta

Human-in-the-loop flujo de trabajo de aprobación

Cuando el agente necesita realizar una operación de escritura (por ejemplo, actualizar una oportunidad o enviar una solicitud de financiación), devuelve un "requires_approval" estado con los detalles de la acción propuesta. Debes responder con un bloque tool_approval_response de contenido.

Paso 1: el agente solicita la aprobación:

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

Paso 2: Aprobar la acción:

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

Paso 2 (alternativa): rechazar la acción:

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

Paso 2 (alternativo): anula con una respuesta 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 de la decisión de aprobación:

Decisión Comportamiento
"approve" Ejecute la herramienta con los parámetros propuestos
"reject" No ejecute la herramienta. Opcional message explica por qué.
"override" Proporcione una respuesta personalizada o instrucciones modificadas mediante message

Transmisión con SSE

Habilite la transmisión para recibir fragmentos de respuesta incrementales a medida que el agente procesa su solicitud:

Solicitud:

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

El servidor responde con una secuencia de eventos de 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 el estado actual de una sesión de conversación, incluido el historial completo de la conversación, los eventos y los metadatos. Utilízalo para inspeccionar el estado de la sesión, revisar las interacciones pasadas o reanudar una conversación.

Parameters

  • sessionId(obligatorio): el UUID de la sesión que se va a recuperar. Formato: session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

  • catalog(obligatorio): entorno al que pertenece la sesión.

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

Respuesta

Campo Tipo Description (Descripción)
sessionId cadena Identificador de sesión
createdAt cadena Marca de tiempo ISO 8601 de creación de la sesión
lastActivity cadena Marca de tiempo ISO 8601 de la última actividad
sequenceNumber entero Número de secuencia del evento actual
stateType cadena Estado actual de la sesión
events array Historial completo de conversaciones (mensajes de usuario, respuestas de los agentes, usos de las herramientas)
variables objeto Variables de sesión y metadatos
eventCount entero Número total de eventos de la sesión

Ejemplo

Solicitud:

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

Response: (Respuesta:)

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

Gestión de errores

Todos los errores siguen el formato de error 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." } }

Consulta Códigos de error la lista completa de códigos de error y sus significados.

Estrategia de reintento recomendada

  • Para -32004 (LIMIT_EXCEEDED): Vuelva a intentarlo con un retroceso exponencial a partir de 1 segundo

  • Para -32603 (INTERNAL_ERROR): Vuelva a intentarlo hasta 3 veces con un retraso exponencial

  • Para -32001 (AUTHENTICATION_FAILURE): Actualice las credenciales y vuelva a intentarlo

  • Para todos los demás errores: no lo vuelva a intentar automáticamente; inspeccione el mensaje de error y corrija la solicitud