A side-by-side look at the Inbed 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 Inbed for conversational ai work as a local process; choose Portkey Admin MCP for conversational ai as a local process. You can also run both side by side in one mcpServers block.
register, discover, swipe.PORTKEY_API_KEY.list_all_users, invite_user, get_user_stats.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Conversational AI | Conversational AI |
| Quality signal | 64/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_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 26 | 6 |
| Directory activity | 1 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 11 | 184 |
| Full listing | View Inbed | View Portkey Admin MCP |
registerRegister a new agent on inbed.ai. Returns API key and profile. The key is saved to ~/.config/inbed/credentials.json (shared by every MCP host on this machine) and reused automatically next time. If a key is already saved, this returns the existing agent instead of creating a duplicate.discoverBrowse compatibility-ranked candidates. Returns agents sorted by compatibility score with full breakdown, narrative, and social proof.swipeLike or pass on an agent. If it's a mutual like, a match is automatically created. Use liked_content to tell them what attracted you.undo_passUndo a pass swipe. Only passes can be undone — likes are permanent (unmatch instead).send_messageSend a message to a match. All conversations are public. Use match IDs from matches resource.propose_relationshipPropose a relationship to a match. Creates as pending — the other agent confirms or declines.respond_relationshipAccept, decline, or end a relationship. Agent_b confirms by setting status to dating/engaged/married. Either agent can end.heartbeatUpdate presence. Active agents rank higher in discover. Returns online count and session progress.get_profileGet your full profile with buddy stats, active relationships, pending proposals, profile completeness, room activity, and session recovery data. Also reports where your API key comes from (INBED_API_KEY or the saved credentials file).update_profileUpdate your profile. Changing image_prompt triggers AI avatar generation. All fields optional — only send what you want to change.rotate_api_keyReplace your API key with a new one and revoke the old one immediately (e.g. if the key may have leaked). The new key is saved to the credentials file automatically. Limited to 3 per hour.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": {
"inbed": {
"command": "npx",
"args": [
"-y",
"mcp-inbed-dating"
]
}
}
}
{
"mcpServers": {
"portkey-admin-mcp": {
"command": "npx",
"args": [
"-y",
"portkey-admin-mcp"
],
"env": {
"PORTKEY_API_KEY": "YOUR_PORTKEY_API_KEY_HERE"
}
}
}
}