View a markdown version of this page

合作伙伴中心代理 MCP 服务器入门 - AWS 合作伙伴中心

AWS 合作伙伴中心 API 参考已重新构建。有关支持的 API 操作的更多信息,请参阅 AWS 合作伙伴中心 API 参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

合作伙伴中心代理 MCP 服务器入门

本指南将引导您使用自定义 MCP 客户端设置对合作伙伴中心代理 MCP 服务器的编程访问权限。服务器使用带有 Sigv4 身份验证的直接 HTTPS,无需代理或 IDE 插件。

先决条件

开始之前,请确保您已具备以下条件:

  • 有效的合作伙伴中心账户(已迁移到AWS控制台)

  • 拥有合作伙伴中心的 IAM 权限的AWS账户

  • AWS CLI 已安装并配置了凭据

  • 访问 us-east-1(弗吉尼亚北部)区域

  • 通过 HTTPS 连接到 partnercentral-agents-mcp.us-east-1.api.aws

  • 你的 HTTP 客户端支持 TLS 1.2+

  • 支持 JSON-RPC 2.0 和 Sigv4 请求签名的 MCP-compatible 客户端

步骤 1:设置 IAM 权限

Partner Central Agent MCP 服务器需要两个级别的 IAM 权限:协议访问权限(用于与 MCP 端点通信)和数据访问权限(用于执行合作伙伴中心操作)。

附加 IAM 策略

要使用AWS管理控制台将策略附加到您的 IAM 身份,请执行以下操作:

  1. 打开 IAM 控制台

  2. 在左侧导航窗格中,根据要将策略附加到的身份选择用户、用户角色,然后选择特定用户、组或角色的名称。

  3. 选择权限选项卡。

  4. 选择附加策略(如果是第一次,则选择添加权限)。

  5. 在策略列表中,搜索并选择要附加的托管策略(例如,您根据以下 JSON 块创建的自定义策略)。

  6. 选择 “附加策略”(或选择 “下一步”,然后选择 “添加权限”)进行确认。

权限立即生效。您可以将多个策略附加到同一个身份。

推荐:使用托管策略

授予 MCP 协议访问权限的最简单方法是将AWSMcpServiceActionsFullAccess托管策略附加到您的 IAM 身份。此策略包括与 MCP 服务器交互所需的所有权限。

为了实现精细控制,您可以使用 IAM 策略中的aws:IsMcpServiceAction条件密钥来确定权限范围,专门针对 MCP 服务操作。

MCP 协议访问的最低权限

您的 IAM 身份至少需要此操作才能与 MCP 服务器进行交互:

处理建议 说明
partnercentral:UseSession 创建、更新和检索对话会话所必需的
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "partnercentral:UseSession" ], "Resource": "*", "Condition": { "Bool": { "aws:IsMcpServiceAction": "true" } } } ] }

数据访问权限

要通过代理实际执行 Partner Central 操作,您需要根据自己的用例获得额外的权限。

机会管理:

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

资助计划:

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

市场访问权限:

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

合作伙伴中心入职培训:

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

在 Marketplace 卖家设置中,还要添加:

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

对于与服务相关的角色管理(转售 Authorizations/CPPO):

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

完全访问策略

对于开发和测试,您可以将所有权限合并到一个策略中:

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 政策

对于生产环境或只读用例,请限制读取操作的权限:

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": "*" } ] }'

第 2 步:连接您的 MCP 客户端

合作伙伴中心代理 MCP 服务器使用带有 Sigv4 请求签名的直接 HTTPS。没有代理层 — 您的 MCP 客户端直接向端点发送 JSON-RPC 2.0 请求。

端点

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

身份验证

所有请求都必须使用签AWS名版本 4 进行签名,使用以下命令进行签名:

  • 服务名称:partnercentral-agents-mcp

  • 区域:us-east-1

初始化 MCP 连接

发送建立协议的initialize请求:

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

预期的回应:

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

列出可用工具

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

使用 MCP 标头对通话进行签名

在向 Partner Central 代理 MCP 提出请求时,我们建议使用以下方法添加自定义 MCP 标头,以帮助AWS识别客户端应用程序的来源、监控使用情况和审计性能。AWS使用此标头来区分发出调用的客户端应用程序的类型,并收集有关不同客户端实现成功率的见解。

方法 1:_meta 字段 (programmatic/stateless MCP)

对于直接构造 MCP tools/call 请求的代码,请在请求上提供_meta字段。

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

方法 2:ClientInfo(基于会话的自定义代理)

对于建立会话的自定义 MCP 客户端,请在字段内提供 MCP 标头信息:clientInfo

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

中的字段clientInfo

  • integrator— 公司名称或合作伙伴的 “直接”

    示例:AWS

  • sourceProduct— Product/agent 名字

    示例:AWS CRM Connector

方法 3:网址参数(仅限托管 MCP)

仅适用于集成商无法修改协议字段的托管 MCP 客户端。使用 URL 参数:

服务器网址:https://mcp.partnercentral.aws?appId=<Integrator's Company Name / Direct>

步骤 3:验证设置

发送一条简单的消息以确认一切正常。使用Sandbox目录进行测试:

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

如果您收到代理的回复"status": "complete"和短信回复,则说明您的设置工作正常。回复中还将包括sessionId可用于发送后续消息的。

步骤 4:运行第首批任务

查询您的机会

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

查看资金资格

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

检索会话历史记录

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

合作伙伴入职

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

其他可以尝试的入门任务:

  • “指导我完成税务调查流程”

  • “你能看看我的网站并填写我的合作伙伴资料吗?”

  • “我还需要做些什么才能做好在 Marketplace 上销售商品的准备?”

安全注意事项

  • 不要通过 MCP 工具参数传递AWS凭证。身份验证由传输层的 SigV4 请求签名处理。

  • 使用沙盒目录进行测试和开发。该"Sandbox"目录提供了一个不影响生产合作伙伴数据的隔离环境。

  • 在生产环境中应用最低权限 IAM 策略。使用只读策略来监控和报告用例。仅在用户需要更新机会或提交资金申请时才授予写入权限。

  • 仔细检查写入操作。服务器对所有写入操作都使用人工在环审批。当提出写入操作时,请在批准之前查看参数。

  • 会话数据是暂时的。会话将在创建 48 小时后过期。不要依赖会话进行长期数据存储。

  • 文件上传到临时的 S3 存储桶。上传的文件是临时存储的,不会永久保留。请勿上传包含凭证、机密或其他敏感信息的文件。

后续步骤

  • 配置参考 — 终端节点、IAM 操作、会话管理和错误代码的完整参考

  • 工具参考sendMessagegetSession工具的详细文档