A side-by-side look at the Portkey Admin MCP and Vercel MCP Pro MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Portkey Admin MCP for cloud platforms work as a local process; choose Vercel MCP Pro for cloud platforms as a local process. You can also run both side by side in one mcpServers block.
PORTKEY_API_KEY, PORTKEY_TOOL_DOMAINS.list_all_users, invite_user, get_user_stats.VERCEL_TOKEN.list_deployments, get_deployment, create_deployment.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Cloud Platforms | Cloud Platforms |
| Quality signal | 65/100 · Great | 60/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | PORTKEY_API_KEYPORTKEY_TOOL_DOMAINS | VERCEL_TOKEN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 6 | 0 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 181 | 70 |
| Full listing | View Portkey Admin MCP | View Vercel MCP Pro |
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.list_deploymentsList deployments, most recent first. Filter by project, target (production/preview), state, or time window. Use this to see deploy history and find a deployment id.get_deploymentGet full details of one deployment by id or URL (state, build, meta, aliases).create_deploymentCreate a new deployment. The simplest path is to deploy from a connected Git source: pass `name` (project) and a `gitSource` ({ type, repoId/org+repo, ref }). For file-based deploys, provide `files`. For most workflows the /vercel CLI skill is easier — use this when you need API-driven, headless deploys.cancel_deploymentCancel an in-progress (BUILDING/QUEUED) deployment.delete_deploymentDelete a deployment by id (or by URL via the `url` param).get_deployment_eventsGet the build/runtime event log of a deployment (this is where build logs and errors live). Use to diagnose failed builds and runtime bugs. Returns log lines with text, type and timestamps.list_deployment_filesList the file tree of a deployment.get_deployment_file_contentsGet the contents of a single file within a deployment by file id.promote_deploymentPromote an existing deployment to production for a project (instant promotion, no rebuild). This is how you ship a previously-built preview to prod.rollback_deploymentRoll a project's production back to a previous deployment (instant rollback). Pass the deployment id you want to roll back to.get_promote_aliasesCheck the status of the most recent promote/rollback for a project (which aliases were assigned).list_projectsList projects in the account/team. Optionally filter by name or repo.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": {
"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"
}
}
}
}
{
"mcpServers": {
"vercel-mcp-pro": {
"command": "npx",
"args": [
"-y",
"vercel-mcp-pro"
],
"env": {
"VERCEL_TOKEN": "YOUR_VERCEL_TOKEN_HERE"
}
}
}
}