A side-by-side look at the AWS MCP Server and Portkey Admin MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose AWS MCP Server for cloud platforms work as a local process; choose Portkey Admin MCP for cloud platforms as a local process. You can also run both side by side in one mcpServers block.
aws_whoami, aws_login_start, aws_login_complete.PORTKEY_API_KEY, PORTKEY_TOOL_DOMAINS.list_all_users, invite_user, get_user_stats.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Cloud Platforms | Cloud Platforms |
| Quality signal | 59/100 · Good | 65/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | None listed | PORTKEY_API_KEYPORTKEY_TOOL_DOMAINS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 5 | 6 |
| Directory activity | 0 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 28 | 181 |
| Full listing | View AWS MCP Server | View Portkey Admin MCP |
aws_whoamiCurrent identity (account, ARN) + SSO token expiry countdown. Call this first.aws_login_startStart `aws sso login --no-browser --use-device-code`, returns a verification URL + short code and a `sessionId`. (`--use-device-code` is omitted on AWS CLI older than 2.22.0, where the device grant is already the default.)aws_login_completeBlock until the SSO subprocess finishes (you auth in your browser), returns the new identity.aws_refresh_if_expiring_soonCheck the cached SSO token and auto-start a refresh when < `thresholdMinutes` remain (default 10). One round-trip for "am I about to expire? if so, re-login."aws_session_setSet the default profile and/or region for the rest of this MCP session. "Switch to prod," "use us-west-2."aws_session_getShow the current session defaults and where each value came from (`session`/`env`/`default`).aws_session_clearRemove session profile/region overrides so env vars / defaults take over again. No args clears both.aws_list_profilesList profiles configured in `~/.aws/config` -- names, regions, and SSO metadata. Use before switching profiles or when an SSO error names one you haven't seen.aws_assume_roleCall STS AssumeRole with your current identity and stash the temp creds as a new profile (`mcp-<sessionName>`) in `~/.aws/credentials`. Use for cross-account access. The secret/session token stay on disk -- not returned to the model. Optional `timeoutMs` (default 120s) for slow SAML / `credential_p…aws_callRun any AWS API operation. `service: 's3api', operation: 'list-buckets'`, optional `params` (PascalCase JSON), optional `query` (JMESPath). Returns parsed JSON. Hand-written CLI commands (`s3 cp/ls/sync`, `logs tail`) and operations that stream their response to a file (`s3api get-object`, `bedrock…aws_paginateFetch one page of a paginated list/describe operation. Supports `query` too. Returns `nextToken`/`hasMore`; call again with the token to continue.aws_logs_tailFetch the newest CloudWatch Logs events for one log group (FilterLogEvents via `aws logs filter-log-events`), with `since`, `filterPattern` and stream-name filters; returns `{timestamp, logStreamName, message}` objects, oldest first. Bounded by `maxEvents` (default 500, max 10000): a busier window…list_all_usersList accepted org users with id, name, email, role, and timestamps. Use this to find a user_id before get_user, update_user, delete_user, or add_workspace_member; use list_user_invites for pending invitations. Enterprise-gated. Returns 403 on non-Enterprise Portkey plans.invite_userInvite a new org user and optionally provision workspace access and an API key in one call. Workspace assignments apply only after acceptance; use add_workspace_member or update_workspace_member later for follow-up changes.get_user_statsReturn per-user request and cost analytics for a required time range. This is usage-by-user, not population metrics; use get_users_analytics for active-user or cohort trends. Enterprise-gated. Returns 403 on non-Enterprise Portkey plans.get_userGet one accepted user by id and return their profile, role, and timestamps. Use list_all_users to find the id if you only have a name or email, and get_user_invite for pending invitations. Enterprise-gated. Returns 403 on non-Enterprise Portkey plans.update_userUpdate a user's first name, last name, or organization role by id. Email and workspace roles are not editable here; use update_workspace_member for workspace membership changes.delete_userDelete a user from the org by id. This is permanent, removes org and workspace memberships, revokes API keys, and ends active sessions; use delete_user_invite for pending invites instead.list_user_invitesList pending and sent invitations with id, email, role, status, and expiry. Use this to check invite state; use list_all_users for users who already accepted. Enterprise-gated. Returns 403 on non-Enterprise Portkey plans.get_user_inviteGet one invitation by invite id and return its email, role, status, and expiry. Use this for pending invites only; use get_user for accepted users.delete_user_inviteDelete a pending invite and revoke its invite link. This does not affect existing users; use delete_user for full user removal.resend_user_inviteResend the email for a pending invite that has not been accepted, unlike invite_user which creates a new invite. This sends a fresh email without modifying the invite record, expiry, or role; use get_user_invite first if you are unsure whether the invite still exists and list_user_invites to discover invite_ids.list_scim_workspace_mappingsList identity-provider SCIM group mappings that automatically grant Portkey workspace roles. Use it to audit provisioned access or obtain mapping_id before delete_scim_workspace_mapping; filter by workspace, group, or role and page through large directories. This reads mappings only and does not query individual workspace members. Enterprise-gated. Returns 403 on non-Enterprise Portkey plans.create_scim_workspace_mappingMap one identity-provider SCIM group to a Portkey workspace role so current and future group members receive access automatically. Provide exactly one of scim_group_id or scim_group_name; a name can pre-create the Portkey SCIM group before the IdP provisions it. Use list_scim_groups to discover existing groups and list_workspaces for the workspace ID. This changes access provisioning and is distinct from add_workspace_member, which grants one user directly. Enterprise-gated. Returns 403 on non-Enterprise Portkey plans.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"aws-mcp-server-3": {
"command": "npx",
"args": [
"-y",
"@yawlabs/aws-mcp"
]
}
}
}
{
"mcpServers": {
"s-b-e-n-s-o-n-portkey-admin-mcp": {
"command": "npx",
"args": [
"-y",
"portkey-admin-mcp"
],
"env": {
"PORTKEY_API_KEY": "YOUR_PORTKEY_API_KEY_HERE",
"PORTKEY_TOOL_DOMAINS": "YOUR_PORTKEY_TOOL_DOMAINS_HERE"
}
}
}
}