Commit graph

255 commits

Author SHA1 Message Date
dependabot[bot]
65668ebb03
Bump the npm_and_yarn group across 1 directory with 8 updates (#143)
Bumps the npm_and_yarn group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@grpc/grpc-js](https://github.com/grpc/grpc-node) | `1.14.3` | `1.14.4` |
| [@sigstore/core](https://github.com/sigstore/sigstore-js) | `3.1.0` | `3.2.1` |
| [@sigstore/verify](https://github.com/sigstore/sigstore-js) | `3.1.0` | `3.1.1` |
| [ip-address](https://github.com/beaugunderson/ip-address) | `10.1.0` | `10.2.0` |
| [minimatch](https://github.com/isaacs/minimatch) | `10.1.2` | `10.2.5` |
| [sigstore](https://github.com/sigstore/sigstore-js) | `4.1.0` | `4.1.1` |
| [tar](https://github.com/isaacs/node-tar) | `7.5.7` | `7.5.19` |
| [tmp](https://github.com/raszi/node-tmp) | `0.2.5` | `0.2.7` |



Updates `@grpc/grpc-js` from 1.14.3 to 1.14.4
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.14.3...@grpc/grpc-js@1.14.4)

Updates `@sigstore/core` from 3.1.0 to 3.2.1
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/core@3.2.1)

Updates `@sigstore/verify` from 3.1.0 to 3.1.1
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/verify@3.1.1)

Updates `ip-address` from 10.1.0 to 10.2.0
- [Commits](https://github.com/beaugunderson/ip-address/compare/v10.1.0...v10.2.0)

Updates `minimatch` from 10.1.2 to 10.2.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.1.2...v10.2.5)

Updates `sigstore` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@4.1.0...sigstore@4.1.1)

Updates `tar` from 7.5.7 to 7.5.19
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.7...v7.5.19)

Updates `tmp` from 0.2.5 to 0.2.7
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: "@grpc/grpc-js"
  dependency-version: 1.14.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: "@sigstore/core"
  dependency-version: 3.2.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: "@sigstore/verify"
  dependency-version: 3.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ip-address
  dependency-version: 10.2.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: minimatch
  dependency-version: 10.2.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: sigstore
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tar
  dependency-version: 7.5.19
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-07-02 19:23:50 -07:00
claude[bot]
a4c81501ec
Skip Preview workflow for Dependabot PRs (#144)
Dependabot-triggered runs read from the Dependabot secrets store, which
is empty, so the Google Cloud auth step receives an empty credential and
fails. Skip the preview job for Dependabot; CI still validates those PRs.

Also guard the PR comment step so it doesn't post 'Failed to read
preview output' when the preview step never ran.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-02 19:22:26 -07:00
claude[bot]
ef304d5573
Commit stub SDK manifest so Dependabot can resolve the file: dependency (#142)
Dependabot's npm updater fetches manifests directly from git and aborts on
every run because package.json declares
"@pulumi/googleworkspace": "file:sdks/googleworkspace" while sdks/ is
gitignored and only materialized by `pulumi install`.

Keep the generated SDK sources ignored, but commit
sdks/googleworkspace/package.json (name/version/dependencies matching the
existing package-lock.json entry) so the path dependency resolves from the
git tree. `pulumi install` removes and regenerates the whole SDK directory
before npm ci in CI, so CI behavior is unchanged.

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-07-02 19:04:10 -07:00
claude[bot]
b6e4b13668
Declare org website URL in org settings (#138)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-07-02 19:01:47 -07:00
claude[bot]
16701aaa2d
Remove one-time #133 state-repair block and stale TEMP state delete (#141)
The "Verify GroupMember state healed (TEMP, #133)" step passed on deploy
run 28624873606 (attempt 4), meeting the documented removal criterion for
the one-time state surgery added in #139. Also removes the stale TEMP
pulumi state delete for experimental-ext-tasks (#125), whose
one-successful-deploy condition was met on 6/30.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-03 01:21:28 +00:00
claude[bot]
5917af2589
Declare allowExternalMembers on managed groups so deploys stop re-arming the external-member purge (#140)
* Declare allowExternalMembers on managed group settings

Every pulumi up was resetting the Google Workspace per-group setting
ALLOW_EXTERNAL_MEMBERS to false on all managed groups, because the
GroupSettings resources never declared allowExternalMembers and the
provider (SamuZad/googleworkspace 0.11.1) defaults the field to false.
Google then silently purges external-email members from affected groups
roughly 1-2 days after each apply, with no audit events.

Pin the setting to true for all managed groups. External membership
itself remains governed exclusively by config/users.ts entries; this
setting only permits it.

Part of the #133 incident.

* Scope allowExternalMembers per group, derived from membership config

Instead of permitting external members on every managed group, derive
allowExternalMembers per group: true only for groups whose membership
config (config/users.ts) resolves at least one member to a
non-@modelcontextprotocol.io email. Email resolution is factored into
resolveGoogleMemberEmail and shared with GroupMember creation so the
two cannot drift. The field stays declared on every group because the
provider defaults it to false on each apply, after which Google
silently purges external members (#133 incident).

With current config, exactly these groups derive true: maintainers,
registry-wg, antitrust, catch-all. A config test pins this set so
changes to it are always deliberate.

* Make allowExternalMembers an explicit per-role opt-in with config validation

Replace the derived per-group allowExternalMembers (computed from
membership config) with an explicit opt-in: group owners set
allowExternalMembers: true on the role's google config in
src/config/roles.ts, and src/google.ts passes it straight through to
GroupSettings (defaulting to false). The field stays declared on every
group because the provider resets an omitted field to false on each
apply, after which Google silently purges external members (#133).

Roles opting in, matching current membership: maintainers,
registry-maintainers (registry-wg), antitrust, catch-all.

A validate-config check replaces the old pinned-set test: it fails with
an actionable error whenever a group has a member resolving to a
non-@modelcontextprotocol.io email but its role does not opt in, naming
the group, the member email, and the exact config line to add.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-03 01:19:16 +00:00
claude[bot]
89cb9de125
Repair corrupted GroupMember state so deploys stop failing (#139)
* Repair corrupted GroupMember state so deploys stop failing (#133)

Every Deploy to Production run since 2026-06-30 aborts about a minute
in with "googleapi: Error 409: Member already exists" and merged
changes (e.g. #134, #137) never apply. Two external-email GroupMember
records in the maintainers group are recorded in state with an empty
member ID ("groups/04f1mdlm38smb30/members/"), so each pulumi up plans
a create-before-delete replace whose create conflicts with the live
membership and fails the whole update. Five other records corrupted at
the same time were already healed by the 2026-07-02 deploy run.

Add a one-time TEMP block to the deploy workflow (same precedent as the
auth-maintainers repair and the experimental-ext-tasks state delete):
drop the two broken records, then re-import each membership by member
email so the provider records the numeric member ID. All commands are
|| true-guarded, and the block must be removed after one successful
deploy.

Fixes #133

Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NazA3QKftRn72tdPG5vrpb

* Widen state repair to all seven corrupted GroupMember records (#133)

* Replace per-URN state deletes with export surgery; verify healing post-deploy (#133)

The committed repair used 'pulumi state delete <urn>' per record, but the
failed create-before-delete replaces left duplicate same-URN entries (a
live record plus a pending-delete leftover) for some of the seven
corrupted GroupMember records. 'pulumi state delete' fails on an
ambiguous URN, and the '|| true' guard hid that failure, making the
repair a silent no-op.

- Replace the per-URN deletes with state surgery: export the stack,
  drop every entry (including pending-delete duplicates) whose URN is
  one of the seven with jq, and re-import. Unguarded, so a surgery
  failure is loud; skips the import when nothing matches (idempotent).
- Keep the seven imports-by-email ('|| true' so a not-currently-live
  membership falls back to a create instead of blocking the deploy).
- Add a post-deploy verification step that fails if any GroupMember
  record still has an empty member ID or a duplicate URN. The pinned
  provider (SamuZad/googleworkspace 0.11.1) writes an empty member ID
  even on successful creates (fixed upstream in 0.11.2), so a green
  'make up' alone does not prove healing; the TEMP block must only be
  removed after this verification step passes.
- Correct the root-cause comment: Google-side membership removals ->
  refresh dropped the records -> re-create -> provider create bug wrote
  empty IDs.

* Bump googleworkspace provider 0.11.1 -> 0.11.2 (#133)

0.11.2 carries upstream commit "handle edge case with group
memberships" (SamuZad/terraform-provider-googleworkspace, 2026-03-12),
which fixes the create-path bug that stores an empty member ID for
external-email group members — the bug that corrupted the seven records
repaired by the TEMP block in deploy.yml and that would re-corrupt any
record restored via the fallback create path. CI regenerates the SDK
from this pin via 'pulumi install' and typechecks against it.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-02 15:12:31 -07:00
claude[bot]
bcfc49fbb5
Record existing GWS accounts for ajribeiro and ochafik (#137)
Both Workspace accounts (ajr@ and ochafik@modelcontextprotocol.io) were
created manually in Google Workspace; mark them with existingGWSUser so
Pulumi skips creating the User resources.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-02 11:21:25 -07:00
Cliff Hall
721b95a943
Give inspector-maintainers admin access on inspector repo (#134)
Elevates the inspector-maintainers team from push to admin on the
inspector repository, in parity with the SDK teams and the
reference-servers-maintainers team, which hold admin on the repos
they own.


Claude-Session: https://claude.ai/code/session_01W6EqMj921DKTJJtiPpCGNE

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 19:04:58 +01:00
Tadas Antanavicius
b999f7011c
Add appeals@ Google Group for Code of Conduct ban appeals (#123)
Adds appeals@modelcontextprotocol.io as an email Google Group so banned
or external users have an out-of-band channel to appeal Code of Conduct
actions even after an org-level GitHub block. Mirrors the existing
antitrust@/catch-all@ email-group setup (isEmailGroup, no new GoogleConfig
fields).

Membership is curated explicitly (like the antitrust@ members) to the
current moderators and active lead maintainers, rather than derived from
the MODERATORS/LEAD_MAINTAINERS roles, since those roles include emeritus
and former members who should not receive appeals.

Co-authored-by: Tadas Antanavicius <tadas@modelcontextprotocol.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-06-30 11:11:20 +01:00
Mike Kistler
7d758c528e
Add David Ortinau with CSHARP_SDK and CSHARP_SDK_ADMIN roles (#127) 2026-06-29 16:40:21 +01:00
David Soria Parra
93edb2570d
ci: temp state delete for renamed experimental-ext-tasks repo (#126)
The repo was renamed to ext-tasks in #125, but Pulumi state still holds
the old RepositoryCollaborators resource. The first 'pulumi up' (which
runs before refresh) tries to delete it and 404s, blocking all deploys.

Drop it from state explicitly before 'make up'. Idempotent via '|| true';
remove this line after one successful deploy.
2026-06-25 20:14:46 +01:00
Den Delimarsky
a737bd72b1
Update repoAccess for experimental-ext-tasks rename to ext-tasks (#125) 2026-06-24 11:00:53 -07:00
Den Delimarsky
4edb39d62d
Add ddworken and OctavianGuzu as admins on python-sdk and typescript-sdk (#124) 2026-06-24 10:18:39 -07:00
Ola Hungerford
5c402e31af
Add olaservo to interceptors-wg (#122)
* Add evalstate and cliffhall to docs-maintaners team

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat(users): add olaservo to interceptors-wg

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-06-17 14:25:18 -07:00
Paul Carleton
9d584ea6cf Suppress googleworkspace permadiffs in preview output
- GroupSettings: ignoreChanges on isArchived (upstream
  hashicorp/terraform-provider-googleworkspace#398)
- OrgUnit: drop the stale import option; it was only needed for the
  initial adopt and now triggers a re-compare on every preview
2026-06-17 11:07:13 -07:00
Kurtis Van Gent
56df7dae4c
feat(users): add Transports Working Group members to transport-wg (#117) 2026-06-16 20:13:33 +00:00
Felix Weinberger
a9c40db421 Add felixweinberger and maxisbey as admins on access repo 2026-06-12 15:02:12 +01:00
Felix Weinberger
5840f3599e Add maxisbey to typescript-sdk-collaborators 2026-06-12 14:41:19 +01:00
Sambhav Kothari
33d099c217
Add sambhav to skills IG (#118)
* Add sambhav to skills IG

* Format memberOf array for better readability

* Fix formatting in users.ts for ROLE_IDS
2026-06-09 14:01:50 +01:00
Olivier Chafik
900bad98eb Add example-remote-server repository access
example-remote-server was missing from the repository access config, so
with the org default repository permission set to 'none', no team had
write access to it. Add it alongside its sibling example-remote-client,
mirroring the team grants used for ext-apps (the apps surface these
example servers belong to): core-maintainers push, moderators maintain,
mcp-apps-wg push, mcp-apps-sdk admin.
2026-06-05 10:54:35 -07:00
Tadas Antanavicius
448f401995
chore: align registry roster with WG charter (#115)
* 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 <noreply@anthropic.com>

* chore: drop discord config and inline comments from collaborators role

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* 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 <noreply@anthropic.com>

* 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 <noreply@anthropic.com>

* chore: rename registry collaborators team to registry-collaborators

Drops the '-wg' infix for consistency: GitHub team slug
'registry-wg-collaborators' -> 'registry-collaborators' and the role id
constant REGISTRY_WG_COLLABORATORS -> REGISTRY_COLLABORATORS, keeping the
constant and slug mirrored as with typescript-sdk-collaborators.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Tadas Antanavicius <tadas@modelcontextprotocol.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 13:53:52 +01:00
Mike Kistler
09a270db7a
Add PranavSenthilnathan to csharp-sdk team (#114) 2026-05-26 20:20:51 +00:00
Yaroslav
a2d26c7670
update go SDK maintainers list (#113) 2026-05-26 21:19:34 +01:00
Kurtis Van Gent
f3d919d5dd
feat: add Google Workspace account for kurtisvg (#112) 2026-05-06 23:43:33 +01:00
David Soria Parra
48b3463f65
feat: remove pwwpche from CORE_MAINTAINERS (moved to emeritus) (#111) 2026-05-06 14:26:42 +01:00
Leonid Stashevsky
1440d465f8 Drop kpavlov from the kotlin sdk roles 2026-05-04 08:37:09 -07:00
Paul Carleton
65b5a43451
Manage GitHub org settings and org-role assignments via Pulumi (#107)
* Manage GitHub org settings and org-role assignments via Pulumi

Brings two click-ops org-level configs under IaC and tightens defaults:

- OrganizationSettings: default_repository_permission read -> none so
  private repos are not implicitly readable by every member; repo
  creation restricted to admins; billingEmail from Pulumi secret;
  security new-repo defaults pinned so the provider does not reset them.
- Org-role assignments: codify lead/core-maintainers -> all_repo_admin.
  moderators -> all_repo_triage and anthropic -> all_repo_write are
  intentionally omitted (being removed).

* Fix config namespace: use project namespace for githubBillingEmail

The github: namespace is reserved for the @pulumi/github provider's own
config keys, so github:billingEmail was rejected as an unknown provider
option. Use the project default namespace instead. preview.yml uses the
same --config flag pattern as the existing Discord secrets.
2026-04-30 13:30:54 +00:00
David Soria Parra
945668a063
feat: add Agents Working Group with experimental-ext-tasks access (#109)
Creates the agents-wg role and corresponding GitHub team under working-groups,
adds Caitie, David, Luca, and Peter Alexander as members, and grants the team
admin access to the experimental-ext-tasks repository.
2026-04-30 14:11:37 +01:00
Felix Weinberger
817bd3485c
feat: add Google Workspace accounts for felixweinberger and maxisbey (#106) 2026-04-29 11:45:20 +01:00
Ukjae Jeong
c4b71321ea
Add @jeongukjae to interceptors working group (#103)
* Add details for myself

* Update users.ts

* Update users.ts
2026-04-28 16:47:51 +01:00
Den Delimarsky
031692fb76 Add caseychow-oai to File Uploads WG
Casey is the author of SEP-2631 (File Objects and Transfer), see
modelcontextprotocol/modelcontextprotocol#2631.

🏠 Remote-Dev: homespace
2026-04-23 23:52:39 -07:00
Den Delimarsky
d69a4e91b8 Add File Uploads Working Group role and initial members
Creates the file-uploads-wg GitHub team (under working-groups) and the
matching Discord role. Initial members: localden (Lead), nickcoai,
ochafik. See charter PR modelcontextprotocol#2635.

🏠 Remote-Dev: homespace
2026-04-23 23:42:51 -07:00
Kurt Degiorgio
1b3c1c8a89
Update details in users.ts for Kurt Degiorgio (#102)
* Update  details in users.ts for Kurt Degiorgio

* Update users.ts

* Update users.ts
2026-04-22 12:09:52 +01:00
Sambhav Kothari
616a4f8ed6
Add the interceptors WG and set up the permissions appropriately (#98)
* Add INTERCEPTORS_WG role ID

* Add Interceptors Working Group role configuration

* Add repository access configuration for interceptors

* Add user to INTERCEPTORS_WG role
2026-04-21 23:32:31 +01:00
David Soria Parra
c193ff654b
Self-heal Discord role sync on refresh
When a member wasn't in the guild at create() time (or drifted afterwards),
read() only reported the drift. Pulumi would not trigger update() because
the inputs hadn't changed, so the member stayed permanently out of sync.

Call syncMemberRoles() directly from read() when drift is detected so roles
are applied on the next refresh without needing an input change.
2026-04-21 14:44:56 +01:00
Sam Morrow
183e9db575
feat: add Google Workspace account for SamMorrowDrums (#101)
Add firstName, lastName, and googleEmailPrefix fields to provision
sam@modelcontextprotocol.io Google Workspace account.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-20 22:50:43 +01:00
David Soria Parra
68c99319af
Add server-card-wg and make SamMorrowDrums a maintainer
Adds SERVER_CARD_WG working group with GitHub team and Discord role.
Adds Sam to MAINTAINERS and SERVER_CARD_WG, and adds tadasant and dsp-ant
to SERVER_CARD_WG.
2026-04-14 14:07:56 +01:00
Peter Alexander
ccf0ecec24
Grant triggers-events-wg access to experimental-ext-triggers-events (#97) 2026-04-11 07:57:10 -07:00
Maciej Kisiel
c1fb6a1ca5
Add yarolegovich and guglielmo-san to Go SDK team (#92)
* Add yarolegovich to Go SDK team

Yaroslav is part of our team that maintains the SDK repository.

* Add Guglielmo
2026-04-08 16:33:12 +01:00
David Soria Parra
5baac7ca7e
Add Den to lead maintainers 2026-04-07 19:43:03 +01:00
Clare Liguori
161910e80b
Add Clare to core maintainers (#96) 2026-04-06 17:11:38 -07:00
David Soria Parra
5120a8fe7a
Add Discord ID for halter73 2026-03-31 00:06:13 +01:00
David Soria Parra
73a3d2af17
Add Clare Liguori to Triggers & Events WG and maintainers 2026-03-30 11:56:03 +01:00
David Soria Parra
8b82530a5c
Add moderators@ Google Workspace group with user provisioning 2026-03-27 19:31:56 +00:00
David Soria Parra
ea91b4e994
Remove jerome3o-anthropic and maheshmurag from moderators 2026-03-27 19:28:12 +00:00
David Soria Parra
17df1703ce
Add community-moderators repo restricted to moderators and core-maintainers 2026-03-27 19:14:11 +00:00
Peter Alexander
bd085c64fa
Add Triggers & Events Working Group (#90) 2026-03-25 15:12:12 -07:00
Den Delimarsky
a0dd148d65
Add typescript-sdk-collaborators team with push access to TS SDK repo (#89)
- New GitHub team typescript-sdk-collaborators (child of typescript-sdk)
- Grant push permission on modelcontextprotocol/typescript-sdk
- Add poteat as initial member

🏠 Remote-Dev: homespace
2026-03-24 13:27:35 -07:00
Den Delimarsky
e014aa7c4e
Add reference-servers-maintainers GitHub team with admin on servers repo (#88)
- Expand REFERENCE_SERVERS_MAINTAINERS role (previously Discord-only) to
  create a GitHub team
- Grant the team admin permission on modelcontextprotocol/servers
- Add tobinsouth as a new member

Existing members cliffhall and olaservo will also be added to the new
GitHub team.

🏠 Remote-Dev: homespace
2026-03-24 12:33:55 -07:00