

 AWS Partner Central API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 [AWS Partner Central API 참조](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html)를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Partner Central Agent MCP 서버 시작하기
<a name="mcp-getting-started"></a>

이 가이드에서는 사용자 지정 MCP 클라이언트를 사용하여 Partner Central Agent MCP 서버에 대한 프로그래밍 방식 액세스를 설정하는 방법을 안내합니다. 서버는 프록시 또는 IDE 플러그인 없이 SigV4 인증과 함께 직접 HTTPS를 사용합니다.

## 사전 조건
<a name="mcp-prerequisites"></a>

시작하기 전에, 다음 사항을 확인해야 합니다.
+ 활성 Partner Central 계정(AWS콘솔로 마이그레이션됨)
+ Partner Central에 대한 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 호환 클라이언트

## 1단계: IAM 권한 설정
<a name="mcp-step1-iam"></a>

Partner Central Agent MCP 서버에는 프로토콜 액세스(MCP 엔드포인트와 통신)와 데이터 액세스(Partner Central 작업 수행)의 두 가지 수준에서 IAM 권한이 필요합니다.

### IAM 정책 연결
<a name="mcp-attaching-iam-policies"></a>

AWS관리 콘솔을 사용하여 IAM 자격 증명에 정책을 연결하려면:

1. [IAM 콘솔](https://console.aws.amazon.com/iam/)을 엽니다.

1. 왼쪽 탐색 창에서 정책을 연결할 자격 증명에 따라 **사용자**, **사용자 그룹** 또는 **역할을** 선택한 다음 특정 사용자, 그룹 또는 역할의 이름을 선택합니다.

1. **권한** 탭을 선택합니다.

1. **정책 연결을** 선택합니다(또는 처음인 경우 **권한 추가**).

1. 정책 목록에서 연결하려는 관리형 정책(예: 아래 JSON 블록에서 생성한 사용자 지정 정책)을 검색하고 선택합니다.

1. **정책 연결**(또는 **다음** 및 **권한 추가**)을 선택하여 확인합니다.

권한은 즉시 적용됩니다. 여러 정책을 동일한 자격 증명에 연결할 수 있습니다.

### 권장 사항: 관리형 정책 사용
<a name="mcp-managed-policy"></a>

MCP 프로토콜 액세스 권한을 부여하는 가장 간단한 방법은 `AWSMcpServiceActionsFullAccess` 관리형 정책을 IAM 자격 증명에 연결하는 것입니다. 이 정책에는 MCP 서버와 상호 작용하는 데 필요한 모든 권한이 포함됩니다.

세분화된 제어를 위해 IAM 정책의 `aws:IsMcpServiceAction` 조건 키를 사용하여 특히 MCP 서비스 작업에 대한 권한의 범위를 지정할 수 있습니다.

### MCP 프로토콜 액세스에 대한 최소 권한
<a name="mcp-minimum-permissions"></a>

MCP 서버와 상호 작용하려면 최소한 IAM 자격 증명에 다음 작업이 필요합니다.


| 작업 | 설명 | 
| --- | --- | 
| partnercentral:UseSession | 대화 세션을 생성, 업데이트 및 검색하는 데 필요합니다. | 

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

}
```

### 데이터 액세스 권한
<a name="mcp-data-access-permissions"></a>

에이전트를 통해 실제로 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": "*"
}
```

### 전체 액세스 정책
<a name="mcp-full-access-policy"></a>

개발 및 테스트의 경우 모든 권한을 단일 정책으로 결합할 수 있습니다.

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

### 읽기 전용 정책
<a name="mcp-read-only-policy"></a>

프로덕션 환경 또는 읽기 전용 사용 사례의 경우 읽기 작업에 대한 권한을 제한합니다.

```
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 클라이언트 연결
<a name="mcp-step2-connect"></a>

Partner Central Agent MCP 서버는 SigV4 요청 서명과 함께 직접 HTTPS를 사용합니다. 프록시 계층은 없습니다. MCP 클라이언트는 JSON-RPC 2.0 요청을 엔드포인트로 직접 전송합니다.

### 엔드포인트
<a name="mcp-endpoint"></a>

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

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

모든 요청은 다음을 사용하여 [AWS서명 버전 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)로 서명해야 합니다.
+ 서비스 이름: `partnercentral-agents-mcp`
+ 리전: `us-east-1`

### MCP 연결 초기화
<a name="mcp-initialize-connection"></a>

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

### 사용 가능한 도구 나열
<a name="mcp-list-tools"></a>

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

## MCP 헤더를 사용하여 호출에 서명
<a name="mcp-signing-calls-header"></a>

Partner Central 에이전트 MCP에 요청할 때는 클라이언트 애플리케이션의 소스를AWS식별하고, 사용량을 모니터링하고, 성능을 감사하는 데 도움이 되도록 다음 방법을 사용하여 사용자 지정 MCP 헤더를 포함하는 것이 좋습니다.는이 헤더를AWS사용하여 호출하는 클라이언트 애플리케이션의 유형을 구분하고 다양한 클라이언트 구현의 성공률에 대한 인사이트를 수집합니다.

### 방법 1: \_meta 필드(프로그래밍 방식/상태 비저장 MCP)
<a name="mcp-header-meta-field"></a>

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(세션 기반 사용자 지정 에이전트)
<a name="mcp-header-client-info"></a>

세션을 설정하는 사용자 지정 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만 해당)
<a name="mcp-header-url-parameter"></a>

통합자가 프로토콜 필드를 수정할 수 없는 호스팅 MCP 클라이언트에만 해당됩니다. URL 파라미터를 사용합니다.

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

## 3단계: 설정 확인
<a name="mcp-step3-verify"></a>

간단한 메시지를 보내 모든 것이 작동하는지 확인합니다. `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단계: 첫 번째 태스크 실행
<a name="mcp-step4-tasks"></a>

### 기회 쿼리
<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"
        }
    }
}
```

### 자금 지원 자격 확인
<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"
        }
    }
}
```

### 세션 기록 검색
<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"
        }
    }
}
```

### 파트너 온보딩
<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"
        }
    }
}
```

시도할 기타 온보딩 작업:
+ “납세 인터뷰 프로세스를 안내해 주세요.”
+ “웹 사이트를 보고 파트너 프로필을 작성할 수 있나요?”
+ “마켓플레이스에서 판매할 준비가 되려면 여전히 무엇을 해야 하나요?”

## 보안 고려 사항
<a name="mcp-security-considerations"></a>
+ MCP 도구 파라미터를 통해AWS자격 증명을 전달하지 마십시오. 인증은 전송 계층에서 SigV4 요청 서명을 통해 처리됩니다.
+ 테스트 및 개발에 샌드박스 카탈로그를 사용합니다. `"Sandbox"` 카탈로그는 프로덕션 파트너 데이터에 영향을 주지 않는 격리된 환경을 제공합니다.
+ 프로덕션에 최소 권한 IAM 정책을 적용합니다. 사용 사례를 모니터링하고 보고하려면 읽기 전용 정책을 사용합니다. 사용자가 기회를 업데이트하거나 자금 지원 애플리케이션을 제출해야 하는 경우에만 쓰기 권한을 부여합니다.
+ 쓰기 작업을 주의 깊게 검토합니다. 서버는 모든 쓰기 작업에 human-in-the-loop 루프 승인을 사용합니다. 쓰기 작업이 제안되면 승인하기 전에 파라미터를 검토합니다.
+ 세션 데이터는 일시적입니다. 세션은 생성 후 48시간 후에 만료됩니다. 장기 데이터 스토리지를 위해 세션에 의존하지 마세요.
+ 파일 업로드는 임시 S3 버킷으로 이동합니다. 업로드된 파일은 일시적으로 저장되며 영구적으로 보존되지 않습니다. 자격 증명, 보안 암호 또는 기타 민감한 정보가 포함된 파일을 업로드하지 마십시오.

## 다음 단계
<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) - 엔드포인트, IAM 작업, 세션 관리 및 오류 코드에 대한 전체 참조
+ [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) - `sendMessage` 및 `getSession` 도구에 대한 세부 설명서