View a markdown version of this page

Memulai dengan Mitra Central Agent MCP Server - AWS Pusat Partner

Referensi AWS Partner Central API direstrukturisasi. Untuk informasi selengkapnya tentang operasi API yang didukung, lihat Referensi AWS Partner Central API.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memulai dengan Mitra Central Agent MCP Server

Panduan ini memandu Anda melalui pengaturan akses terprogram ke Server MCP Agen Pusat Mitra menggunakan klien MCP khusus. Server menggunakan HTTPS langsung dengan otentikasi SiGv4 — tidak diperlukan proxy atau plugin IDE.

Prasyarat

Sebelum Anda mulai, pastikan Anda memiliki:

  • Akun Partner Central yang aktif (dimigrasikan ke AWS konsol)

  • AWS Akun dengan izin IAM untuk Partner Central

  • AWS CLI diinstal dan dikonfigurasi dengan kredensyal

  • Akses ke wilayah us-east-1 (Virginia N.)

  • Konektivitas HTTPS ke partnercentral-agents-mcp.us-east-1.api.aws

  • Dukungan TLS 1.2+ di klien HTTP Anda

  • MCP-compatible Klien yang mendukung penandatanganan JSON-RPC permintaan 2.0 dan SiGv4

Langkah 1: Siapkan izin IAM

Server MCP Agen Pusat Mitra memerlukan izin IAM pada dua tingkatan: akses protokol (untuk berkomunikasi dengan titik akhir MCP) dan akses data (untuk melakukan operasi Pusat Mitra).

Melampirkan kebijakan IAM

Untuk melampirkan kebijakan ke identitas IAM Anda menggunakan Konsol AWS Manajemen:

  1. Buka konsol IAM.

  2. Di panel navigasi kiri, pilih Pengguna, Grup pengguna, atau Peran tergantung pada identitas yang ingin Anda lampirkan kebijakan, lalu pilih nama pengguna, grup, atau peran tertentu.

  3. Pilih tab Izin.

  4. Pilih Lampirkan kebijakan (atau Tambahkan izin jika ini pertama kalinya).

  5. Dalam daftar kebijakan, cari dan pilih kebijakan terkelola yang ingin dilampirkan (misalnya, kebijakan kustom yang Anda buat dari blok JSON di bawah).

  6. Pilih Lampirkan kebijakan (atau Berikutnya dan kemudian Tambahkan izin) untuk mengonfirmasi.

Izin segera berlaku. Anda dapat melampirkan beberapa kebijakan ke identitas yang sama.

Direkomendasikan: Gunakan kebijakan terkelola

Cara termudah untuk memberikan akses protokol MCP adalah dengan melampirkan kebijakan AWSMcpServiceActionsFullAccess terkelola ke identitas IAM Anda. Kebijakan ini mencakup semua izin yang diperlukan untuk berinteraksi dengan server MCP.

Untuk kontrol halus, Anda dapat menggunakan kunci aws:IsMcpServiceAction kondisi dalam kebijakan IAM Anda untuk cakupan izin khusus untuk tindakan layanan MCP.

Izin minimum untuk akses protokol MCP

Minimal, identitas IAM Anda memerlukan tindakan ini untuk berinteraksi dengan server MCP:

Tindakan Deskripsi
partnercentral:UseSession Diperlukan untuk membuat, memperbarui, dan mengambil sesi percakapan
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "partnercentral:UseSession" ], "Resource": "*", "Condition": { "Bool": { "aws:IsMcpServiceAction": "true" } } } ] }

Izin akses data

Untuk benar-benar melakukan operasi Partner Central melalui agen, Anda memerlukan izin tambahan berdasarkan kasus penggunaan Anda.

Manajemen peluang:

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

Program pendanaan:

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

Akses Marketplace:

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

Orientasi Pusat Mitra:

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

Untuk penyiapan penjual Marketplace, tambahkan juga:

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

Untuk manajemen peran terkait layanan (Penjualan Kembali Authorizations/CPPO):

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

Kebijakan akses penuh

Untuk pengembangan dan pengujian, Anda dapat menggabungkan semua izin ke dalam satu kebijakan:

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 kebijakan

Untuk lingkungan produksi atau kasus penggunaan hanya-baca, batasi izin untuk membaca operasi:

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

Langkah 2: Hubungkan klien MCP Anda

Server MCP Agen Pusat Mitra menggunakan HTTPS langsung dengan penandatanganan permintaan SiGv4. Tidak ada lapisan proxy — klien MCP Anda mengirimkan permintaan JSON-RPC 2.0 langsung ke titik akhir.

Titik akhir

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

Autentikasi

Semua permintaan harus ditandatangani dengan AWS Signature Versi 4 menggunakan:

  • Nama layanan: partnercentral-agents-mcp

  • Wilayah: us-east-1

Inisialisasi koneksi MCP

Kirim initialize permintaan untuk membuat protokol:

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

Tanggapan yang diharapkan:

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

Daftar alat yang tersedia

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

Menandatangani panggilan Anda dengan header MCP

Saat mengajukan permintaan ke agen Mitra Pusat MCP, sebaiknya sertakan header MCP kustom menggunakan metode berikut untuk membantu AWS mengidentifikasi sumber aplikasi klien, memantau penggunaan, dan kinerja audit.AWS menggunakan header ini untuk membedakan jenis aplikasi klien yang melakukan panggilan dan untuk mengumpulkan wawasan tentang tingkat keberhasilan implementasi klien yang berbeda.

Metode 1: bidang _meta (programmatic/stateless MCP)

Untuk kode yang secara langsung membangun tools/call permintaan MCP, berikan _meta bidang pada permintaan.

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

Metode 2: ClientInfo (agen kustom berbasis sesi)

Untuk klien MCP kustom yang membuat sesi, berikan info header MCP di dalam bidang: clientInfo

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

Bidang diclientInfo:

  • integrator— Nama perusahaan atau “Langsung” untuk mitra

    Contoh: AWS

  • sourceProduct— Product/agent nama

    Contoh: AWS CRM Connector

Metode 3: Parameter URL (hanya MCP yang dihosting)

Hanya untuk klien MCP yang di-host di mana integrator tidak dapat memodifikasi bidang protokol. Gunakan parameter URL:

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

Langkah 3: Verifikasi pengaturan Anda

Kirim pesan sederhana untuk mengonfirmasi semuanya berfungsi. Gunakan Sandbox katalog untuk pengujian:

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

Jika Anda menerima respons dengan "status": "complete" dan balasan teks dari agen, pengaturan Anda berfungsi dengan benar. Respons juga akan mencakup sessionId yang dapat Anda gunakan untuk pesan tindak lanjut.

Langkah 4: Jalankan tugas pertama Anda

Tanyakan peluang Anda

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

Periksa kelayakan pendanaan

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

Ambil riwayat sesi

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

Orientasi mitra

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

Tugas orientasi lainnya untuk dicoba:

  • “Bimbing saya melalui proses wawancara pajak”

  • “Bisakah Anda melihat situs web saya dan mengisi profil mitra saya?”

  • “Apa yang masih harus saya lakukan untuk siap menjual di Marketplace?”

Pertimbangan keamanan

  • Jangan meneruskan AWS kredensil melalui parameter alat MCP. Otentikasi ditangani oleh penandatanganan permintaan SiGv4 di lapisan transport.

  • Gunakan katalog Sandbox untuk pengujian dan pengembangan. "Sandbox"Katalog menyediakan lingkungan terisolasi yang tidak mempengaruhi data mitra produksi.

  • Menerapkan kebijakan IAM dengan hak istimewa paling rendah dalam produksi. Gunakan kebijakan hanya-baca untuk memantau dan melaporkan kasus penggunaan. Hanya berikan izin menulis ketika pengguna perlu memperbarui peluang atau mengirimkan aplikasi pendanaan.

  • Tinjau operasi tulis dengan hati-hati. Server menggunakan persetujuan manusia-in-the-loop untuk semua operasi penulisan. Ketika tindakan tulis diusulkan, tinjau parameter sebelum menyetujui.

  • Data sesi bersifat sementara. Sesi kedaluwarsa 48 jam setelah pembuatan. Jangan mengandalkan sesi untuk penyimpanan data jangka panjang.

  • Unggahan file masuk ke bucket S3 fana. File yang diunggah disimpan sementara dan tidak disimpan secara permanen. Jangan mengunggah file yang berisi kredensil, rahasia, atau informasi sensitif lainnya.

Langkah selanjutnya

  • Referensi Konfigurasi - Referensi lengkap untuk titik akhir, tindakan IAM, manajemen sesi, dan kode kesalahan

  • Referensi Alat - Dokumentasi terperinci untuk sendMessage dan getSession alat