Member Junction
    Preparing search index...

    Handles OAuth Dynamic Client Registration (DCR) for MCP connections.

    Implements RFC 7591 DCR with fallback to pre-configured client credentials. Stores registrations in the database for reuse across connections.

    Features:

    • Automatic DCR when supported by authorization server
    • Fallback to pre-configured credentials
    • Registration persistence and reuse
    • Client secret expiration tracking
    const registration = new ClientRegistration();

    // Get or create client credentials
    const client = await registration.getOrRegisterClient(
    connectionId,
    serverId,
    metadata,
    {
    redirectUri: 'https://api.example.com/oauth/callback',
    scopes: 'read write'
    },
    contextUser
    );

    // Use client credentials in authorization request
    authUrl.searchParams.set('client_id', client.clientId);
    Index

    Constructors

    Methods

    • Gets existing client registration or registers a new one.

      If a valid registration exists for this connection, returns it. Otherwise, attempts DCR if supported, or uses pre-configured credentials.

      Parameters

      • connectionId: string

        MCP Server Connection ID

      • serverId: string

        MCP Server ID

      • metadata: AuthServerMetadata

        Authorization server metadata

      • options: {
            preConfiguredClientId?: string;
            preConfiguredClientSecret?: string;
            redirectUri: string;
            scopes?: string;
            serverName?: string;
        }

        Registration options

      • contextUser: UserInfo

        User context for database operations

      Returns Promise<OAuthClientRegistration>

      Client registration with credentials

      Error if no valid client credentials can be obtained