Skip to content

Add Google Workspace user account provisioning - #66

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

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

Conversation

@dsp-ant

Copy link
Copy Markdown
Member

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

FileChange
src/config/roles.tsAdded provisionUser to GoogleConfig, set on 3 roles
src/config/utils.tsAdded firstName, lastName, googleEmailPrefix, existingGWSUser to Member
src/config/users.tsAdded profile fields for 6 existing GWS users
src/google.tsUser provisioning, import logic, password export, orgUnitPath
scripts/validate-config.tsValidation for googleEmailPrefix uniqueness and completeness
scripts/test-config.ts4 new tests for provisioning fields
package.jsonAdded @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)

@github-actions

github-actionsBot commented Feb 17, 2026

Copy link
Copy Markdown

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-antforce-pushed the add-gws-user-provisioning branch from c80c4d4 to dbd2936CompareFebruary 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 mainFeb 19, 2026
5 checks passed
@dsp-ant
dsp-ant deleted the add-gws-user-provisioning branch February 19, 2026 22:17
olaservo added a commit to olaservo/access that referenced this pull request Aug 11, 2026
Oluwatobi Oyewole has been contributing to experimental-ext-skills
(PR modelcontextprotocol#116, triage on issues modelcontextprotocol#66/modelcontextprotocol#85).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: olaservo <olahungerford@gmail.com>
Sign up for freeto 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

@dsp-ant