Connect a client
Add https://mcp.assign.so/ as a remote MCP server in a client that supports OAuth. The client opens
Assign in a browser where you approve Workspace access and read and, if needed, write access.
Select Workspaces Awaiting deployment
Consent lets you select the Workspaces this connection can access. Only your active memberships with AI integrations enabled are offered; you can narrow the selection before approving.
Codex
Codex needs only the server URL. Assign identifies it through its published client metadata (CIMD) and accepts the temporary localhost callback port Codex opens. You don't need to supply a client ID or secret.
assign mcp setup codexThis signs in to the Assign CLI if needed, then registers the server and starts authorization through Codex's own commands. Codex gets its own revocable MCP credential, and your CLI token is never shared.
To do the same steps by hand:
codex mcp add assign --url https://mcp.assign.so/ \
--oauth-resource https://mcp.assign.so/ \
--oauth-client-registration cimd
codex mcp login assign --scopes assign:read,assign:write \
--oauth-client-registration cimd
codex mcp listUse only assign:read to keep the client read-only, or run
assign mcp setup codex --scopes assign:read. Codex desktop, CLI and IDE share one MCP configuration.
A trusted repository can declare the server in .codex/config.toml, but never commit a bearer value.
For a service, set bearer_token_env_var and keep the secret in your secret manager.
Local stdio bridge
If a client needs stdio:
assign mcp setup codex --transport stdio --scopes assign:readThe local process forwards MCP traffic to the same remote catalog. It exchanges your CLI credential for a short-lived, non-refreshable MCP token with equal or narrower scopes and lifetime. It stays bound to its first Workspace, so reconnect after switching. Remote OAuth is the default and usually simpler.
Native OAuth clients Awaiting deployment
Clients that support Dynamic Client Registration can register a public native client during sign-in.
The callback must be an HTTP loopback address, and the client must use Authorization Code with S256
PKCE and token_endpoint_auth_method: none. Approve the requested Workspaces and scopes in Assign.
A registered client receives no access until you approve it. Its name appears as Unverified.
If registration is temporarily unavailable, wait for the server’s retry interval before trying again.
Hosted web clients with HTTPS callbacks need a reviewed registration. Registration support alone doesn't establish compatibility with a particular client. Interactive previews will be paused in the next deployment; clients will use the normal text and structured responses.
Permissions and lifetime
Every request uses your current Assign permissions. Disconnecting a client, revoking a service credential, disabling Workspace AI access or losing membership takes effect immediately.
Clients renew 15-minute access tokens in the background, so normal expiry needs no new sign-in. You authorize again only if the connection is disconnected, invalidated for security, unused for 90 days, left without any authorized Workspace or past its one-year lifetime.
Review or disconnect
Open Account settings → MCP access to see each client's scopes, authorized Workspaces, last use and expiry. The page shows up to 100 connections at a time; use Next page to see more or Back to first page to start again. The visible page updates when a connection changes. Disconnect revokes its access immediately.
Workspace owners and admins can turn off AI integrations in Workspace settings → Developer tools. That blocks existing and new MCP access to that Workspace without disconnecting the client from others. The policy and service-credential list update when Workspace access changes. Expired credentials disappear from the list at their expiry time.
Reviewed native metadata Awaiting deployment
A reviewed native client can identify itself through published OAuth client metadata. You still approve access through Assign consent. A metadata identity does not grant access by itself, and hosted clients may require a separate registration.