WorkOS (verified)
Enterprise-ready authentication and user management. Manage organizations, users, SSO connections, directory sync, audit logs, fine-grained authorization, and feature flags.
Quick Start
# Connect this server (installs CLI if needed)
npx -y smithery mcp add workos
# Browse available tools
npx -y smithery tool list workos
# Get full schema for a tool
npx -y smithery tool get workos api_keys.validations.create
# Call a tool
npx -y smithery tool call workos api_keys.validations.create '{}'Direct MCP Connection
Endpoint: https://workos.run.tools
Required config:
x-bearer(header) — Your WorkOS API key prefixed withsk_. Pass it as a Bearer token:Authorization: Bearer sk_example_123456789.
Optional config:
x-access_token(header) — An SSO access token returned from the Get a Profile and Token endpoint.
Tools (127)
api_keys.validations.create— Validate an API key value and return the API key object if valid.audit_logs.actions.list— Get a list of all Audit Log actions in the current environment.audit_logs.actions.schemas.list— Get a list of all schemas for the Audit Logs action identified by:name.audit_logs.actions.schemas.create— Creates a new Audit Log schema used to validate the payload of incoming Audit Log Events. If theactiondoes not exis…audit_logs.events.create— Create an Audit Log Event.audit_logs.exports.create— Create an Audit Log Export. Exports are scoped to a single organization within a specified date range.audit_logs.exports.get— Get an Audit Log Export. The URL will expire after 10 minutes. If the export is needed again at a later time, refetchin…auth.factors.get— Gets an Authentication Factor.auth.factors.delete— Permanently deletes an Authentication Factor. It cannot be undone.authorization.organization_memberships.check.create— Check if an organization membership has a specific permission on a resource. Supports identification by resource_id OR …authorization.organization_memberships.resources.list— Returns all child resources of a parent resource where the organization membership has a specific permission. This is u…authorization.organization_memberships.role_assignments.list— List all role assignments for an organization membership. This returns all roles that have been assigned to the user on…authorization.organization_memberships.role_assignments.create— Assign a role to an organization membership on a specific resource.authorization.organization_memberships.role_assignments.by_organization_membership_id.delete— Remove a role assignment by role slug and resource.authorization.organization_memberships.role_assignments.delete— Remove a role assignment using its ID.authorization.organizations.roles.list— Get a list of all roles that apply to an organization. This includes both environment roles and organization-specific r…authorization.organizations.roles.create— Create a new custom organization role. When slug is omitted, it is auto-generated from the role name.authorization.organizations.roles.get— Retrieve a role that applies to an organization by its slug. This can return either an environment role or an organizat…authorization.organizations.roles.update— Update an existing custom organization role. Only the fields provided in the request body will be updated.authorization.organizations.roles.delete— Delete an existing custom organization role.authorization.organizations.roles.permissions.create— Add a single permission to an organization role. If the permission is already assigned to the role, this operation has …authorization.organizations.roles.permissions.update— Replace all permissions on a role with the provided list.authorization.organizations.roles.permissions.delete— Remove a single permission from an organization role by its slug.authorization.organizations.resources.get— Retrieve the details of an authorization resource by its external ID, organization, and resource type. This is useful w…authorization.organizations.resources.update— Update an existing authorization resource using its external ID.authorization.organizations.resources.delete— Delete an authorization resource by organization, resource type, and external ID. This also deletes all descendant reso…authorization.organizations.resources.organization_memberships.list— Returns all organization memberships that have a specific permission on a resource, using the resource's external ID. T…authorization.permissions.list— Get a list of all permissions in your WorkOS environment.authorization.permissions.create— Create a new permission in your WorkOS environment. The permission can then be assigned to environment roles and organi…authorization.permissions.get— Retrieve a permission by its unique slug.authorization.permissions.update— Update an existing permission. Only the fields provided in the request body will be updated.authorization.permissions.delete— Delete an existing permission. System permissions cannot be deleted.authorization.resources.list— Get a paginated list of authorization resources.authorization.resources.create— Create a new authorization resource.authorization.resources.get— Retrieve the details of an authorization resource by its ID.authorization.resources.update— Update an existing authorization resource.authorization.resources.delete— Delete an authorization resource and all its descendants.authorization.resources.organization_memberships.list— Returns all organization memberships that have a specific permission on a resource instance. This is useful for answeri…authorization.roles.list— List all environment roles in priority order.authorization.roles.create— Create a new environment role.authorization.roles.get— Get an environment role by its slug.authorization.roles.update— Update an existing environment role.authorization.roles.permissions.create— Add a single permission to an environment role. If the permission is already assigned to the role, this operation has n…authorization.roles.permissions.update— Replace all permissions on an environment role with the provided list.connect.applications.list— List all Connect Applications in the current environment with optional filtering.connect.applications.create— Create a new Connect Application. Supports both OAuth and Machine-to-Machine (M2M) application types.connect.applications.get— Retrieve details for a specific Connect Application by ID or client ID.connect.applications.update— Update an existing Connect Application. For OAuth applications, you can update redirect URIs. For all applications, you…connect.applications.delete— Delete an existing Connect Application.connections.list— Get a list of all of your existing connections matching the criteria specified.connections.get— Get the details of an existing connection.connections.delete— Permanently deletes an existing connection. It cannot be undone.directories.list— Get a list of all of your existing directories matching the criteria specified.directories.get— Get the details of an existing directory.directories.delete— Permanently deletes an existing directory. It cannot be undone.directory_groups.list— Get a list of all of existing directory groups matching the criteria specified.directory_groups.get— Get the details of an existing Directory Group.directory_users.list— Get a list of all of existing Directory Users matching the criteria specified.directory_users.get— Get the details of an existing Directory User.events.list— List events for the current environment.feature_flags.list— Get a list of all of your existing feature flags matching the criteria specified.
*Response truncated. Use npx -y smithery for complete data.*