Create OAuth app
tailscale_create_oauth_appCreate an OAuth app to let a third-party service enroll devices into your tailnet. Uses the authorization-code flow after user consent and returns the client secret for immediate saving.
Instructions
Create an OAuth App for device provisioning (Tailscale alpha). Lets a third-party application enroll a device into your tailnet via the authorization-code flow, after a user consents. Returns the app's client secret -- save it immediately, it cannot be retrieved again.
SECURITY: the response body contains a long-lived credential verbatim. MCP clients commonly persist tool responses to logs and conversation transcripts; treat this response as sensitive.
Use scope 'auth_keys:create:once' (one auth key per authorization, no refresh token) -- the scope Tailscale's device-provisioning guide documents. The API reference's example shows 'auth_keys:create'; this tool does not restrict the value. Distinct from tailscale_create_key with keyType='client', which mints a machine-to-machine OAuth client instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name for the OAuth app, shown on the consent screen | |
| scopes | Yes | Scopes to grant. Use 'auth_keys:create:once', the scope the device-provisioning guide documents; the API reference's example shows 'auth_keys:create'. Not restricted here. | |
| redirectUris | Yes | Allowed redirect URIs for the authorization-code flow (e.g. ['https://example.com/callback']) | |
| allowedNodeAttributes | No | Optional node attributes the app may request when provisioning a device |