AWS Partner Central API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 AWS Partner Central API 참조를 참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Partner Central Agent MCP 서버 시작하기
이 가이드에서는 Partner Central Agent MCP 서버에 대한 액세스를 설정하는 방법을 안내합니다. 서버는 브라우저 기반 로그인을 위한 OAuth와 직접 HTTPS 액세스를 위한 SigV4라는 두 가지 인증 방법을 지원하므로 프록시나 IDE 플러그인이 필요하지 않습니다.
사전 조건
시작하기 전에, 다음 사항을 확인해야 합니다.
활성 Partner Central 계정( AWS 콘솔로 마이그레이션됨)
Partner Central에 대한 IAM 권한이 있는 Partner Central 조직에 연결된 AWS 계정
MCP 호환 클라이언트(Claude Code, KiroClaude Desktop, 또는 모델 컨텍스트 프로토콜을 지원하는 모든 클라이언트)
SigV4 인증 전용
다음 사전 조건은 SigV4 인증에만 적용됩니다.
AWS 자격 증명으로 CLI 설치 및 구성
JSON-RPC 2.0 및 SigV4 요청 서명을 지원하는 MCP 호환 클라이언트
1단계: 인증 및 연결 구성
Partner Central Agent MCP 서버를 사용하면 브라우저 기반 로그인을 위해 OAuth를 사용하여 인증하거나 직접 HTTPS 액세스를 위해 SigV4를 사용하여 인증할 수 있습니다. 워크플로에 가장 적합한 방법을 선택합니다. 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, Kiro또는 Claude 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 서버에 연결할 때 프로토콜 액세스 권한만 있습니다. 기회 쿼리 또는 자금 관리와 같은 Partner Central 작업을 수행하려면 추가 IAM 권한이 필요합니다. 다음 섹션에서는 정책 및 사용 가능한 권한 수준을 연결하는 방법을 설명합니다.
IAM 정책 연결
AWS 관리 콘솔을 사용하여 IAM 자격 증명에 정책을 연결하려면:
IAM 콘솔
을 엽니다. 왼쪽 탐색 창에서 정책을 연결할 자격 증명에 따라 사용자, 사용자 그룹 또는 역할을 선택한 다음 특정 사용자, 그룹 또는 역할의 이름을 선택합니다.
권한 탭을 선택합니다.
정책 연결(또는 처음인 경우 권한 추가)을 선택합니다.
정책 목록에서 연결하려는 관리형 정책(예: 아래 JSON 블록에서 생성한 사용자 지정 정책)을 검색하고 선택합니다.
정책 연결(또는 다음 및 권한 추가)을 선택하여 확인합니다.
권한은 즉시 적용됩니다. 여러 정책을 동일한 자격 증명에 연결할 수 있습니다.
권장 사항: 관리형 정책 사용
데이터 액세스 권한을 부여하는 가장 간단한 방법은 AWSPartnerCentralFullAccess 관리형 정책을 IAM 자격 증명에 연결하는 것입니다. 이 정책에는 MCP 서버를 통해 사용할 수 있는 모든 Partner Central 작업에 대한 권한이 포함됩니다.
세분화된 제어를 위해 다음 섹션의 사용자 지정 정책을 사용하여 사용 사례에 필요한 특정 작업만 부여합니다.
데이터 액세스 권한
에이전트를 통해 실제로 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: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: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 필드(프로그래밍 방식/상태 비저장 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://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 정책을 적용합니다. 사용 사례를 모니터링하고 보고하려면 읽기 전용 정책을 사용합니다. 사용자가 기회를 업데이트하거나 자금 지원 애플리케이션을 제출해야 하는 경우에만 쓰기 권한을 부여합니다.
쓰기 작업을 주의 깊게 검토합니다. 서버는 모든 쓰기 작업에 human-in-the-loop 루프 승인을 사용합니다. 쓰기 작업이 제안되면 승인하기 전에 파라미터를 검토합니다.
세션 데이터는 일시적입니다. 세션은 생성 후 48시간 후에 만료됩니다. 장기 데이터 스토리지를 위해 세션에 의존하지 마세요.
파일 업로드는 임시 S3 버킷으로 이동합니다. 업로드된 파일은 일시적으로 저장되며 영구적으로 보존되지 않습니다. 자격 증명, 보안 암호 또는 기타 민감한 정보가 포함된 파일을 업로드하지 마십시오.
OAuth 토큰은 최대 12시간 동안 자동으로 새로 고쳐집니다. 세션이 만료되면 브라우저를 통해 다시 인증합니다.
에이전트에 권한을 부여해도 기존 IAM 정책, 서비스 제어 정책, 리소스 제어 정책 및 AWS 권한 경계 이외의 추가 권한은 부여되지 않습니다.
문제 해결
다음 표에는 일반적인 오류와 해결 방법이 나와 있습니다.
| 오류 | 원인 | 해결 방법 |
|---|---|---|
| 요청에 포함된 보안 토큰이 잘못되었습니다. | 만료된 자격 증명 | 를 실행aws sso login하여 자격 증명 새로 고침 |
| 액세스 거부됨: 사용자에게 로그인을 수행할 권한이 없음:AuthorizeOAuth2Access | OAuth 권한 누락 | signin 권한 연결 AWSMcpServiceActionsFullAccess 또는 추가 |
| OAuth 로그인 후 400 오류 | IAM 보안 주체에 OAuth 권한이 없음 | signin:AuthorizeOAuth2Access 및 signin:CreateOAuth2Token가 허용되는지 확인 |
partnercentral:InvokeMcp 또는 signin:* 작업에 대한 액세스 거부 또는 암시적 거부 |
조직은 명시적으로 허용되지 않는 서비스를 차단하는 허용 목록 기반 서비스 제어 정책(SCPs 사용합니다. | AWS 관리자에게 조직의 SCPs에서 허용되는 서비스에 partnercentral 및 signin (OAuth만 해당)를 추가하도록 요청합니다. 자격 증명 정책을 적용하려면 SCP가 계정 수준에서 이러한 서비스를 허용해야 합니다. MCP 프로토콜 액세스를 제어하는 유일한 작업은 partnercentral:InvokeMcp 입니다.이 작업에 대한 명시적 거부는 모든 MCP 요청을 차단합니다. |