modelcontextprotocol/access: The GitOps Approach to Open Source Identity

How the fastest-growing AI protocol uses Pulumi and TypeScript to turn cross-platform community management into a single pull request.

8 min read • View on GitHub • More from modelcontextprotocol

A vintage telephone switchboard operator tangled in cords. This represents the manual chaos of managing open-source access across multiple platforms.
Managing open-source identity across platforms traditionally relies on clicking through fragmented SaaS dashboards.
Key Takeaways

The Human Bottleneck of Open Source

The tech world has focused heavily on what the Model Context Protocol actually does. Acting as a universal connector for AI agents, it solves the integration nightmare of custom glue code. But the modelcontextprotocol/access repository reveals a different story: how the organization survives its own hyper-growth.

When a new core maintainer joins a booming open-source project, the administrative tasks pile up. Someone must manually invite them to the GitHub organization, add them to specific repositories, create a Discord role, and provision a professional email address. This fragmented process creates a severe bottleneck.

The Pull Request as an IT Department

The solution lies in opt-in provisioning. The repository uses a central configuration file to act as a declarative IT ticket. Merging a pull request triggers a fully automated deployment pipeline.

{
  github: 'dsp-ant',
  discord: '166107790262272000',
  googleEmailPrefix: 'david',
  memberOf: [ROLE_IDS.LEAD_MAINTAINERS],
}

Adding a single object to src/config/users.ts initiates the entire sequence. The system detects the Google email prefix and automatically triggers the creation of a real Google Workspace account using Pulumi upon merge.

Provisioning the Unprovisionable

Translating this configuration into reality requires heavy lifting. The codebase uses Pulumi to generate 24-character passwords, hash them with SHA-1 for Google's Admin SDK, and export them safely as encrypted secrets.

A bank vault door mechanism driven by punched cards. This illustrates declarative code acting as the ultimate security and access gate.
Infrastructure as Code ensures that access rules are rigidly enforced by a single source of truth.

Discord presents a unique challenge. Because no robust official Pulumi provider exists for all Discord features, the project implements a custom Pulumi Dynamic Resource Provider. This custom code handles REST API exponential backoff and jitter to defeat Discord's aggressive rate limiting.

The Post-Dashboard Era

Manual SaaS dashboards are security risks. They lack clear audit trails and rely on shared admin credentials. Declarative, PR-driven access protected by repository owners provides a blueprint for sovereign open-source organizations.

FeatureTraditional ManagementGitOps Approach (MCP)
OnboardingManual clicks across 3 dashboards1 atomic Pull Request
AuditabilityFragmented SaaS logsGit commit history
Sync StateAd-hoc and prone to driftGuaranteed atomic state via Pulumi