A drag-and-drop Claude Desktop extension that connects Claude to the AWS Partner Central 3.0 agent. Ask natural-language questions about your AWS partner account — pipeline, opportunities (ACE deal registrations), funding programs, solutions, customer profiles — and let Claude create or update records on your behalf, with every write gated behind your explicit approval.
- One-click install — no AWS CLI, no Python, no Node setup required (Claude Desktop ships with Node)
- AWS IAM Identity Center (SSO) sign-in via browser device authorization — no long-lived access keys
- AWS SigV4 request signing handled transparently
- File attachments — attach proposals, transcripts, or spreadsheets (PDF, DOCX, XLSX, CSV, images) for the agent to analyze
- Human-in-the-loop approval — no write (create/update/submit) executes without your explicit confirmation
- 48-hour sessions so conversations can be resumed
- Production-grade error handling, rate-limit-aware retries, and automatic credential refresh
- Clickable opportunity links — replies turn
O…opportunity IDs into direct links to the AWS Partner Central console (production catalog), and tools show friendly names (e.g. Ask Partner Central, Respond to Approval) in supporting clients
-
Download
aws-partner-central.mcpbfrom this repository's Releases page (or build from source — see below). -
Open Claude Desktop.
-
Go to Settings → Extensions.
-
Drag the
.mcpbfile into the Extensions panel. -
Claude Desktop opens a configuration dialog. Fill in:
Field What to enter Example AWS SSO Start URL Your IAM Identity Center portal URL (the only required field) https://your-org.awsapps.com/startAWS Account ID (optional) Leave blank to auto-detect. Set the 12-digit ID only to override. 123456789012AWS SSO Role Name (optional) Leave blank to auto-detect. Set it only to override (the role from your AWS access portal). e.g. PartnerCentral-ExecutivesDefault Catalog (optional) AWSfor live data,Sandboxfor testing (defaults toAWS)AWSUsually you only enter the Start URL. After sign-in, the extension auto-detects your AWS account and role from the SSO session: if you have a single role it's used automatically; if you can access several, you'll get a dropdown to pick one (and it's remembered). Set Account ID / Role only to override. Region is fixed to
us-east-1. Tip: after installing, ask Claude to "verify my Partner Central connection" — it confirms sign-in and shows the detected account/role. -
Click Install.
The first time you use a Partner Central tool, your default browser opens to authorize the extension. Click Allow access and return to Claude.
Tip: the very first thing to try is asking Claude to "verify my Partner Central connection." That runs a safe, read-only connection probe and triggers sign-in.
The Partner Central agent supports the full AWS co-sell workflow. Example prompts:
Pipeline & insights
- "List my open ACE opportunities closing in Q1 2026."
- "Which opportunities need my attention this week?"
- "What are the top reasons we lost opportunities in the last 6 months?"
Opportunity details & next steps
- "Give me a summary of opportunity O1234567890."
- "What do I need to do next to advance this opportunity? Is it ready for submission?"
- "Generate a sales play for the GlobalTech data-analytics deal."
Create & update (with approval)
- "Create an opportunity for Acme Corp — Redshift migration, close end of Q3, ~$40K/mo spend."
- "Clone opportunity O1234567890 for a new customer, Globex, same workload."
- "Update opportunity O1234567890: move it to Qualified and set revenue to $300K." (Claude shows you exactly what will change and waits for your approval.)
Documents
- "Here are my call notes (attached) — create an opportunity from this transcript."
- "Use this proposal PDF to draft an opportunity for the customer's SAP migration."
Funding
- "Am I eligible for any funding programs on opportunity O6789012345?"
- "Create a MAP benefit application for this opportunity."
Account & role (if your sign-in can reach more than one)
- "Switch to the customd account with the PartnerCentral-Executives role."
- "Which AWS account am I currently using for Partner Central?"
If you want to continue a conversation later, ask Claude to note the session ID. Sessions live for 48 hours.
Attach local files and the agent will read them alongside your question — for example to create or progress an opportunity from a proposal, meeting transcript, or spreadsheet.
- Provide absolute file paths. Up to 3 files per message.
- Allowed types: doc, docx, pdf, png, jpeg, xlsx, csv, txt. Documents up to 4.5 MB, images up to 3.75 MB.
- Files are uploaded to an AWS-managed ephemeral S3 bucket scoped to your account, used transiently for analysis. Never attach files containing credentials or secrets.
Uploading requires that your AWS role can write to the Partner Central document bucket (s3:PutObject on aws-partner-central-marketplace-ephemeral-writeonly-files/<your-account-id>/*). If uploads fail with a permissions error, ask your AWS administrator to grant this.
Every operation that changes data in Partner Central — creating, updating, or submitting an opportunity, or creating/submitting a funding application — is human-in-the-loop. The flow:
- You ask Claude to make a change (e.g. "update the close date to March 31").
- The agent responds with status
requires_approvaland the exact proposed values, plus an approval ID. - Claude shows you what will change. Nothing has happened yet.
- You confirm; Claude calls
partner_central_respond_to_approvalto approve, reject (with a reason), or override (with corrected instructions). - Only then does the write execute.
This means you can review and correct any write before it touches your live partner data.
Each reply can include a collapsed "🔧 Agent activity" trace showing the internal tools the Partner Central agent ran (e.g. analyze_pipeline, opportunity_creator) and its thinking steps, with their inputs/outputs. It's on by default and tucked inside an expandable <details> block — open it when you want to see how the agent reached its answer, or pass show_activity: false to omit it. (The complete raw payload is always available via response_format: "json".)
| Tool | What it does | Annotation |
|---|---|---|
partner_central_send_message |
Send a natural-language message (optionally with file attachments) to the Partner Central agent. Supports optional session_id for continuation and catalog override. |
not read-only, not destructive |
partner_central_respond_to_approval |
Approve / reject / override a pending write operation (status requires_approval). The only path through which writes execute. |
destructive |
partner_central_get_session |
Retrieve the transcript and state of an existing session by ID. | read-only, idempotent |
partner_central_verify_connection |
Diagnostic — a read-only reachability probe (looks up a non-existent session) confirming SSO + SigV4 + endpoint all work. | creates nothing; may trigger sign-in |
partner_central_select_account |
Pick or switch which AWS account + role the extension uses, in-chat. Surfaced when your sign-in can reach multiple account/role combos; the choice is remembered. | not read-only, not destructive, idempotent |
Claude Desktop <—stdio—> this extension (Node) <—HTTPS + SigV4—> https://partnercentral-agents-mcp.us-east-1.api.aws/mcp
│
└─ file attachments ──> s3://aws-partner-central-marketplace-ephemeral-writeonly-files/<account-id>/
- The extension runs as a local Node process spawned by Claude Desktop's bundled Node runtime.
- AWS credentials are obtained via the OAuth 2.0 device authorization grant against your IAM Identity Center instance — no long-lived access keys are ever stored.
- The SSO access token is cached at
~/.aws/sso/cache/<sha1(start_url)>.json(the same location and format the AWS CLI uses, so you can share a session withaws sso login). - Temporary role credentials from
sso:GetRoleCredentialsare held in memory and refreshed automatically before expiry (and re-fetched if the endpoint reports an authentication failure). - Every HTTPS request to the Partner Central endpoint is signed with AWS SigV4. The extension identifies itself to AWS via the recommended
_metaintegrator header.
No credentials touch disk except the standard AWS SSO token cache.
You need:
- Access to AWS Partner Central via IAM Identity Center. Your AWS reseller or administrator provisions this. The typical permission set is
PartnerCentral-Executives. - The SSO portal URL, account ID, and role name — your administrator can share these, or find them in the SSO portal.
- Claude Desktop 1.0+ (the Node runtime ships with it).
You do not need the AWS CLI, an existing ~/.aws/config profile, or any IAM access keys.
At minimum the role needs MCP protocol access:
{
"Effect": "Allow",
"Action": ["partnercentral:UseSession"],
"Resource": "*",
"Condition": { "Bool": { "aws:IsMcpServiceAction": "true" } }
}To actually read and write Partner Central data, the role also needs data-access permissions. AWS publishes a managed policy (AWSMcpServiceActionsFullAccess) plus example read-only and full-access policies covering partnercentral:List*, Get*, CreateOpportunity, UpdateOpportunity, SubmitOpportunity, the *BenefitApplication funding actions, and the relevant aws-marketplace:* actions. See the AWS Getting Started guide for the exact policy JSON. For file attachments, add s3:PutObject on the ephemeral document bucket.
Use the read-only policy for reporting use cases and grant write actions only when users need to create/update opportunities or funding applications.
The MCPB install dialog didn't save your config. Reinstall the extension and make sure all required fields are filled.
Check that the URL in your default browser starts with your SSO portal hostname (e.g. your-org.awsapps.com). If you have multiple browser profiles, make sure the one signed into your work identity is the default — or copy the URL into the right profile manually.
- Your SSO session expired. Run
partner_central_verify_connectionto trigger reauthorization (the extension also auto-refreshes credentials once on an auth failure). - Or your role doesn't have
partnercentral:UseSession. Confirm with your AWS administrator.
The agent tried an operation your role isn't allowed to perform (e.g. CreateOpportunity). Ask your administrator to grant the relevant partnercentral: action, or use a read-only request.
Partner Central rate-limits sendMessage to ~2 requests/minute (burst 10); other operations to ~10/minute. The endpoint signals this either as LimitExceeded (code -32004) or as an HTTP 400 "Rate exceeded. Try again later." — the extension recognizes both and retries with backoff sized to the ~30-second refill window. If you still hit it during bulk work, that's expected rather than a fault: writes run about 1 per 30 seconds, so closing/updating many opportunities takes a few minutes.
The Partner Central agent runs an advisory readiness check before stage changes. It can report things like "AWS hasn't marked it Launched on their side", "no marketplace offer linked", or "no customer deal acceptance" and conclude it's "not ready". This is guidance, not a hard rule — stage progression (including to Launched / closed-won) is the partner's action, and the Selling API enforces the actual constraints (it will often accept the change regardless). Two tips: (1) ask the agent to make the change ("set this opportunity's stage to Launched and proceed"), not whether it's "valid" — the validity framing makes it editorialize and refuse; (2) review and approve the proposed write as usual. The write still requires your explicit approval.
Sessions are scoped per catalog. A session created in Sandbox cannot be reused in AWS (and vice-versa). Drop the session_id or switch catalogs.
Confirm the file is an allowed type within the size limits, and that your AWS role can write to the ephemeral document bucket (s3:PutObject).
The extension logs JSON lines to stderr. View them in Claude Desktop's developer console (Cmd+Shift+I → Console). For verbose logs, set the LOG_LEVEL environment variable to debug (advanced/support use). Credentials and tokens are never logged.
git clone https://github.com/customd/aws-partner-central-mcp.git
cd aws-partner-central-mcp
npm install
npm run build
npm test
bash scripts/pack-mcpb.sh
# dist/aws-partner-central.mcpb is your bundleValidate the manifest standalone:
npx mcpb validate manifest.jsonInspect a built bundle:
npx mcpb info dist/aws-partner-central.mcpbSee DISTRIBUTION.md for how to publish this to the Claude extension directory.
.
├── manifest.json # MCPB manifest (install dialog + runtime config)
├── package.json
├── tsconfig.json
├── src/
│ ├── index.ts # Entry point — bootstraps McpServer over stdio
│ ├── config.ts # Reads + validates env vars from MCPB user_config
│ ├── constants.ts
│ ├── logger.ts # stderr-only structured logger
│ ├── types.ts
│ ├── services/
│ │ ├── sso-auth.ts # SSO device flow + GetRoleCredentials + token cache
│ │ ├── signer.ts # SigV4 request signing
│ │ ├── attachment-uploader.ts # Ephemeral S3 upload for file attachments
│ │ └── partner-central-client.ts # JSON-RPC over HTTPS, retries, re-auth
│ ├── schemas/
│ │ ├── inputs.ts # Zod input schemas
│ │ └── outputs.ts # Zod output schemas (structuredContent contract)
│ └── tools/
│ ├── index.ts # Tool registrations
│ └── format.ts # Response formatting (markdown/json + approval)
├── test/ # Node-based tests (run with `npm test`)
├── server/ # Compiled JS (gitignored; ships in .mcpb)
├── scripts/pack-mcpb.sh # Production bundler
├── PRIVACY.md # Privacy policy
├── DISTRIBUTION.md # How to distribute / submit to the directory
└── dist/aws-partner-central.mcpb # The shippable artifact
See PRIVACY.md for the full privacy policy (what is processed, what is stored locally and where, what is transmitted and to whom, retention, and your controls). In short:
- No long-lived AWS access keys are stored or transmitted.
- SSO access tokens are cached at
~/.aws/sso/cache/<sha1>.jsonwith0600permissions; the cache directory is tightened to0700. - Temporary role credentials (~1-hour TTL) are held in memory only.
- The
PARTNER_CENTRAL_ENDPOINTis validated to an AWS*.api.awsHTTPS host so signed credentials can't be redirected elsewhere. - All endpoint traffic is HTTPS with AWS SigV4 signing (TLS 1.2+).
- The extension logs no credential material and collects no telemetry.
See PRIVACY.md for the full privacy policy.
Questions, bugs, or feature requests: open an issue at github.com/customd/aws-partner-central-mcp/issues.
MIT — see LICENSE.