AWS Partner Central API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 AWS Partner Central API 참조를 참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Partner Central Agent MCP 서버 시작하기
이 가이드에서는 사용자 지정 MCP 클라이언트를 사용하여 Partner Central Agent MCP 서버에 대한 프로그래밍 방식 액세스를 설정하는 방법을 안내합니다. 서버는 프록시 또는 IDE 플러그인 없이 SigV4 인증과 함께 직접 HTTPS를 사용합니다.
사전 조건
시작하기 전에, 다음 사항을 확인해야 합니다.
활성 Partner Central 계정(AWS콘솔로 마이그레이션됨)
Partner Central에 대한 IAM 권한이 있는AWS계정
AWS자격 증명으로 CLI 설치 및 구성
us-east-1(버지니아 북부) 리전에 대한 액세스
에 대한 HTTPS 연결
partnercentral-agents-mcp.us-east-1.api.awsHTTP 클라이언트에서 TLS 1.2+ 지원
JSON-RPC 2.0 및 SigV4 요청 서명을 지원하는 MCP 호환 클라이언트
1단계: IAM 권한 설정
Partner Central Agent MCP 서버에는 프로토콜 액세스(MCP 엔드포인트와 통신)와 데이터 액세스(Partner Central 작업 수행)의 두 가지 수준에서 IAM 권한이 필요합니다.
IAM 정책 연결
AWS관리 콘솔을 사용하여 IAM 자격 증명에 정책을 연결하려면:
IAM 콘솔
을 엽니다. 왼쪽 탐색 창에서 정책을 연결할 자격 증명에 따라 사용자, 사용자 그룹 또는 역할을 선택한 다음 특정 사용자, 그룹 또는 역할의 이름을 선택합니다.
권한 탭을 선택합니다.
정책 연결을 선택합니다(또는 처음인 경우 권한 추가).
정책 목록에서 연결하려는 관리형 정책(예: 아래 JSON 블록에서 생성한 사용자 지정 정책)을 검색하고 선택합니다.
정책 연결(또는 다음 및 권한 추가)을 선택하여 확인합니다.
권한은 즉시 적용됩니다. 여러 정책을 동일한 자격 증명에 연결할 수 있습니다.
권장 사항: 관리형 정책 사용
MCP 프로토콜 액세스 권한을 부여하는 가장 간단한 방법은 AWSMcpServiceActionsFullAccess 관리형 정책을 IAM 자격 증명에 연결하는 것입니다. 이 정책에는 MCP 서버와 상호 작용하는 데 필요한 모든 권한이 포함됩니다.
세분화된 제어를 위해 IAM 정책의 aws:IsMcpServiceAction 조건 키를 사용하여 특히 MCP 서비스 작업에 대한 권한의 범위를 지정할 수 있습니다.
MCP 프로토콜 액세스에 대한 최소 권한
MCP 서버와 상호 작용하려면 최소한 IAM 자격 증명에 다음 작업이 필요합니다.
| 작업 | 설명 |
|---|---|
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": "*" }
Marketplace 액세스:
{ "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": "*" }
서비스 연결 역할 관리(재판매 권한 부여/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": "*" } ] }'
읽기 전용 정책
프로덕션 환경 또는 읽기 전용 사용 사례의 경우 읽기 작업에 대한 권한을 제한합니다.
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 클라이언트 연결
Partner Central Agent MCP 서버는 SigV4 요청 서명과 함께 직접 HTTPS를 사용합니다. 프록시 계층은 없습니다. MCP 클라이언트는 JSON-RPC 2.0 요청을 엔드포인트로 직접 전송합니다.
엔드포인트
https://partnercentral-agents-mcp.us-east-1.api.aws/mcp
Authentication
모든 요청은 다음을 사용하여 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에 요청할 때는 클라이언트 애플리케이션의 소스를AWS식별하고, 사용량을 모니터링하고, 성능을 감사하는 데 도움이 되도록 다음 방법을 사용하여 사용자 지정 MCP 헤더를 포함하는 것이 좋습니다.는이 헤더를AWS사용하여 호출하는 클라이언트 애플리케이션의 유형을 구분하고 다양한 클라이언트 구현의 성공률에 대한 인사이트를 수집합니다.
방법 1: _meta 필드(프로그래밍 방식/상태 비저장 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 클라이언트의 경우 clientInfo 필드 내에 MCP 헤더 정보를 제공합니다.
{ "method": "initialize", "params": { "protocolVersion": "2024-11-05", "clientInfo": { "integrator": "<Integrator's Company Name / Direct>", "sourceProduct": "<Integrator's Application Name>" } } }
의 필드clientInfo:
-
integrator- 회사 이름 또는 파트너의 경우 "직접"예시:
AWS -
sourceProduct- 제품/에이전트 이름예시:
AWS CRM Connector
방법 3: URL 파라미터(호스팅된 MCP만 해당)
통합자가 프로토콜 필드를 수정할 수 없는 호스팅 MCP 클라이언트에만 해당됩니다. URL 파라미터를 사용합니다.
서버 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" } } }
시도할 기타 온보딩 작업:
“납세 인터뷰 프로세스를 안내해 주세요.”
“웹 사이트를 보고 파트너 프로필을 작성할 수 있나요?”
“마켓플레이스에서 판매할 준비가 되려면 여전히 무엇을 해야 하나요?”
보안 고려 사항
MCP 도구 파라미터를 통해AWS자격 증명을 전달하지 마십시오. 인증은 전송 계층에서 SigV4 요청 서명을 통해 처리됩니다.
테스트 및 개발에 샌드박스 카탈로그를 사용합니다.
"Sandbox"카탈로그는 프로덕션 파트너 데이터에 영향을 주지 않는 격리된 환경을 제공합니다.프로덕션에 최소 권한 IAM 정책을 적용합니다. 사용 사례를 모니터링하고 보고하려면 읽기 전용 정책을 사용합니다. 사용자가 기회를 업데이트하거나 자금 지원 애플리케이션을 제출해야 하는 경우에만 쓰기 권한을 부여합니다.
쓰기 작업을 주의 깊게 검토합니다. 서버는 모든 쓰기 작업에 human-in-the-loop 루프 승인을 사용합니다. 쓰기 작업이 제안되면 승인하기 전에 파라미터를 검토합니다.
세션 데이터는 일시적입니다. 세션은 생성 후 48시간 후에 만료됩니다. 장기 데이터 스토리지를 위해 세션에 의존하지 마세요.
파일 업로드는 임시 S3 버킷으로 이동합니다. 업로드된 파일은 일시적으로 저장되며 영구적으로 보존되지 않습니다. 자격 증명, 보안 암호 또는 기타 민감한 정보가 포함된 파일을 업로드하지 마십시오.