Skip to content

Add Google Workspace user account provisioning#66

Merged
dsp-ant merged 2 commits intomainfrom
add-gws-user-provisioning
Feb 19, 2026
Merged

Add Google Workspace user account provisioning#66
dsp-ant merged 2 commits intomainfrom
add-gws-user-provisioning

Conversation

@dsp-ant
Copy link
Member

@dsp-ant dsp-ant commented Feb 17, 2026

Summary

Adds Google Workspace user account provisioning so that members in certain roles automatically get a @modelcontextprotocol.io account, managed via Pulumi IaC.

Changes

New capabilities

  • User provisioning: Members with firstName, lastName, and googleEmailPrefix in roles with provisionUser: true get a GWS user account created automatically
  • Existing user import: Members with existingGWSUser: true are imported into Pulumi state (via { import: primaryEmail }) to avoid recreating accounts that already exist in Google Workspace
  • Password management: New users get a random 24-char password with changePasswordAtNextLogin: true. Passwords are exported as a Pulumi secret stack output (pulumi stack output --show-secrets newGWSUserPasswords)
  • Auto-licensing: All provisioned users are placed in orgUnitPath: "/Members" — configure this OU in Google Admin Console with auto-license assignment for Workspace Business
  • Smart group membership: Group membership logic now prefers the provisioned GWS email over the personal email field

Roles with provisionUser: true

  • LEAD_MAINTAINERS (new Google config added)
  • CORE_MAINTAINERS (new Google config added)
  • REGISTRY_MAINTAINERS (existing Google config updated)

Members with GWS user fields (all existing users)

domdomegg, dsp-ant, jspahrsummers, rdimitrov, tadasant, toby

Files modified

File Change
src/config/roles.ts Added provisionUser to GoogleConfig, set on 3 roles
src/config/utils.ts Added firstName, lastName, googleEmailPrefix, existingGWSUser to Member
src/config/users.ts Added profile fields for 6 existing GWS users
src/google.ts User provisioning, import logic, password export, orgUnitPath
scripts/validate-config.ts Validation for googleEmailPrefix uniqueness and completeness
scripts/test-config.ts 4 new tests for provisioning fields
package.json Added @pulumi/random dependency

Deployment notes

  1. Pre-requisite: Create a /Members OU in Google Admin Console and configure auto-license assignment for Workspace Business
  2. First deploy: Run pulumi up — existing users will be imported, no new users created yet
  3. After import: Remove existingGWSUser: true flags from members (they are only needed for the first deploy)
  4. Adding new users: Add firstName, lastName, googleEmailPrefix to a member in a provisionUser role. After deploy, retrieve password with pulumi stack output --show-secrets newGWSUserPasswords

Verification

  • npm run validate passes (with expected warnings for members missing profile fields)
  • npm run test passes (22/22)

@dsp-ant dsp-ant requested a review from a team as a code owner February 17, 2026 20:48
@github-actions
Copy link

github-actions bot commented Feb 17, 2026

Pulumi Preview

Click to expand preview output
Previewing update (prod):
  pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:prod::mcp-access::pulumi:pulumi:Stack::mcp-access-prod]
    + random:index/randomPassword:RandomPassword: (create)
        [urn=urn:pulumi:prod::mcp-access::random:index/randomPassword:RandomPassword::gws-pwd-den]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:random::default_4_19_1::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
        length : 24
        special: true
    + random:index/randomPassword:RandomPassword: (create)
        [urn=urn:pulumi:prod::mcp-access::random:index/randomPassword:RandomPassword::gws-pwd-pja]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:random::default_4_19_1::04da6b54-80e4-46f7-96ec-b56ff0331ba9]
        length : 24
        special: true
    + googleworkspace:index/group:Group: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/group:Group::core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        description: "Core maintainers \n(Managed by github.com/modelcontextprotocol/access)"
        email      : "core-maintainers@modelcontextprotocol.io"
        name       : "core-maintainers"
    + googleworkspace:index/group:Group: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/group:Group::lead-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        description: "Lead core maintainers \n(Managed by github.com/modelcontextprotocol/access)"
        email      : "lead-maintainers@modelcontextprotocol.io"
        name       : "lead-maintainers"
    + googleworkspace:index/user:User: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-den]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        changePasswordAtNextLogin: true
        hashFunction             : "SHA-1"
        name                     : {
            familyName: "Delimarsky"
            givenName : "Den"
        }
        orgUnitPath              : "/Model Context Protocol"
        password                 : [secret]
        primaryEmail             : "den@modelcontextprotocol.io"
    + googleworkspace:index/user:User: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-pja]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        changePasswordAtNextLogin: true
        hashFunction             : "SHA-1"
        name                     : {
            familyName: "Alexander"
            givenName : "Peter"
        }
        orgUnitPath              : "/Model Context Protocol"
        password                 : [secret]
        primaryEmail             : "pja@modelcontextprotocol.io"
    ~ googleworkspace:index/groupSettings:GroupSettings: (update)
        [id=antitrust@modelcontextprotocol.io]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupSettings:GroupSettings::antitrust]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email                : "antitrust@modelcontextprotocol.io"
        whoCanContactOwner   : "ALL_OWNERS_CAN_CONTACT"
        whoCanJoin           : "INVITED_CAN_JOIN"
        whoCanLeaveGroup     : "NONE_CAN_LEAVE"
        whoCanModerateMembers: "NONE"
        whoCanPostMessage    : "ANYONE_CAN_POST"
        whoCanViewGroup      : "ALL_MEMBERS_CAN_VIEW"
        whoCanViewMembership : "ALL_IN_DOMAIN_CAN_VIEW"
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::caitie.mccaffrey@microsoft.com-core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "caitie.mccaffrey@microsoft.com"
        groupId: [unknown]
        role   : "MEMBER"
    + googleworkspace:index/groupSettings:GroupSettings: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupSettings:GroupSettings::core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email                : "core-maintainers@modelcontextprotocol.io"
        whoCanContactOwner   : "ALL_OWNERS_CAN_CONTACT"
        whoCanJoin           : "INVITED_CAN_JOIN"
        whoCanLeaveGroup     : "NONE_CAN_LEAVE"
        whoCanModerateMembers: "NONE"
        whoCanPostMessage    : "ALL_OWNERS_CAN_POST"
        whoCanViewGroup      : "ALL_OWNERS_CAN_VIEW"
        whoCanViewMembership : "ALL_IN_DOMAIN_CAN_VIEW"
    + googleworkspace:index/groupSettings:GroupSettings: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupSettings:GroupSettings::lead-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email                : "lead-maintainers@modelcontextprotocol.io"
        whoCanContactOwner   : "ALL_OWNERS_CAN_CONTACT"
        whoCanJoin           : "INVITED_CAN_JOIN"
        whoCanLeaveGroup     : "NONE_CAN_LEAVE"
        whoCanModerateMembers: "NONE"
        whoCanPostMessage    : "ALL_OWNERS_CAN_POST"
        whoCanViewGroup      : "ALL_OWNERS_CAN_VIEW"
        whoCanViewMembership : "ALL_IN_DOMAIN_CAN_VIEW"
    ~ googleworkspace:index/groupSettings:GroupSettings: (update)
        [id=catch-all@modelcontextprotocol.io]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupSettings:GroupSettings::catch-all]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email                : "catch-all@modelcontextprotocol.io"
        whoCanContactOwner   : "ALL_OWNERS_CAN_CONTACT"
        whoCanJoin           : "INVITED_CAN_JOIN"
        whoCanLeaveGroup     : "NONE_CAN_LEAVE"
        whoCanModerateMembers: "NONE"
        whoCanPostMessage    : "ANYONE_CAN_POST"
        whoCanViewGroup      : "ALL_MEMBERS_CAN_VIEW"
        whoCanViewMembership : "ALL_IN_DOMAIN_CAN_VIEW"
    ~ googleworkspace:index/groupSettings:GroupSettings: (update)
        [id=registry-wg@modelcontextprotocol.io]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupSettings:GroupSettings::registry-wg]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email                : "registry-wg@modelcontextprotocol.io"
        whoCanContactOwner   : "ALL_OWNERS_CAN_CONTACT"
        whoCanJoin           : "INVITED_CAN_JOIN"
        whoCanLeaveGroup     : "NONE_CAN_LEAVE"
        whoCanModerateMembers: "NONE"
        whoCanPostMessage    : "ALL_OWNERS_CAN_POST"
        whoCanViewGroup      : "ALL_OWNERS_CAN_VIEW"
        whoCanViewMembership : "ALL_IN_DOMAIN_CAN_VIEW"
    = googleworkspace:index/user:User: (import)
        [id=106627335530422147226]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-tadas]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        emails                    : [
            [0]: {
                address: "tadas@tadasant.com"
                type   : "work"
            }
            [1]: {
                address: "tadas@modelcontextprotocol.io"
                primary: true
                type   : ""
            }
            [2]: {
                address: "tadas@modelcontextprotocol.io.test-google-a.com"
                type   : ""
            }
        ]
        includeInGlobalAddressList: true
        languages                 : [
            [0]: {
                languageCode: "en"
                preference  : "preferred"
            }
        ]
        name                      : {
            familyName: "Antanavicius"
            givenName : "Tadas"
        }
        orgUnitPath               : "/"
        primaryEmail              : "tadas@modelcontextprotocol.io"
    = googleworkspace:index/user:User: (import)
        [id=106438918736472022228]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-adam]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        emails                    : [
            [0]: {
                address: "adamj@anthropic.com"
                type   : "work"
            }
            [1]: {
                address: "adam@modelcontextprotocol.io"
                primary: true
                type   : ""
            }
            [2]: {
                address: "adam@modelcontextprotocol.io.test-google-a.com"
                type   : ""
            }
        ]
        includeInGlobalAddressList: true
        languages                 : [
            [0]: {
                languageCode: "en"
                preference  : "preferred"
            }
        ]
        name                      : {
            familyName: "Jones"
            givenName : "Adam"
        }
        orgUnitPath               : "/"
        primaryEmail              : "adam@modelcontextprotocol.io"
    = googleworkspace:index/user:User: (import)
        [id=112231669801948161940]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-david]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        emails                    : [
            [0]: {
                address: "davidsp@anthropic.com"
                type   : "custom"
            }
            [1]: {
                address: "david@modelcontextprotocol.io"
                primary: true
                type   : ""
            }
            [2]: {
                address: "david@modelcontextprotocol.io.test-google-a.com"
                type   : ""
            }
        ]
        includeInGlobalAddressList: true
        languages                 : [
            [0]: {
                languageCode: "en"
                preference  : "preferred"
            }
        ]
        name                      : {
            familyName: "Soria Parra"
            givenName : "David"
        }
        orgUnitPath               : "/"
        primaryEmail              : "david@modelcontextprotocol.io"
        recoveryEmail             : "experimentalworks@gmail.com"
        recoveryPhone             : "+447471497317"
    = googleworkspace:index/user:User: (import)
        [id=105207214624728355674]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-toby]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        emails                    : [
            [0]: {
                address: "toby@github.com"
                type   : "work"
            }
            [1]: {
                address: "toby@modelcontextprotocol.io"
                primary: true
                type   : ""
            }
            [2]: {
                address: "toby@modelcontextprotocol.io.test-google-a.com"
                type   : ""
            }
        ]
        includeInGlobalAddressList: true
        languages                 : [
            [0]: {
                languageCode: "en"
                preference  : "preferred"
            }
        ]
        name                      : {
            familyName: "Padilla"
            givenName : "Toby"
        }
        orgUnitPath               : "/"
        primaryEmail              : "toby@modelcontextprotocol.io"
        recoveryEmail             : "tobypadilla@gmail.com"
        recoveryPhone             : "+14153249280"
    = googleworkspace:index/user:User: (import)
        [id=100529388871241383281]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-paul]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        emails                    : [
            [0]: {
                address: "paulc@anthropic.com"
                type   : "custom"
            }
            [1]: {
                address: "paul@modelcontextprotocol.io"
                primary: true
                type   : ""
            }
            [2]: {
                address: "paul@modelcontextprotocol.io.test-google-a.com"
                type   : ""
            }
        ]
        includeInGlobalAddressList: true
        languages                 : [
            [0]: {
                languageCode: "en"
                preference  : "preferred"
            }
        ]
        name                      : {
            familyName: "Carleton"
            givenName : "Paul"
        }
        orgUnitPath               : "/"
        primaryEmail              : "paul@modelcontextprotocol.io"
        recoveryEmail             : "paulc@anthropic.com"
        recoveryPhone             : "+447546823578"
    = googleworkspace:index/user:User: (import)
        [id=103874672411287497940]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-radoslav]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        emails                    : [
            [0]: {
                address: "radoslav@stacklok.com"
                type   : "work"
            }
            [1]: {
                address: "radoslav@modelcontextprotocol.io"
                primary: true
                type   : ""
            }
            [2]: {
                address: "radoslav@modelcontextprotocol.io.test-google-a.com"
                type   : ""
            }
        ]
        includeInGlobalAddressList: true
        languages                 : [
            [0]: {
                languageCode: "en"
                preference  : "preferred"
            }
        ]
        name                      : {
            familyName: "Dimitrov"
            givenName : "Radoslav"
        }
        orgUnitPath               : "/"
        primaryEmail              : "radoslav@modelcontextprotocol.io"
        recoveryEmail             : "rdimitrow@gmail.com"
        recoveryPhone             : "+359883404893"
    = googleworkspace:index/user:User: (import)
        [id=115526225024135087458]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-justin]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        emails                    : [
            [0]: {
                address: "justin@jspahrsummers.com"
                type   : "custom"
            }
            [1]: {
                address: "justin@modelcontextprotocol.io"
                primary: true
                type   : ""
            }
            [2]: {
                address: "justin@modelcontextprotocol.io.test-google-a.com"
                type   : ""
            }
        ]
        includeInGlobalAddressList: true
        languages                 : [
            [0]: {
                languageCode: "en"
                preference  : "preferred"
            }
        ]
        name                      : {
            familyName: "Spahr-Summers"
            givenName : "Justin"
        }
        orgUnitPath               : "/"
        primaryEmail              : "justin@modelcontextprotocol.io"
        recoveryEmail             : "justin.spahrsummers@gmail.com"
        recoveryPhone             : "+447718963452"
    ~ googleworkspace:index/user:User: (update)
        [id=106627335530422147226]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-tadas]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
      ~ orgUnitPath: "/" => "/Model Context Protocol"
    ~ googleworkspace:index/user:User: (update)
        [id=106438918736472022228]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-adam]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
      ~ orgUnitPath: "/" => "/Model Context Protocol"
    ~ googleworkspace:index/user:User: (update)
        [id=112231669801948161940]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-david]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
      ~ orgUnitPath  : "/" => "/Model Context Protocol"
      - recoveryEmail: "experimentalworks@gmail.com"
      - recoveryPhone: "+447471497317"
    ~ googleworkspace:index/user:User: (update)
        [id=105207214624728355674]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-toby]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
      ~ orgUnitPath  : "/" => "/Model Context Protocol"
      - recoveryEmail: "tobypadilla@gmail.com"
      - recoveryPhone: "+14153249280"
    ~ googleworkspace:index/user:User: (update)
        [id=100529388871241383281]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-paul]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
      ~ orgUnitPath  : "/" => "/Model Context Protocol"
      - recoveryEmail: "paulc@anthropic.com"
      - recoveryPhone: "+447546823578"
    ~ googleworkspace:index/user:User: (update)
        [id=103874672411287497940]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-radoslav]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
      ~ orgUnitPath  : "/" => "/Model Context Protocol"
      - recoveryEmail: "rdimitrow@gmail.com"
      - recoveryPhone: "+359883404893"
    ~ googleworkspace:index/user:User: (update)
        [id=115526225024135087458]
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/user:User::gws-user-justin]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
      ~ orgUnitPath  : "/" => "/Model Context Protocol"
      - recoveryEmail: "justin.spahrsummers@gmail.com"
      - recoveryPhone: "+447718963452"
    ~ pulumi-nodejs:dynamic:Resource: (update)
        [id=560155411777323048]
        [urn=urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-member-sync-560155411777323048]
      ~ expectedRoleIds: [
          + [1]: "1460760670395039755"
        ]
    ~ pulumi-nodejs:dynamic:Resource: (update)
        [id=166107790262272000]
        [urn=urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-member-sync-166107790262272000]
      ~ expectedRoleIds: [
          ~ [0]: "1460760714607071465" => "1460760656226680903"
          ~ [1]: "1460760687444758623" => "1460760682076307516"
          ~ [2]: "1460760670395039755" => "1460760679064535238"
          - [3]: "1460760773134651505"
          - [4]: "1460760717434163281"
          - [5]: "1460760711796887821"
          - [6]: "1460760656226680903"
          - [7]: "1460760782605123726"
          - [8]: "1460760804134752443"
          - [9]: "1460760682076307516"
          - [10]: "1460760679064535238"
        ]
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::den@modelcontextprotocol.io-core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "den@modelcontextprotocol.io"
        groupId: [unknown]
        role   : "MEMBER"
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::david@modelcontextprotocol.io-lead-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "david@modelcontextprotocol.io"
        groupId: [unknown]
        role   : "MEMBER"
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::paul@modelcontextprotocol.io-core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "paul@modelcontextprotocol.io"
        groupId: [unknown]
        role   : "MEMBER"
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::pja@modelcontextprotocol.io-core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "pja@modelcontextprotocol.io"
        groupId: [unknown]
        role   : "MEMBER"
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::david@modelcontextprotocol.io-core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "david@modelcontextprotocol.io"
        groupId: [unknown]
        role   : "MEMBER"
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::justin@modelcontextprotocol.io-lead-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "justin@modelcontextprotocol.io"
        groupId: [unknown]
        role   : "MEMBER"
    + googleworkspace:index/groupMember:GroupMember: (create)
        [urn=urn:pulumi:prod::mcp-access::googleworkspace:index/groupMember:GroupMember::justin@modelcontextprotocol.io-core-maintainers]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:googleworkspace::default_0_7_0::31d1ad9d-5bcc-47a0-be6c-95fa9e8ef14a]
        email  : "justin@modelcontextprotocol.io"
        groupId: [unknown]
        role   : "MEMBER"
    - github:index/teamMembership:TeamMembership: (delete)
        [id=14435884:dsp-ant]
        [urn=urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-ig-financial-services]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:github::default_6_12_1::9dc4cfd7-8c80-477f-9406-ba2b0eddff00]
        role      : "member"
        teamId    : "14435884"
        username  : "dsp-ant"
    - github:index/teamMembership:TeamMembership: (delete)
        [id=14435877:dsp-ant]
        [urn=urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-security-wg]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:github::default_6_12_1::9dc4cfd7-8c80-477f-9406-ba2b0eddff00]
        role      : "member"
        teamId    : "14435877"
        username  : "dsp-ant"
    - github:index/teamMembership:TeamMembership: (delete)
        [id=14435893:dsp-ant]
        [urn=urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-python-sdk]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:github::default_6_12_1::9dc4cfd7-8c80-477f-9406-ba2b0eddff00]
        role      : "member"
        teamId    : "14435893"
        username  : "dsp-ant"
    - github:index/teamMembership:TeamMembership: (delete)
        [id=14435886:dsp-ant]
        [urn=urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-typescript-sdk]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:github::default_6_12_1::9dc4cfd7-8c80-477f-9406-ba2b0eddff00]
        role      : "member"
        teamId    : "14435886"
        username  : "dsp-ant"
    - github:index/teamMembership:TeamMembership: (delete)
        [id=14435882:dsp-ant]
        [urn=urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-transport-wg]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:github::default_6_12_1::9dc4cfd7-8c80-477f-9406-ba2b0eddff00]
        role      : "member"
        teamId    : "14435882"
        username  : "dsp-ant"
    - github:index/teamMembership:TeamMembership: (delete)
        [id=14435889:dsp-ant]
        [urn=urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-php-sdk]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:github::default_6_12_1::9dc4cfd7-8c80-477f-9406-ba2b0eddff00]
        role      : "member"
        teamId    : "14435889"
        username  : "dsp-ant"
    - github:index/teamMembership:TeamMembership: (delete)
        [id=14435896:dsp-ant]
        [urn=urn:pulumi:prod::mcp-access::github:index/teamMembership:TeamMembership::dsp-ant-go-sdk]
        [provider=urn:pulumi:prod::mcp-access::pulumi:providers:github::default_6_12_1::9dc4cfd7-8c80-477f-9406-ba2b0eddff00]
        role      : "member"
        teamId    : "14435896"
        username  : "dsp-ant"
    --outputs:--
  ~ discordRoles       : {
      ~ administrators (synced)                   : {
            guildId : "1358869848138059966"
            id      : "1460760673498959945"
            roleId  : "1460760673498959945"
            roleName: "administrators (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-administrators"
        }
      ~ agents interest group (synced)            : {
            guildId : "1358869848138059966"
            id      : "1460760693585215508"
            roleId  : "1460760693585215508"
            roleName: "agents interest group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-agents-ig"
        }
      ~ auth interest group (synced)              : {
            guildId : "1358869848138059966"
            id      : "1460760779107209370"
            roleId  : "1460760779107209370"
            roleName: "auth interest group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-auth-ig"
        }
      ~ c# sdk maintainers (synced)               : {
            guildId : "1358869848138059966"
            id      : "1460760658848252036"
            roleId  : "1460760658848252036"
            roleName: "c# sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-csharp-sdk"
        }
      ~ client implementor interest group (synced): {
            guildId : "1358869848138059966"
            id      : "1460760806584094783"
            roleId  : "1460760806584094783"
            roleName: "client implementor interest group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-client-implementor-ig"
        }
      ~ community managers (synced)               : {
            guildId : "1358869848138059966"
            id      : "1461488567162503189"
            roleId  : "1461488567162503189"
            roleName: "community managers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-community-managers"
        }
      ~ community moderators (synced)             : {
            guildId : "1358869848138059966"
            id      : "1460760656226680903"
            roleId  : "1460760656226680903"
            roleName: "community moderators (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-moderators"
        }
      ~ core maintainers (synced)                 : {
            guildId : "1358869848138059966"
            id      : "1460760682076307516"
            roleId  : "1460760682076307516"
            roleName: "core maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-core-maintainers"
        }
      ~ financial services interest group (synced): {
            guildId : "1358869848138059966"
            id      : "1460760782605123726"
            roleId  : "1460760782605123726"
            roleName: "financial services interest group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-financial-services-ig"
        }
      ~ gateways interest group (synced)          : {
            guildId : "1358869848138059966"
            id      : "1461148028646854859"
            roleId  : "1461148028646854859"
            roleName: "gateways interest group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-gateways-ig"
        }
      ~ go sdk maintainers (synced)               : {
            guildId : "1358869848138059966"
            id      : "1460760804134752443"
            roleId  : "1460760804134752443"
            roleName: "go sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-go-sdk"
        }
      ~ inspector maintainers (synced)            : {
            guildId : "1358869848138059966"
            id      : "1460760676367597740"
            roleId  : "1460760676367597740"
            roleName: "inspector maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-inspector-maintainers"
        }
      ~ java sdk maintainers (synced)             : {
            guildId : "1358869848138059966"
            id      : "1460760695821041767"
            roleId  : "1460760695821041767"
            roleName: "java sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-java-sdk"
        }
      ~ kotlin sdk maintainers (synced)           : {
            guildId : "1358869848138059966"
            id      : "1460760698316652557"
            roleId  : "1460760698316652557"
            roleName: "kotlin sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-kotlin-sdk"
        }
      ~ lead maintainers (synced)                 : {
            guildId : "1358869848138059966"
            id      : "1460760679064535238"
            roleId  : "1460760679064535238"
            roleName: "lead maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-lead-maintainers"
        }
      ~ maintainers (synced)                      : {
            guildId : "1358869848138059966"
            id      : "1460760670395039755"
            roleId  : "1460760670395039755"
            roleName: "maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-maintainers"
        }
      ~ mcp apps working group (synced)           : {
            guildId : "1358869848138059966"
            id      : "1461149104573907161"
            roleId  : "1461149104573907161"
            roleName: "mcp apps working group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-mcp-apps-wg"
        }
      ~ php sdk maintainers (synced)              : {
            guildId : "1358869848138059966"
            id      : "1460760711796887821"
            roleId  : "1460760711796887821"
            roleName: "php sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-php-sdk"
        }
      ~ primitive grouping interest group (synced): {
            guildId : "1358869848138059966"
            id      : "1471155142358339685"
            roleId  : "1471155142358339685"
            roleName: "primitive grouping interest group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-primitive-grouping-ig"
        }
      ~ python sdk maintainers (synced)           : {
            guildId : "1358869848138059966"
            id      : "1460760717434163281"
            roleId  : "1460760717434163281"
            roleName: "python sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-python-sdk"
        }
      ~ reference servers maintainers (synced)    : {
            guildId : "1358869848138059966"
            id      : "1460760661985464506"
            roleId  : "1460760661985464506"
            roleName: "reference servers maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-reference-servers-maintainers"
        }
      ~ registry maintainers (synced)             : {
            guildId : "1358869848138059966"
            id      : "1460760690611720404"
            roleId  : "1460760690611720404"
            roleName: "registry maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-registry-maintainers"
        }
      ~ ruby sdk maintainers (synced)             : {
            guildId : "1358869848138059966"
            id      : "1460760769758101595"
            roleId  : "1460760769758101595"
            roleName: "ruby sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-ruby-sdk"
        }
      ~ rust sdk maintainers (synced)             : {
            guildId : "1358869848138059966"
            id      : "1460760775705493770"
            roleId  : "1460760775705493770"
            roleName: "rust sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-rust-sdk"
        }
      ~ sdk maintainers (synced)                  : {
            guildId : "1358869848138059966"
            id      : "1460760687444758623"
            roleId  : "1460760687444758623"
            roleName: "sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-sdk-maintainers"
        }
      ~ server identity working group (synced)    : {
            guildId : "1358869848138059966"
            id      : "1460760759024750644"
            roleId  : "1460760759024750644"
            roleName: "server identity working group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-server-identity-wg"
        }
      ~ swift sdk maintainers (synced)            : {
            guildId : "1358869848138059966"
            id      : "1460760701344813136"
            roleId  : "1460760701344813136"
            roleName: "swift sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-swift-sdk"
        }
      ~ transports working group (synced)         : {
            guildId : "1358869848138059966"
            id      : "1460760773134651505"
            roleId  : "1460760773134651505"
            roleName: "transports working group (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-transport-wg"
        }
      ~ typescript sdk maintainers (synced)       : {
            guildId : "1358869848138059966"
            id      : "1460760714607071465"
            roleId  : "1460760714607071465"
            roleName: "typescript sdk maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-typescript-sdk"
        }
      ~ use-mcp maintainers (synced)              : {
            guildId : "1358869848138059966"
            id      : "1460760684643221556"
            roleId  : "1460760684643221556"
            roleName: "use-mcp maintainers (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-use-mcp-maintainers"
        }
      ~ wg/ig facilitators (synced)               : {
            guildId : "1358869848138059966"
            id      : "1466097565048246467"
            roleId  : "1466097565048246467"
            roleName: "wg/ig facilitators (synced)"
            token   : [secret]
            urn     : "urn:pulumi:prod::mcp-access::pulumi-nodejs:dynamic:Resource::discord-role-wg-ig-facilitators"
        }
    }
  ~ githubTeams        : {
      ~ auth-maintainers     : {
            createDefaultMaintainer: false
            description            : "Auth Maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"1fb13593d0bca79af8a0d1100f39b99f8df953791f2f0f21172b6e808dde5ab1\""
            id                     : "16083315"
            membersCount           : 6
            name                   : "auth-maintainers"
            nodeId                 : "T_kwDOCt2Azc4A9Wlz"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435868"
            parentTeamReadId       : "14435868"
            parentTeamReadSlug     : "working-groups"
            privacy                : "closed"
            slug                   : "auth-maintainers"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::auth-maintainers"
        }
      ~ core-maintainers     : {
            createDefaultMaintainer: false
            description            : "Core maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"82d12d4ccae049408f2e6dd5850ac8c0f1cc66fb6628cb7dbdce08ba75aba2bc\""
            id                     : "14435865"
            membersCount           : 11
            name                   : "core-maintainers"
            nodeId                 : "T_kwDOCt2Azc4A3EYZ"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "core-maintainers"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::core-maintainers"
        }
      ~ csharp-sdk           : {
            createDefaultMaintainer: false
            description            : "Official C# SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"59c703f60cf9c9b601c079f50e57c153f0237c31c3124cb4c76faa9fb41f84d4\""
            id                     : "14435898"
            membersCount           : 5
            name                   : "csharp-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EY6"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "csharp-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::csharp-sdk"
        }
      ~ docs-maintainers     : {
            createDefaultMaintainer: false
            description            : "MCP docs maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"d28b8f1853c15fc72c54da40360eb17d14d03063443ed9feee946df689312cb0\""
            id                     : "15811679"
            membersCount           : 11
            name                   : "docs-maintainers"
            nodeId                 : "T_kwDOCt2Azc4A8URf"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "docs-maintainers"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::docs-maintainers"
        }
      ~ go-sdk               : {
            createDefaultMaintainer: false
            description            : "The Go SDK Team \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"7885edc7ca8e9b086aea1f2c7f4b5fecba7c07dec7abbc10ec32c595788a3b1b\""
            id                     : "14435896"
            membersCount           : 7
            name                   : "go-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EY4"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "go-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::go-sdk"
        }
      ~ ig-financial-services: {
            createDefaultMaintainer: false
            description            : "Financial Services Interest Group \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"b18180a66f83f731c6e606c215f54b5193035d5e974c2026134b90924ea13b0a\""
            id                     : "14435884"
            membersCount           : 5
            name                   : "ig-financial-services"
            nodeId                 : "T_kwDOCt2Azc4A3EYs"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435869"
            parentTeamReadId       : "14435869"
            parentTeamReadSlug     : "interest-groups"
            privacy                : "closed"
            slug                   : "ig-financial-services"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::ig-financial-services"
        }
      ~ inspector-maintainers: {
            createDefaultMaintainer: false
            description            : "MCP Inspector maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"6f889c3e027f8affec03febdef0a1b5a80fbf93e8782c40090b6e7fd9e6884ae\""
            id                     : "14642559"
            membersCount           : 4
            name                   : "inspector-maintainers"
            nodeId                 : "T_kwDOCt2Azc4A321_"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "inspector-maintainers"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::inspector-maintainers"
        }
      ~ interest-groups      : {
            createDefaultMaintainer: false
            description            : "Interest Groups \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"433236765f4cabac4e03d6127f03a530ff91c64d39421cb3f57317aad9743cfa\""
            id                     : "14435869"
            membersCount           : 15
            name                   : "interest-groups"
            nodeId                 : "T_kwDOCt2Azc4A3EYd"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "interest-groups"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::interest-groups"
        }
      ~ java-sdk             : {
            createDefaultMaintainer: false
            description            : "Official Java SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"0bc02e530607167a800f50656a687f26d1ed52b4e174fdf9173495b25718e266\""
            id                     : "14435899"
            membersCount           : 4
            name                   : "java-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EY7"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "java-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::java-sdk"
        }
      ~ kotlin-sdk           : {
            createDefaultMaintainer: false
            description            : "Official Kotlin SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"b62218bf86b816879ef8c39f3044f060784012d6446a016c5b31f8a4b50d4fca\""
            id                     : "14435895"
            membersCount           : 7
            name                   : "kotlin-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EY3"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "kotlin-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::kotlin-sdk"
        }
      ~ lead-maintainers     : {
            createDefaultMaintainer: false
            description            : "Lead core maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"77482f3b7b078f7560a9da052ba1d0bb163a31d356558851293c4a358f0c8898\""
            id                     : "15811944"
            membersCount           : 3
            name                   : "lead-maintainers"
            nodeId                 : "T_kwDOCt2Azc4A8UVo"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "lead-maintainers"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::lead-maintainers"
        }
      ~ mcp-apps-sdk         : {
            createDefaultMaintainer: false
            description            : "Official MCP Apps SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"823f4a6b77c68e84b8590e4c04504b09c7d1108b20efc5636902d25998e77c59\""
            id                     : "15826445"
            membersCount           : 3
            name                   : "mcp-apps-sdk"
            nodeId                 : "T_kwDOCt2Azc4A8X4N"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "mcp-apps-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::mcp-apps-sdk"
        }
      ~ mcp-apps-wg          : {
            createDefaultMaintainer: false
            description            : "MCP Apps Working Group \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"db2c4f816f17c7d5a3cd6aec1e3d7eb582069cbbc933a3aef1036fe178fea500\""
            id                     : "15826444"
            membersCount           : 1
            name                   : "mcp-apps-wg"
            nodeId                 : "T_kwDOCt2Azc4A8X4M"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435868"
            parentTeamReadId       : "14435868"
            parentTeamReadSlug     : "working-groups"
            privacy                : "closed"
            slug                   : "mcp-apps-wg"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::mcp-apps-wg"
        }
      ~ mcpb-maintainers     : {
            createDefaultMaintainer: false
            description            : "MCPB (Model Context Protocol Bundle) maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"828deb105c020017ed3d9dd400774c46293d9cb7e4919cf86a2accae85ce82e1\""
            id                     : "14899069"
            membersCount           : 5
            name                   : "mcpb-maintainers"
            nodeId                 : "T_kwDOCt2Azc4A41d9"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "mcpb-maintainers"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::mcpb-maintainers"
        }
      ~ moderators           : {
            createDefaultMaintainer: false
            description            : "Community moderators \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"82cc2710bd0d35f8b4709a04ae561cc6a67243d84f4f8de5e0a42be2c049f1b7\""
            id                     : "14435866"
            membersCount           : 12
            name                   : "moderators"
            nodeId                 : "T_kwDOCt2Azc4A3EYa"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "moderators"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::moderators"
        }
      ~ php-sdk              : {
            createDefaultMaintainer: false
            description            : "Official PHP SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"ccdf3fb0dbd74a46629383ad3296cc071fdd8d2c32619f6b7195ec0e22f1217c\""
            id                     : "14435889"
            membersCount           : 9
            name                   : "php-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EYx"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "php-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::php-sdk"
        }
      ~ primitive-grouping-ig: {
            createDefaultMaintainer: false
            description            : "Primitive Grouping Interest Group \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"23758f9130ff16b4be51991db30803a2c1efac1fcde8166c9101453cef38d2cb\""
            id                     : "16220576"
            membersCount           : 3
            name                   : "primitive-grouping-ig"
            nodeId                 : "T_kwDOCt2Azc4A94Gg"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435869"
            parentTeamReadId       : "14435869"
            parentTeamReadSlug     : "interest-groups"
            privacy                : "closed"
            slug                   : "primitive-grouping-ig"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::primitive-grouping-ig"
        }
      ~ python-sdk           : {
            createDefaultMaintainer: false
            description            : "Official Python SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"4a9f5c8fc207603f88b86f1d72fe9de5f7cb3a29f9e7b4465ea5b6da92f0111d\""
            id                     : "14435893"
            membersCount           : 10
            name                   : "python-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EY1"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "python-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::python-sdk"
        }
      ~ python-sdk-auth      : {
            createDefaultMaintainer: false
            description            : "Python SDK auth code owners \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"c97b95e4772e2aaf5334e8adcd61ae7c4a4e4fa4d6421139a11de1d1e7871cbe\""
            id                     : "14435945"
            membersCount           : 2
            name                   : "python-sdk-auth"
            nodeId                 : "T_kwDOCt2Azc4A3EZp"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435893"
            parentTeamReadId       : "14435893"
            parentTeamReadSlug     : "python-sdk"
            privacy                : "closed"
            slug                   : "python-sdk-auth"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::python-sdk-auth"
        }
      ~ registry-wg          : {
            createDefaultMaintainer: false
            description            : "Official registry builders and maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"141d23e72e5a2323802560684e7da9aef97a2384566d55c009beda7d65dc8778\""
            id                     : "14435879"
            membersCount           : 4
            name                   : "registry-wg"
            nodeId                 : "T_kwDOCt2Azc4A3EYn"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435868"
            parentTeamReadId       : "14435868"
            parentTeamReadSlug     : "working-groups"
            privacy                : "closed"
            slug                   : "registry-wg"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::registry-wg"
        }
      ~ ruby-sdk             : {
            createDefaultMaintainer: false
            description            : "Official Ruby SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"7b911c3aa17d03cae6d3ab202655c3acf79fb5b0cb03485090f6a6d73a80eca3\""
            id                     : "14435891"
            membersCount           : 4
            name                   : "ruby-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EYz"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "ruby-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::ruby-sdk"
        }
      ~ rust-sdk             : {
            createDefaultMaintainer: false
            description            : "Official Rust SDK maintainers \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"fc3422213b95d0afd719470be43eafe04ecaf47193958922a28059ce15458cad\""
            id                     : "14435894"
            membersCount           : 6
            name                   : "rust-sdk"
            nodeId                 : "T_kwDOCt2Azc4A3EY2"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435871"
            parentTeamReadId       : "14435871"
            parentTeamReadSlug     : "sdk-maintainers"
            privacy                : "closed"
            slug                   : "rust-sdk"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::rust-sdk"
        }
      ~ sdk-maintainers      : {
            createDefaultMaintainer: false
            description            : "Authors and maintainers of official MCP SDKs \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   : "W/\"09d7c3b2bfb24d0f2eaa128dc6406b6f600cb9fd40b4ce1d6d9aae1a2a083a84\""
            id                     : "14435871"
            membersCount           : 52
            name                   : "sdk-maintainers"
            nodeId                 : "T_kwDOCt2Azc4A3EYf"
            notificationSetting    : "notifications_enabled"
            parentTeamId           : "14435861"
            parentTeamReadId       : "14435861"
            parentTeamReadSlug     : "steering-committee"
            privacy                : "closed"
            slug                   : "sdk-maintainers"
            urn                    : "urn:pulumi:prod::mcp-access::github:index/team:Team::sdk-maintainers"
        }
      ~ security-wg          : {
            createDefaultMaintainer: false
            description            : "Security Working Group \n(Managed by github.com/modelcontextprotocol/access)"
            etag                   :

... (truncated)

@dsp-ant dsp-ant force-pushed the add-gws-user-provisioning branch from c80c4d4 to dbd2936 Compare February 19, 2026 22:02
…, add it for BobDickinson

- a-akimov: had skipGoogleUserProvisioning but is not in a provisionUser role (DOCS_MAINTAINERS)
- BobDickinson: is in REGISTRY_MAINTAINERS (provisionUser role) but missing Google user fields
@dsp-ant dsp-ant merged commit 2de77b8 into main Feb 19, 2026
5 checks passed
@dsp-ant dsp-ant deleted the add-gws-user-provisioning branch February 19, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments