Se reestructuró la referencia de la AWS Partner Central API. Para obtener más información sobre las operaciones de API compatibles, consulta la referencia de la AWS Partner Central 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 Agent 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 un 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 textos, archivos adjuntos y respuestas de aprobación informadas por personas. | 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 operaciones de redacción.
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): matriz de bloques de contenido. Cada bloque debe incluir untypecampo que determine la estructura del bloque. Puedes incluir varios bloques en un solo mensaje (por ejemplo, texto o documento adjunto).Tipos de bloques de contenido:
Tipo Campos Description (Descripción) texttype(obligatorio),text(obligatorio)Texto del mensaje de usuario enviado al agente documenttype(obligatorio),filename(obligatorio),s3Uri(obligatorio)Archivo adjunto para que el agente lo analice. s3UriDebe incluir unversionIdparámetro.tool_approval_responsetype(obligatorio),toolUseId(obligatorio),decision(obligatorio),message(opcional)Respuesta a una solicitud de aprobación totalmente actualizada 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. Omita la creación de una sesión nueva. Formato:session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.Predeterminado: la nueva sesión se crea automáticamente.
stream(opcional): habilita la transmisión de Server-Sent eventos (SSE) para obtener respuestas en tiempo real.Valores válidos:
true,falseValor 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
Primero cargue un documento en 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 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,txtLos archivos deben cargarse en
s3://{bucket}/{your-aws-account-id}/El URI de S3 debe incluir el parámetro de
versionIdconsulta
Human-in-the-loop flujo de trabajo de aprobación
Cuando el agente necesita realizar una operación de redacción (por ejemplo, actualizar una oportunidad o presentar 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 (alternativo): 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): anular 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 |
Transmitiendo con SSE
Habilite la transmisión para recibir fragmentos de respuesta incrementales a medida que el agente procese 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 un flujo 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. Úselo para inspeccionar el estado de la sesión, revisar las interacciones pasadas o reanudar una conversación.
Parameters
sessionId(obligatorio): 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 la creación de la sesión |
lastActivity |
cadena | Marca temporal de la última actividad según la norma ISO 8601 |
sequenceNumber |
entero | Número de secuencia del evento actual |
stateType |
cadena | Estado de la sesión actual |
events |
array | Historial completo de conversaciones (mensajes de usuario, respuestas de los agentes, usos de las herramientas) |
variables |
objeto | Metadatos y variables de sesión |
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." } }
Consulte 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 retraso exponencial a partir de 1 segundoPara
-32603(INTERNAL_ERROR): vuelve a intentarlo hasta 3 veces con un retroceso exponencialPara
-32001(AUTHENTICATION_FAILURE): actualice las credenciales y vuelva a intentarloPara todos los demás errores: no lo vuelva a intentar automáticamente; inspeccione el mensaje de error y corrija la solicitud