Authorize Mcp OAuth
authorizeMcpOAuthStart an OAuth-based connection with a remote MCP server using Dynamic Client Registration. Returns an authorization URL the user must open in a browser; once they grant consent, Duvo creates the matching connection and redirects the browser to the optional returnUrl.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name to display for the connection. | |
| team_id | No | Duvo team UUID to operate on. API keys are pinned to a single team — omit this (it falls back to the key's team) or pass that same team; a different team is rejected. OAuth callers, who can span multiple teams, should pass the target team here. | |
| return_url | No | Where to send the user's browser after consent completes. Accepts an absolute URL on a domain Duvo allows, or a path relative to the Duvo frontend (e.g. `/integrations/slack`). | |
| mcp_server_url | Yes | URL of the MCP server requiring OAuth. | |
| oauth_client_id | No | OAuth client ID of a client the user registered on the authorization server themselves (e.g. a NetSuite Integration record). Takes precedence over preregistered credentials and Dynamic Client Registration. Cannot be combined with custom_integration_id. On reconnect, omit to reuse the connection's stored credentials, or provide to replace (rotate) them. | |
| integration_type | No | Optional catalog integration type (e.g. `netsuite`, `asana`). When it names a known MCP OAuth catalog integration and `mcp_server_url` matches that integration's registered server, the connection is treated as a catalog connection; otherwise it requires the custom MCP servers capability. | |
| oauth_client_secret | No | Client secret for `oauth_client_id`. Omit for public clients (PKCE-only). | |
| custom_integration_id | No | Optional ID of a custom integration this connection should be associated with. | |
| reconnect_instance_id | No | When set, the OAuth flow will update the existing connection in place rather than creating a new one. |