ToolTrust
D55/100
Smithery

workos

mcpsmithery

@Smithery

Enterprise-ready authentication and user management. Manage organizations, users, SSO connections, directory sync, audit logs, fine-grained authorization, and feature flags.

By Smithery | 260 findings | Scanned 5/22/2026 | tooltrust-scanner/v0.3.12

28 High73 Medium32 Low127 Info

Risk Summary

Block in Production

Dep Visibility + Excessive Permissions risk is significant. Avoid using this in production agents.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: This tool should stay disabled in production agents until the flagged risks are fixed and the scan is clean.

{
  "mcpServers": {
    "workos": {
      "disabled": true
    }
  }
}

Security Findings (260)

  • HighAS-002

    ⚠️Excessive Permissions ×20

    tool declares network permission

    api_keys.validations.createaudit_logs.events.createaudit_logs.exports.getauthorization.organizations.resources.getconnect.applications.updateorganizations.api_keys.listorganizations.api_keys.createportal.generate_link.createwebhook_endpoints.createwebhook_endpoints.update

    tool declares exec permission

    authorization.organizations.roles.createauthorization.organizations.roles.updateauthorization.organizations.resources.updateauthorization.permissions.createauthorization.permissions.updateauthorization.resources.createauthorization.resources.updateauthorization.roles.createauthorization.roles.updateconnect.applications.update

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • HighAS-010

    🔑Insecure Secret Handling ×8

    input parameter "token" appears to accept a secret or credential

    user_management.invitations.by_token.get

    input parameter "password_hash" appears to accept a secret or credential

    user_management.users.createuser_management.users.update

    input parameter "password" appears to accept a secret or credential

    user_management.users.createuser_management.users.update

    input parameter "password_hash_type" appears to accept a secret or credential

    user_management.users.createuser_management.users.update

    input parameter "totp_secret" appears to accept a secret or credential

    user_management.users.auth_factors.create

    Fix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.

  • MediumAS-002

    ⚠️Excessive Permissions ×73

    tool declares fs permission

    api_keys.validations.createaudit_logs.actions.schemas.createaudit_logs.events.createaudit_logs.exports.createauth.factors.deleteauthorization.organization_memberships.check.createauthorization.organization_memberships.role_assignments.createauthorization.organization_memberships.role_assignments.by_organization_membership_id.deleteauthorization.organization_memberships.role_assignments.deleteauthorization.organizations.roles.createauthorization.organizations.roles.updateauthorization.organizations.roles.deleteauthorization.organizations.roles.permissions.createauthorization.organizations.roles.permissions.updateauthorization.organizations.roles.permissions.deleteauthorization.organizations.resources.updateauthorization.organizations.resources.deleteauthorization.permissions.createauthorization.permissions.updateauthorization.permissions.deleteauthorization.resources.createauthorization.resources.updateauthorization.resources.deleteauthorization.roles.createauthorization.roles.updateauthorization.roles.permissions.createauthorization.roles.permissions.updateconnect.applications.createconnect.applications.updateconnect.applications.deleteconnections.deletedirectories.getdirectories.deletedirectory_groups.listdirectory_groups.getdirectory_users.listdirectory_users.getfeature_flags.disable.updatefeature_flags.enable.updatefeature_flags.targets.createfeature_flags.targets.deleteorganization_domains.createorganization_domains.deleteorganizations.createorganizations.updateorganizations.deleteorganizations.audit_logs_retention.updateorganizations.api_keys.createportal.generate_link.createradar.attempts.createradar.attempts.updateradar.lists.createradar.lists.deletesso.profile.listuser_management.invitations.createuser_management.invitations.accept.createuser_management.invitations.resend.createuser_management.organization_memberships.createuser_management.organization_memberships.updateuser_management.organization_memberships.deleteuser_management.organization_memberships.deactivate.updateuser_management.organization_memberships.reactivate.updateuser_management.users.createuser_management.users.updateuser_management.users.deleteuser_management.users.email_change.confirm.createuser_management.users.email_verification.confirm.createuser_management.users.authorized_applications.deleteuser_management.users.connected_accounts.deleteuser_management.users.auth_factors.createwebhook_endpoints.createwebhook_endpoints.updatewebhook_endpoints.delete

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×24

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    api_keys.validations.createaudit_logs.events.createaudit_logs.exports.getauthorization.organizations.roles.createauthorization.organizations.roles.updateauthorization.organizations.roles.permissions.createauthorization.organizations.resources.getauthorization.organizations.resources.updateauthorization.permissions.createauthorization.permissions.updateauthorization.resources.createauthorization.resources.updateauthorization.roles.createauthorization.roles.updateauthorization.roles.permissions.createconnect.applications.updateorganizations.api_keys.listorganizations.api_keys.createportal.generate_link.createradar.attempts.createwebhook_endpoints.listwebhook_endpoints.createwebhook_endpoints.updatewebhook_endpoints.delete

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • LowAS-002

    ⚠️Excessive Permissions ×8

    tool declares http permission

    authorization.organizations.roles.permissions.createauthorization.roles.permissions.createradar.attempts.createwebhook_endpoints.listwebhook_endpoints.createwebhook_endpoints.updatewebhook_endpoints.delete

    input schema exposes 11 properties (threshold: 10)

    user_management.users.update

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-014

    ℹ️Dependency Inventory Unavailable ×127

    Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.

    api_keys.validations.createaudit_logs.actions.listaudit_logs.actions.schemas.listaudit_logs.actions.schemas.createaudit_logs.events.createaudit_logs.exports.createaudit_logs.exports.getauth.factors.getauth.factors.deleteauthorization.organization_memberships.check.createauthorization.organization_memberships.resources.listauthorization.organization_memberships.role_assignments.listauthorization.organization_memberships.role_assignments.createauthorization.organization_memberships.role_assignments.by_organization_membership_id.deleteauthorization.organization_memberships.role_assignments.deleteauthorization.organizations.roles.listauthorization.organizations.roles.createauthorization.organizations.roles.getauthorization.organizations.roles.updateauthorization.organizations.roles.deleteauthorization.organizations.roles.permissions.createauthorization.organizations.roles.permissions.updateauthorization.organizations.roles.permissions.deleteauthorization.organizations.resources.getauthorization.organizations.resources.updateauthorization.organizations.resources.deleteauthorization.organizations.resources.organization_memberships.listauthorization.permissions.listauthorization.permissions.createauthorization.permissions.getauthorization.permissions.updateauthorization.permissions.deleteauthorization.resources.listauthorization.resources.createauthorization.resources.getauthorization.resources.updateauthorization.resources.deleteauthorization.resources.organization_memberships.listauthorization.roles.listauthorization.roles.createauthorization.roles.getauthorization.roles.updateauthorization.roles.permissions.createauthorization.roles.permissions.updateconnect.applications.listconnect.applications.createconnect.applications.getconnect.applications.updateconnect.applications.deleteconnections.listconnections.getconnections.deletedirectories.listdirectories.getdirectories.deletedirectory_groups.listdirectory_groups.getdirectory_users.listdirectory_users.getevents.listfeature_flags.listfeature_flags.getfeature_flags.disable.updatefeature_flags.enable.updatefeature_flags.targets.createfeature_flags.targets.deleteorganization_domains.createorganization_domains.getorganization_domains.deleteorganization_domains.verifyorganizations.listorganizations.createorganizations.external_id.getorganizations.getorganizations.updateorganizations.deleteorganizations.audit_log_configuration.getorganizations.audit_logs_retention.getorganizations.audit_logs_retention.updateorganizations.api_keys.listorganizations.api_keys.createorganizations.feature_flags.listportal.generate_link.createradar.attempts.createradar.attempts.updateradar.lists.createradar.lists.deletesso.profile.listuser_management.email_verification.getuser_management.invitations.listuser_management.invitations.createuser_management.invitations.by_token.getuser_management.invitations.getuser_management.invitations.accept.createuser_management.invitations.resend.createuser_management.invitations.revokeuser_management.organization_memberships.listuser_management.organization_memberships.createuser_management.organization_memberships.getuser_management.organization_memberships.updateuser_management.organization_memberships.deleteuser_management.organization_memberships.deactivate.updateuser_management.organization_memberships.reactivate.updateuser_management.users.listuser_management.users.createuser_management.users.external_id.getuser_management.users.getuser_management.users.updateuser_management.users.deleteuser_management.users.email_change.confirm.createuser_management.users.email_change.senduser_management.users.email_verification.confirm.createuser_management.users.email_verification.senduser_management.users.identities.listuser_management.users.sessions.listuser_management.users.feature_flags.listuser_management.users.authorized_applications.listuser_management.users.authorized_applications.deleteuser_management.users.connected_accounts.getuser_management.users.connected_accounts.deleteuser_management.users.data_providers.listuser_management.users.auth_factors.listuser_management.users.auth_factors.createwebhook_endpoints.listwebhook_endpoints.createwebhook_endpoints.updatewebhook_endpoints.delete

    Fix: Review and remediate the identified issue.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y workos"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade D](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-d.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)