对 AWS 合作伙伴中心 API 参考进行了重组。有关支持的 API 操作的更多信息,请参阅 AWS 合作伙伴中心 API 参考。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
合作伙伴中心代理 MCP 服务器入门
本指南引导您设置对合作伙伴中心代理 MCP 服务器的访问权限。该服务器支持两种身份验证方法:用于基于浏览器的登录的 OAuth 和用于直接 HTTPS 访问的 SigV4,无需代理或 IDE 插件。
先决条件
开始之前,请确保您已具备以下条件:
有效的合作伙伴中心账户(已迁移到 AWS 控制台)
与您的合作伙伴中心组织关联的 AWS 账户,拥有 Partner Central 的 IAM 权限
MCP-compatible 客户端(Claude Code、KiroClaude Desktop、或任何支持模型上下文协议的客户端)
仅用于 SigV4 身份验证
以下先决条件仅适用于 SigV4 身份验证。
AWS 已安装并使用证书配置 CLI
支持 JSON-RPC 2.0 和 SigV4 请求签名的 MCP-compatible 客户端
步骤 1:配置身份验证并连接
使用合作伙伴中心代理 MCP 服务器,您可以使用 OAuth 进行身份验证,进行基于浏览器的登录,使用 SigV4 进行直接 HTTPS 访问。选择最适合您的工作流程的方法。您的 MCP 客户端直接连接到端点,无需代理层或 IDE 插件。
端点
https://partnercentral-agents-mcp.us-east-1.api.aws/mcp
合作伙伴中心代理 MCP 服务器目前仅在美国东部(弗吉尼亚北部)可用。您可以从任何位置连接到此端点。
选择身份验证方法
| 问题 | 使用 |
|---|---|
| 您是否想在不安装 AWS CLI 或配置本地凭据的情况下开始使用? | OAuth |
| 您的客户端是否支持使用基于浏览器的登录的远程 MCP 服务器? | OAuth |
| 您的代理是否在没有浏览器(CI/CD自动化脚本)的情况下运行? | SigV4 |
您的组织有限制signin:AuthorizeOAuth2Access和signin:CreateOAuth2Token权限吗? |
SigV4 |
连接您的 MCP 客户端
选择一个选项卡查看您的首选身份验证方法的设置说明。
重要
当您连接到 MCP 服务器时,您只能访问协议。要执行 Partner Central 操作,例如查询机会或管理资金,您还必须授予数据访问权限。请参阅第 2 步:授予数据访问权限。
限制 MCP 访问权限
默认情况下,所有经过身份验证的 AWS 身份都具有对 MCP 服务器的协议访问权限。要阻止特定用户或账户的 MCP 访问权限,请对partnercentral:InvokeMcp以下各项应用明确的拒绝:
{ "Effect": "Deny", "Action": "partnercentral:InvokeMcp", "Resource": "*" }
MCP 协议参考
本节介绍自定义 MCP 客户端实现的 JSON-RPC 协议。如果您使用Claude Code、或 KiroClaude Desktop,则您的客户端会自动处理这些请求。
OAuth 和 SigV4 身份验证的请求和响应格式相同。唯一的区别是 HTTP 身份验证标头:OAuth 使用Authorization: Bearer <token>,而 SigV4 使用签名标头。 AWS
初始化 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": {} }
第 2 步:授予数据访问权限
当您连接到 MCP 服务器时,您只能访问协议。要执行合作伙伴中心操作,例如查询机会或管理资金,您需要额外的 IAM 权限。以下部分介绍如何附加策略和可用权限级别。
附加 IAM 策略
要使用 AWS 管理控制台将策略附加到您的 IAM 身份,请执行以下操作:
打开 IAM 控制台
。 在左侧导航窗格中,根据要将策略附加到的身份选择 “用户”、“用户组” 或 “角色”,然后选择特定用户、组或角色的名称。
选择权限选项卡。
选择 “附加策略”(如果是第一次,则选择 “添加权限”)。
在策略列表中,搜索并选择要附加的托管策略(例如,您根据以下 JSON 块创建的自定义策略)。
选择 “附加策略”(或 “下一步”,然后选择 “添加权限”)进行确认。
权限立即生效。您可以将多个策略附加到同一个身份。
推荐:使用托管策略
授予数据访问权限的最简单方法是将AWSPartnerCentralFullAccess托管策略附加到您的 IAM 身份。此政策包括通过 MCP 服务器进行所有合作伙伴中心操作的权限。
要进行精细控制,请使用以下部分中的自定义策略,仅授予您的用例所需的特定操作。
数据访问权限
要通过代理实际执行 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": "*" }
对于商城卖家设置,还要添加:
{ "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: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:List*", "partnercentral:Get*" ], "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": "*" } ] }'
使用 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 参数:
服务器 URL:https://partnercentral-agents-mcp.us-east-1.api.aws/mcp?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" } } }
其他可以尝试的入职任务:
“指导我完成税务面试流程”
“你能看看我的网站并填写我的合作伙伴资料吗?”
“我还需要做什么才能做好在商城上销售商品的准备?”
安全注意事项
不要通过 MCP 工具参数传递 AWS 凭据。SigV4 请求签名或 OAuth 令牌处理传输层的身份验证。
使用沙盒目录进行测试和开发。该
"Sandbox"目录提供了一个不影响生产合作伙伴数据的隔离环境。在生产环境中应用最低权限 IAM 策略。使用只读策略监控和报告用例。仅在用户需要更新机会或提交资金申请时才授予写入权限。
仔细查看写入操作。服务器对所有写入操作使用人工在环审批。当提出写入操作时,请在批准之前审查参数。
会话数据是瞬态的。会话在创建 48 小时后过期。不要依赖会话进行长期数据存储。
文件上传到临时的 S3 存储桶。上传的文件是临时存储的,不会永久保留。不要上传包含证书、机密或其他敏感信息的文件。
OAuth 令牌最多可自动刷新 12 小时。会话到期后,通过浏览器重新进行身份验证。
授权代理不会授予您现有 IAM 策略、服务控制策略、资源控制策略和权限边界之外的额外 AWS 权限。
问题排查
下表列出了常见错误及其解决方法。
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 请求中包含的安全令牌无效 | 凭证已过期 | 运行aws sso login以刷新凭据 |
| 访问被拒绝:用户无权进行登录:AuthorizeOAuth2Access | 缺少 OAuth 权限 | 附加AWSMcpServiceActionsFullAccess或添加signin权限 |
| OAuth 登录后出现 400 错误 | IAM 委托人缺乏 OAuth 权限 | 验证signin:AuthorizeOAuth2Access并signin:CreateOAuth2Token被允许 |
访问被拒绝或隐式拒绝partnercentral:InvokeMcp或signin:*操作 |
组织使用基于许可列表的服务控制策略 (SCP) 来阻止未明确允许的服务 | 要求您的 AWS 管理员向组织的 SCP 中允许的服务添加partnercentral和signin(仅限 OAuth)。在身份策略生效之前,SCP 必须在账户级别允许这些服务。控制 MCP 协议访问的唯一操作是 partnercentral:InvokeMcp — 明确拒绝此操作会阻止所有 MCP 请求。 |