From f9f7da57fecbc33d32bdb2243354d61bc73009f0 Mon Sep 17 00:00:00 2001 From: Tadas Antanavicius Date: Sat, 30 May 2026 23:20:09 +0000 Subject: [PATCH 1/4] chore: align registry roster with WG charter Aligns GitHub teams / Discord roles / Google groups with the Registry Working Group charter (https://modelcontextprotocol.io/community/registry/charter): - Add REGISTRY_WG_COLLABORATORS role + registry-wg-collaborators GitHub team with push (not admin) on the registry repo, mirroring the typescript-sdk-collaborators model. No google config => no @modelcontextprotocol.io account (charter: Maintainer? No). - Add Preeti (Pree) Dewani (@pree-dew) as a registry collaborator. - Remove Adam Jones (@domdomegg) from REGISTRY_MAINTAINERS (he remains an active MCPB maintainer). His @modelcontextprotocol.io account is unaffected (existingGWSUser, not managed by this IaC). - Remove Toby Padilla (@toby) entirely; registry was his only maintainership. His @modelcontextprotocol.io account is likewise unaffected by this change (existingGWSUser). Co-Authored-By: Claude Opus 4.8 --- src/config/repoAccess.ts | 5 ++++- src/config/roleIds.ts | 1 + src/config/roles.ts | 8 ++++++++ src/config/users.ts | 19 ++++++++----------- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/config/repoAccess.ts b/src/config/repoAccess.ts index 54eb49d..d31d49f 100644 --- a/src/config/repoAccess.ts +++ b/src/config/repoAccess.ts @@ -250,7 +250,10 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [ }, { repository: 'registry', - teams: [{ team: 'registry-wg', permission: 'admin' }], + teams: [ + { team: 'registry-wg', permission: 'admin' }, + { team: 'registry-wg-collaborators', permission: 'push' }, + ], }, { repository: 'static', diff --git a/src/config/roleIds.ts b/src/config/roleIds.ts index a718d25..af5ac7e 100644 --- a/src/config/roleIds.ts +++ b/src/config/roleIds.ts @@ -22,6 +22,7 @@ export const ROLE_IDS = { MCPB_MAINTAINERS: 'mcpb-maintainers', REFERENCE_SERVERS_MAINTAINERS: 'reference-servers-maintainers', REGISTRY_MAINTAINERS: 'registry-maintainers', + REGISTRY_WG_COLLABORATORS: 'registry-wg-collaborators', USE_MCP_MAINTAINERS: 'use-mcp-maintainers', // =================== diff --git a/src/config/roles.ts b/src/config/roles.ts index f567321..598a835 100644 --- a/src/config/roles.ts +++ b/src/config/roles.ts @@ -138,6 +138,14 @@ export const ROLES: readonly Role[] = [ discord: { role: 'registry maintainers (synced)' }, google: { group: 'registry-wg', provisionUser: true }, }, + { + id: ROLE_IDS.REGISTRY_WG_COLLABORATORS, + description: 'Registry working group collaborators', + github: { team: 'registry-wg-collaborators', parent: ROLE_IDS.REGISTRY_MAINTAINERS }, + discord: { role: 'registry collaborators (synced)' }, + // Collaborators get push (not admin) on the registry repo and are not maintainers. + // Mirrors the typescript-sdk-collaborators model. No google config = no @modelcontextprotocol.io account. + }, { id: ROLE_IDS.USE_MCP_MAINTAINERS, description: 'use-mcp maintainers', diff --git a/src/config/users.ts b/src/config/users.ts index 4d16494..acc3277 100644 --- a/src/config/users.ts +++ b/src/config/users.ts @@ -198,7 +198,7 @@ export const MEMBERS: readonly Member[] = [ lastName: 'Jones', googleEmailPrefix: 'adam', existingGWSUser: true, - memberOf: [ROLE_IDS.MCPB_MAINTAINERS, ROLE_IDS.REGISTRY_MAINTAINERS], + memberOf: [ROLE_IDS.MCPB_MAINTAINERS], }, { github: 'dsp', @@ -641,6 +641,13 @@ export const MEMBERS: readonly Member[] = [ lastName: 'Senthilnathan', memberOf: [ROLE_IDS.CSHARP_SDK], }, + { + github: 'pree-dew', + discord: '1379733751315173376', + firstName: 'Preeti', + lastName: 'Dewani', + memberOf: [ROLE_IDS.REGISTRY_WG_COLLABORATORS], + }, { github: 'pronskiy', memberOf: [ROLE_IDS.PHP_SDK], @@ -746,16 +753,6 @@ export const MEMBERS: readonly Member[] = [ discord: '865072069779521556', memberOf: [ROLE_IDS.REFERENCE_SERVERS_MAINTAINERS], }, - { - github: 'toby', - email: 'toby@modelcontextprotocol.io', - discord: '560155411777323048', - firstName: 'Toby', - lastName: 'Padilla', - googleEmailPrefix: 'toby', - existingGWSUser: true, - memberOf: [ROLE_IDS.MAINTAINERS, ROLE_IDS.REGISTRY_MAINTAINERS], - }, { github: 'topherbullock', discord: '1059910719124013168', From 24f25742e782b85fed80a91797ba20160aea4ff3 Mon Sep 17 00:00:00 2001 From: Tadas Antanavicius Date: Sat, 30 May 2026 23:39:53 +0000 Subject: [PATCH 2/4] chore: drop discord config and inline comments from collaborators role Co-Authored-By: Claude Opus 4.8 --- src/config/roles.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/config/roles.ts b/src/config/roles.ts index 598a835..d38e2d0 100644 --- a/src/config/roles.ts +++ b/src/config/roles.ts @@ -142,9 +142,6 @@ export const ROLES: readonly Role[] = [ id: ROLE_IDS.REGISTRY_WG_COLLABORATORS, description: 'Registry working group collaborators', github: { team: 'registry-wg-collaborators', parent: ROLE_IDS.REGISTRY_MAINTAINERS }, - discord: { role: 'registry collaborators (synced)' }, - // Collaborators get push (not admin) on the registry repo and are not maintainers. - // Mirrors the typescript-sdk-collaborators model. No google config = no @modelcontextprotocol.io account. }, { id: ROLE_IDS.USE_MCP_MAINTAINERS, From 6d74269648108db7ed233735b40bc523f08d16a5 Mon Sep 17 00:00:00 2001 From: Tadas Antanavicius Date: Sun, 31 May 2026 02:03:30 +0000 Subject: [PATCH 3/4] chore: annotate registry collaborators role id as GitHub only Matches the typescript-sdk-collaborators convention in roleIds.ts. Co-Authored-By: Claude Opus 4.8 --- src/config/roleIds.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/roleIds.ts b/src/config/roleIds.ts index af5ac7e..d32953f 100644 --- a/src/config/roleIds.ts +++ b/src/config/roleIds.ts @@ -22,7 +22,7 @@ export const ROLE_IDS = { MCPB_MAINTAINERS: 'mcpb-maintainers', REFERENCE_SERVERS_MAINTAINERS: 'reference-servers-maintainers', REGISTRY_MAINTAINERS: 'registry-maintainers', - REGISTRY_WG_COLLABORATORS: 'registry-wg-collaborators', + REGISTRY_WG_COLLABORATORS: 'registry-wg-collaborators', // GitHub only USE_MCP_MAINTAINERS: 'use-mcp-maintainers', // =================== From a4a8ded34434e86482d2e292ed426fc036bccf0f Mon Sep 17 00:00:00 2001 From: Tadas Antanavicius Date: Sun, 31 May 2026 02:08:57 +0000 Subject: [PATCH 4/4] chore: keep Toby as registry emeritus with empty role membership Instead of removing Toby Padilla's access entry entirely, retain it with an empty memberOf and a comment noting he is an emeritus maintainer of the Registry. Co-Authored-By: Claude Opus 4.8 --- src/config/users.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/config/users.ts b/src/config/users.ts index acc3277..941635c 100644 --- a/src/config/users.ts +++ b/src/config/users.ts @@ -753,6 +753,17 @@ export const MEMBERS: readonly Member[] = [ discord: '865072069779521556', memberOf: [ROLE_IDS.REFERENCE_SERVERS_MAINTAINERS], }, + { + github: 'toby', + email: 'toby@modelcontextprotocol.io', + discord: '560155411777323048', + firstName: 'Toby', + lastName: 'Padilla', + googleEmailPrefix: 'toby', + existingGWSUser: true, + // Emeritus maintainer of the Registry + memberOf: [], + }, { github: 'topherbullock', discord: '1059910719124013168',