

La référence AWS Partner Central d'API a été restructurée. Pour plus d'informations sur les opérations d'API prises en charge, consultez la [référence des AWS Partner Central API](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Démarrage avec le serveur MCP Partner Central Agent
<a name="mcp-getting-started"></a>

Ce guide explique comment configurer l'accès programmatique au serveur MCP Partner Central Agent à l'aide d'un client MCP personnalisé. Le serveur utilise le protocole HTTPS direct avec authentification SigV4. Aucun proxy ou plug-in IDE n'est requis.

## Conditions préalables
<a name="mcp-prerequisites"></a>

Avant de commencer, assurez-vous d'avoir :
+ Un compte Partner Central actif (migré vers la AWS console)
+ Un AWS compte avec des autorisations IAM pour Partner Central
+ AWS CLI installée et configurée avec des informations d'identification
+ Accès à la région us-east-1 (Virginie du Nord)
+ Connectivité HTTPS à `partnercentral-agents-mcp.us-east-1.api.aws`
+ Support du protocole TLS 1.2\+ dans votre client HTTP
+ Un MCP-compatible client qui prend en charge la signature des demandes JSON-RPC 2.0 et SigV4

## Étape 1 : configurer les autorisations IAM
<a name="mcp-step1-iam"></a>

Le serveur MCP Partner Central Agent nécessite des autorisations IAM à deux niveaux : accès au protocole (pour communiquer avec le point de terminaison MCP) et accès aux données (pour effectuer des opérations Partner Central).

### Joindre des politiques IAM
<a name="mcp-attaching-iam-policies"></a>

Pour associer une politique à votre identité IAM à l'aide de la console AWS de gestion :

1. Ouvrez la [console IAM](https://console.aws.amazon.com/iam/).

1. Dans le volet de navigation de gauche, choisissez **Utilisateurs**, **Groupes d'utilisateurs** ou **Rôles** en fonction de l'identité à laquelle vous souhaitez associer la politique, puis choisissez le nom de l'utilisateur, du groupe ou du rôle spécifique.

1. Sélectionnez l’onglet **Autorisations**.

1. Choisissez **Joindre des politiques** (ou **Ajouter des autorisations** si c'est la première fois).

1. Dans la liste des politiques, recherchez et sélectionnez la stratégie gérée que vous souhaitez associer (par exemple, une politique personnalisée que vous avez créée à partir des blocs JSON ci-dessous).

1. Choisissez **Joindre des politiques** (ou **Suivant** puis **Ajouter des autorisations**) pour confirmer.

Les autorisations prennent effet immédiatement. Vous pouvez associer plusieurs politiques à la même identité.

### Recommandé : utilisez la politique gérée
<a name="mcp-managed-policy"></a>

Le moyen le plus simple d'accorder l'accès au protocole MCP consiste à associer la politique `AWSMcpServiceActionsFullAccess` gérée à votre identité IAM. Cette politique inclut toutes les autorisations nécessaires pour interagir avec le serveur MCP.

Pour un contrôle précis, vous pouvez utiliser la clé de `aws:IsMcpServiceAction` condition de vos politiques IAM pour définir les autorisations spécifiques aux actions de service MCP.

### Autorisations minimales pour l'accès au protocole MCP
<a name="mcp-minimum-permissions"></a>

Au minimum, votre identité IAM a besoin de cette action pour interagir avec le serveur MCP :


| Action | Description | 
| --- | --- | 
| partnercentral:UseSession | Nécessaire pour créer, mettre à jour et récupérer des sessions de conversation | 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "partnercentral:UseSession"
            ],
            "Resource": "*",
			"Condition": {
                "Bool": {
                    "aws:IsMcpServiceAction": "true"
                }
            }
        }
    ]
	

}
```

### Autorisations d'accès aux données
<a name="mcp-data-access-permissions"></a>

Pour effectuer réellement les opérations de Partner Central par le biais de l'agent, vous avez besoin d'autorisations supplémentaires en fonction de votre cas d'utilisation.

**Gestion des opportunités :**

```
{
    "Effect": "Allow",
    "Action": [
        "partnercentral:List*",
        "partnercentral:Get*",
        "partnercentral:CreateOpportunity",
        "partnercentral:UpdateOpportunity",
        "partnercentral:SubmitOpportunity",
        "partnercentral:AssignOpportunity",
        "partnercentral:AssociateOpportunity",
        "partnercentral:DisassociateOpportunity"
    ],
    "Resource": "*"
}
```

**Programmes de financement :**

```
{
    "Effect": "Allow",
    "Action": [
        "partnercentral:ListBenefitAllocations",
        "partnercentral:ListBenefitApplications",
        "partnercentral:CreateBenefitApplication",
        "partnercentral:GetBenefitApplication",
        "partnercentral:UpdateBenefitApplication",
        "partnercentral:SubmitBenefitApplication",
        "partnercentral:AmendBenefitApplication",
        "partnercentral:CancelBenefitApplication",
        "partnercentral:RecallBenefitApplication",
        "partnercentral:AssociateBenefitApplicationResource",
        "partnercentral:DisassociateBenefitApplicationResource"
    ],
    "Resource": "*"
}
```

**Accès à la Marketplace :**

```
{
    "Effect": "Allow",
    "Action": [
        "aws-marketplace:DescribeEntity",
        "aws-marketplace:DescribeAgreement",
        "aws-marketplace:SearchAgreements",
        "aws-marketplace:ListEntities"
    ],
    "Resource": "*"
}
```

**Intégration à Partner Central :**

```
{
    "Effect": "Allow",
    "Action": [
        "partnercentral:ListPartners",
        "partnercentral:GetPartner",
        "partnercentral:GetProfileVisibility",
        "partnercentral:GetAllianceLeadContact",
        "partnercentral:GetProfileUpdateTask",
        "partnercentral:StartProfileUpdateTask",
        "partnercentral:CancelProfileUpdateTask",
        "partnercentral:PutProfileVisibility",
        "partnercentral:PutAllianceLeadContact",
        "partnercentral:SendEmailVerificationCode",
        "partnercentral:AssociateAwsTrainingCertificationEmailDomain",
        "partnercentral:DisassociateAwsTrainingCertificationEmailDomain",
        "partnercentral:GetAccountConnections",
        "partnercentral:GetConnectionInvitations",
        "partnercentral:CreateConnectionInvitation",
        "partnercentral:CancelConnectionInvitation",
        "partnercentral:RespondConnectionInvitation",
        "partnercentral:CancelConnection",
        "partnercentral:ManageConnectionPreferences"
    ],
    "Resource": "*"
}
```

Pour la configuration des vendeurs sur Marketplace, ajoutez également :

```
{
    "Effect": "Allow",
    "Action": [
        "aws-marketplace:ListEntities",
        "aws-marketplace:DescribeEntity",
        "aws-marketplace:DescribeChangeSet",
        "aws-marketplace:StartChangeSet"
    ],
    "Resource": "*"
}
```

Pour la gestion des rôles liés aux services (revente Authorizations/CPPO) :

```
{
    "Effect": "Allow",
    "Action": [
        "iam:GetRole",
        "iam:CreateServiceLinkedRole"
    ],
    "Resource": "*"
}
```

### Politique d'accès complet
<a name="mcp-full-access-policy"></a>

Pour le développement et les tests, vous pouvez combiner toutes les autorisations dans une seule politique :

```
aws iam create-policy \
    --policy-name PartnerCentralAgentsFullAccess \
    --policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "partnercentral:UseSession",
                    "partnercentral:List*",
                    "partnercentral:Get*",
                    "partnercentral:CreateOpportunity",
                    "partnercentral:UpdateOpportunity",
                    "partnercentral:SubmitOpportunity",
                    "partnercentral:AssignOpportunity",
                    "partnercentral:AssociateOpportunity",
                    "partnercentral:DisassociateOpportunity",
                    "partnercentral:CreateResourceSnapshot",
                    "partnercentral:CreateResourceSnapshotJob",
                    "partnercentral:StartResourceSnapshotJob",
                    "partnercentral:CreateEngagement",
                    "partnercentral:CreateEngagementInvitation",
                    "partnercentral:RejectEngagementInvitation",
                    "partnercentral:StartEngagementByAcceptingInvitationTask",
                    "partnercentral:StartEngagementFromOpportunityTask",
                    "partnercentral:CreateBenefitApplication",
                    "partnercentral:UpdateBenefitApplication",
                    "partnercentral:SubmitBenefitApplication",
                    "partnercentral:AmendBenefitApplication",
                    "partnercentral:CancelBenefitApplication",
                    "partnercentral:RecallBenefitApplication",
                    "partnercentral:AssociateBenefitApplicationResource",
                    "partnercentral:DisassociateBenefitApplicationResource",
                    "partnercentral:ListPartners",
                    "partnercentral:StartProfileUpdateTask",
                    "partnercentral:CancelProfileUpdateTask",
                    "partnercentral:PutProfileVisibility",
                    "partnercentral:PutAllianceLeadContact",
                    "partnercentral:SendEmailVerificationCode",
                    "partnercentral:AssociateAwsTrainingCertificationEmailDomain",
                    "partnercentral:DisassociateAwsTrainingCertificationEmailDomain",
                    "partnercentral:CreateConnectionInvitation",
                    "partnercentral:CancelConnectionInvitation",
                    "partnercentral:RespondConnectionInvitation",
                    "partnercentral:CancelConnection",
                    "partnercentral:ManageConnectionPreferences"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "aws-marketplace:DescribeEntity",
                    "aws-marketplace:DescribeAgreement",
                    "aws-marketplace:SearchAgreements",
                    "aws-marketplace:ListEntities",
                    "aws-marketplace:DescribeChangeSet",
                    "aws-marketplace:StartChangeSet"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:CreateServiceLinkedRole"
                ],
                "Resource": "*"
            }
        ]
    }'
```

### Read-only politique
<a name="mcp-read-only-policy"></a>

Pour les environnements de production ou les cas d'utilisation en lecture seule, limitez les autorisations relatives aux opérations de lecture :

```
aws iam create-policy \
    --policy-name PartnerCentralAgentReadOnly \
    --policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "partnercentral:UseSession",
                    "partnercentral:List*",
                    "partnercentral:Get*",
                    "partnercentral:ListPartners",
                    "partnercentral:GetPartner",
                    "partnercentral:GetProfileVisibility",
                    "partnercentral:GetAllianceLeadContact",
                    "partnercentral:GetProfileUpdateTask",
                    "partnercentral:GetAccountConnections",
                    "partnercentral:GetConnectionInvitations"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "aws-marketplace:DescribeEntity",
                    "aws-marketplace:DescribeAgreement",
                    "aws-marketplace:SearchAgreements",
                    "aws-marketplace:ListEntities",
                    "aws-marketplace:DescribeChangeSet"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole"
                ],
                "Resource": "*"
            }
        ]
    }'
```

## Étape 2 : Connectez votre client MCP
<a name="mcp-step2-connect"></a>

Le serveur MCP Partner Central Agent utilise le protocole HTTPS direct avec signature des demandes SigV4. Il n'y a pas de couche proxy : votre client MCP envoie des requêtes JSON-RPC 2.0 directement au point de terminaison.

### Endpoint
<a name="mcp-endpoint"></a>

```
https://partnercentral-agents-mcp.us-east-1.api.aws/mcp
```

### Authentification
<a name="mcp-authentication"></a>

Toutes les demandes doivent être signées avec [AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) en utilisant :
+ Nom du service : `partnercentral-agents-mcp`
+ Région: `us-east-1`

### Initialisation de la connexion MCP
<a name="mcp-initialize-connection"></a>

Envoyez une `initialize` demande pour établir le protocole :

```
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
        "protocolVersion": "2025-03-26",
        "capabilities": {},
        "clientInfo": {
            "name": "my-partner-client",
            "version": "1.0.0"
        }
    }
}
```

Réponse attendue :

```
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "protocolVersion": "2025-03-26",
        "capabilities": {
            "tools": {
                "listChanged": false
            }
        },
        "serverInfo": {
            "name": "PartnerCentralAgentMCPServer",
            "version": "1.0.0"
        }
    }
}
```

### Liste des outils disponibles
<a name="mcp-list-tools"></a>

```
{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list",
    "params": {}
}
```

## Signature de vos appels avec un en-tête MCP
<a name="mcp-signing-calls-header"></a>

Lorsque vous envoyez des demandes aux agents MCP de Partner Central, nous vous recommandons d'inclure l'en-tête MCP personnalisé en utilisant les méthodes suivantes pour AWS identifier la source de l'application client, surveiller l'utilisation et auditer les performances.AWS utilise cet en-tête pour distinguer le type d'application client effectuant l'appel et pour recueillir des informations sur le taux de réussite des différentes implémentations clientes.

### Méthode 1 : champ \_meta (programmatic/stateless MCP)
<a name="mcp-header-meta-field"></a>

Pour le code qui construit directement des `tools/call` requêtes MCP, fournissez le `_meta` champ sur les demandes.

```
{
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "content": [
                {
                    "type": "text",
                    "text": "List my open opportunities with expected close date in Q1 2026"
                }
            ],
            "catalog": "AWS"
        },
        "_meta": {
            "integrator": "<Integrator's Company Name / Direct>",
            "sourceProduct": "<Integrator's Application Name>"
        }
    }
}
```

### Méthode 2 : ClientInfo (agents personnalisés basés sur les sessions)
<a name="mcp-header-client-info"></a>

Pour les clients MCP personnalisés établissant des sessions, fournissez les informations d'en-tête MCP dans le `clientInfo` champ :

```
{
    "method": "initialize",
    "params": {
        "protocolVersion": "2024-11-05",
        "clientInfo": {
            "integrator": "<Integrator's Company Name / Direct>",
            "sourceProduct": "<Integrator's Application Name>"
        }
    }
}
```

Champs dans `clientInfo` :
+ `integrator`— Nom de l'entreprise ou « Direct » pour les partenaires

  Exemple : `AWS`
+ `sourceProduct`— Product/agent nom

  Exemple : `AWS CRM Connector`

### Méthode 3 : paramètre d'URL (MCP hébergé uniquement)
<a name="mcp-header-url-parameter"></a>

Uniquement pour les clients MCP hébergés où l'intégrateur ne peut pas modifier les champs de protocole. Utilisez le paramètre URL :

URL du serveur : `https://mcp.partnercentral.aws?appId=<Integrator's Company Name / Direct>`

## Étape 3 : vérifier votre configuration
<a name="mcp-step3-verify"></a>

Envoyez un simple message pour confirmer que tout fonctionne. Utilisez le `Sandbox` catalogue pour tester :

```
{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "content": [
                {
                    "type": "text",
                    "text": "Hello, what can you help me with?"
                }
            ],
            "catalog": "Sandbox"
        }
    }
}
```

Si vous recevez une réponse `"status": "complete"` et une réponse par SMS de l'agent, votre configuration fonctionne correctement. La réponse comprendra également un message `sessionId` que vous pourrez utiliser pour les messages de suivi.

## Étape 4 : Exécutez vos premières tâches
<a name="mcp-step4-tasks"></a>

### Renseignez-vous sur vos opportunités
<a name="mcp-query-opportunities"></a>

```
{
    "jsonrpc": "2.0",
    "id": 4,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "content": [
                {
                    "type": "text",
                    "text": "List my open opportunities with expected revenue over $50K"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

### Vérifiez l'éligibilité au financement
<a name="mcp-check-funding"></a>

```
{
    "jsonrpc": "2.0",
    "id": 5,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "content": [
                {
                    "type": "text",
                    "text": "Am I eligible for MAP funding for opportunity O1234567890?"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

### Récupérer l'historique des sessions
<a name="mcp-retrieve-session"></a>

```
{
    "jsonrpc": "2.0",
    "id": 6,
    "method": "tools/call",
    "params": {
        "name": "getSession",
        "arguments": {
            "sessionId": "session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "catalog": "AWS"
        }
    }
}
```

### Intégration des partenaires
<a name="mcp-partner-onboarding-task"></a>

```
{
    "jsonrpc": "2.0",
    "id": 7,
    "method": "tools/call",
    "params": {
        "name": "sendMessage",
        "arguments": {
            "sessionId": "session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "content": [
                {
                    "type": "text",
                    "text": "Help me onboard to Partner Central"
                }
            ],
            "catalog": "AWS"
        }
    }
}
```

Autres tâches d'intégration à essayer :
+ « Guidez-moi tout au long du processus d'entretien fiscal »
+ « Pouvez-vous consulter mon site Web et remplir mon profil de partenaire ? »
+ « Que dois-je encore faire pour être prêt à vendre sur Marketplace ? »

## Considérations sur la sécurité
<a name="mcp-security-considerations"></a>
+ Ne transmettez pas AWS d'informations d'identification via les paramètres de l'outil MCP. L'authentification est gérée par la signature des demandes SigV4 au niveau de la couche transport.
+ Utilisez le catalogue Sandbox pour les tests et le développement. Le `"Sandbox"` catalogue fournit un environnement isolé qui n'affecte pas les données des partenaires de production.
+ Appliquez les politiques IAM du moindre privilège en production. Utilisez la politique de lecture seule pour surveiller et signaler les cas d'utilisation. N'accordez des autorisations d'écriture que lorsque l'utilisateur doit mettre à jour les opportunités ou soumettre des demandes de financement.
+ Passez en revue attentivement les opérations d'écriture. Le serveur utilise l'approbation humaine pour toutes les opérations d'écriture. Lorsqu'une action d'écriture est proposée, passez en revue les paramètres avant de l'approuver.
+ Les données de session sont transitoires. Les sessions expirent 48 heures après leur création. Ne vous fiez pas aux sessions pour le stockage de données à long terme.
+ Les téléchargements de fichiers sont dirigés vers un compartiment S3 éphémère. Les fichiers téléchargés sont stockés temporairement et ne sont pas conservés de façon permanente. Ne chargez pas de fichiers contenant des informations d'identification, des secrets ou d'autres informations sensibles.

## Étapes suivantes
<a name="mcp-next-steps"></a>
+ [https://docs.aws.amazon.com/partner-central/latest/APIReference/mcp-configuration-reference.html](https://docs.aws.amazon.com/partner-central/latest/APIReference/mcp-configuration-reference.html) complète pour le point de terminaison, les actions IAM, la gestion des sessions et les codes d'erreur
+ [https://docs.aws.amazon.com/partner-central/latest/APIReference/mcp-tools-reference.html](https://docs.aws.amazon.com/partner-central/latest/APIReference/mcp-tools-reference.html) — Documentation détaillée `sendMessage` et `getSession` outils