access
MCP ServerFreeInfrastructure as Code for MCP access management
Capabilities10 decomposed
declarative infrastructure-as-code configuration for identity and access management
Medium confidenceDefines a strictly-typed TypeScript configuration layer (src/config/) that serves as a single source of truth for identity and access control across GitHub, Google Workspace, and Discord. The configuration uses a declarative model where members, roles, and repository access levels are expressed as TypeScript objects, which are then validated for schema correctness and referential integrity before being transformed into platform-specific resources via Pulumi providers. This approach enables peer review of all access changes through Pull Requests and prevents configuration drift across multiple platforms.
Uses a strictly-typed TypeScript configuration layer (src/config/) with compile-time type safety and referential integrity validation, rather than YAML or JSON-based IaC that relies on runtime validation. The configuration is transformed into platform-specific resources through Pulumi providers, enabling a unified abstraction over heterogeneous platforms (GitHub, Google Workspace, Discord).
Provides stronger type safety and IDE support than YAML-based IaC tools like Terraform or CloudFormation, while maintaining the auditability and peer-review benefits of infrastructure-as-code through Git-based workflows.
github team and repository permission synchronization via pulumi
Medium confidenceAutomatically provisions and synchronizes GitHub teams and repository permissions by translating declarative configuration into github.Team and github.TeamMembership Pulumi resources. The system reads member and role definitions from the configuration layer, maps them to GitHub team structures, and uses the GitHub Pulumi provider to create/update teams, manage memberships, and enforce repository access levels. Changes are previewed via pulumi preview before being applied, enabling safe deployments with rollback capability.
Uses Pulumi's GitHub provider to manage teams and memberships as first-class infrastructure resources with state tracking and preview capabilities, rather than shell scripts or GitHub CLI commands. This enables safe, auditable deployments with automatic rollback on failure and full Git-based change history.
Provides safer deployments than GitHub CLI scripts because Pulumi tracks state and can detect drift, while offering better auditability than manual GitHub UI changes through declarative configuration and Git history.
google workspace user provisioning and email group management via pulumi
Medium confidenceAutomatically provisions @modelcontextprotocol.io email accounts and manages Google Workspace groups by translating configuration into googleworkspace.User and googleworkspace.Group Pulumi resources. The system reads member definitions with Google Workspace prefixes from configuration, creates user accounts with standardized email addresses, and manages group memberships. Validation ensures that Google Workspace prefixes are globally unique across the configuration to prevent email conflicts. The Pulumi provider handles API interactions with Google Workspace, including account creation, group assignment, and lifecycle management.
Enforces Google Workspace prefix uniqueness through configuration-time validation (scripts/validate-config.ts) before provisioning, preventing email conflicts at the source rather than handling them reactively. Uses Pulumi's Google Workspace provider to manage user and group resources with state tracking, enabling safe deployments and drift detection.
Provides stronger validation and conflict prevention than manual Google Workspace admin console management, while offering better auditability than shell scripts through Pulumi's state tracking and declarative configuration.
discord role synchronization with organizational membership
Medium confidenceAutomatically synchronizes Discord server roles with organizational membership by translating role definitions into Discord role assignments via Pulumi. The system reads member and role definitions from configuration, maps them to Discord roles, and uses the Discord Pulumi provider to assign/revoke roles. This ensures that Discord server roles remain aligned with the authoritative organizational structure defined in configuration, preventing manual role management drift.
Treats Discord role assignments as infrastructure resources managed through Pulumi, enabling state tracking and drift detection rather than one-off bot commands. This approach ensures that Discord roles remain synchronized with the authoritative configuration even if manual changes are made in the Discord UI.
Provides better auditability and synchronization guarantees than Discord bots that only respond to commands, while maintaining the flexibility of Pulumi's infrastructure-as-code approach.
configuration validation with schema enforcement and referential integrity checking
Medium confidenceValidates all configuration changes before deployment by running a suite of validation scripts (scripts/validate-config.ts) that enforce schema correctness, referential integrity, and business rules. The validation layer checks that all member IDs exist, roles are correctly assigned, Google Workspace prefixes are globally unique, and repository access configurations reference valid teams and repositories. Validation runs automatically in CI/CD (GitHub Actions) on Pull Requests, preventing invalid configurations from being merged. The system uses TypeScript's strict type system to catch errors at compile time, supplemented by runtime validation for cross-entity constraints.
Combines compile-time TypeScript type checking with runtime validation scripts that enforce cross-entity constraints (e.g., Google Workspace prefix uniqueness, member ID existence). This two-layer approach catches both structural errors and business logic violations before deployment.
Provides stronger validation than JSON Schema alone because TypeScript's type system catches structural errors at compile time, while runtime scripts enforce domain-specific rules that would require custom JSON Schema extensions.
pulumi state management with google cloud storage backend
Medium confidenceManages Pulumi infrastructure state using a Google Cloud Storage (GCS) backend instead of local state files, enabling safe multi-user deployments and state recovery. The Pulumi project is configured (Pulumi.yaml) to use a GCS bucket as the remote state backend, which stores the current state of all provisioned resources (GitHub teams, Google Workspace users, Discord roles). This enables multiple team members to deploy changes safely without state conflicts, provides automatic backups, and allows state inspection and recovery if deployments fail. The GCS backend is authenticated via Google Cloud SDK credentials.
Uses GCS as a remote state backend rather than local files or Pulumi's managed service, providing organization-specific control over state storage and backup policies. This approach is particularly suitable for open-source communities that want to avoid vendor lock-in while maintaining safe multi-user deployments.
Provides better multi-user safety than local Pulumi state files (which can cause conflicts), while offering more control than Pulumi's managed backend service (which stores state in Pulumi's infrastructure).
automated infrastructure deployment via github actions ci/cd
Medium confidenceAutomatically deploys infrastructure changes to GitHub, Google Workspace, and Discord when configuration is merged to the main branch using GitHub Actions workflows. The CI/CD pipeline (defined in .github/workflows/) runs pulumi up on the main branch, which applies all pending infrastructure changes. Pull Requests trigger pulumi preview to show what changes will be deployed, enabling reviewers to understand the impact before approving. The workflow is authenticated via GitHub secrets containing Pulumi credentials, Google Cloud credentials, and platform-specific API tokens, ensuring secure credential management without exposing secrets in the repository.
Integrates Pulumi deployments directly into GitHub Actions workflows, enabling preview-on-PR and automatic-on-merge patterns without requiring external CI/CD systems. This approach leverages GitHub's native workflow system and secret management, reducing operational overhead.
Simpler to set up than external CI/CD systems (Jenkins, GitLab CI) because it uses GitHub's native Actions, while providing better auditability than manual Pulumi CLI deployments through workflow logs and Git history.
member registry and role definition management
Medium confidenceMaintains a centralized member registry and role definitions that serve as the authoritative source for all identity and access decisions across platforms. The member registry (src/config/members.ts) defines individual members with platform-specific identifiers (GitHub username, Google Workspace prefix, Discord user ID), while role definitions (src/config/roles.ts) map abstract roles (e.g., 'maintainer', 'contributor') to platform-specific team/group assignments. This separation enables role-based access control where members are assigned to roles, and roles are automatically translated into platform-specific permissions. The system uses TypeScript types to ensure that all member references are valid and all role assignments are correctly structured.
Uses TypeScript's type system to enforce that all member references are valid and all role assignments reference existing members and roles, catching errors at compile time rather than runtime. This approach provides stronger guarantees than JSON-based member registries that rely on runtime validation.
Provides better type safety and IDE support than JSON-based member registries, while maintaining the simplicity of a declarative configuration approach compared to external identity providers (Okta, Azure AD).
repository access configuration with team-to-repository mapping
Medium confidenceDefines and enforces repository access levels by mapping GitHub teams to repositories with specific permission levels (read, write, admin). The repository access configuration (src/config/repositories.ts) specifies which teams have access to which repositories and at what permission level. This configuration is translated into GitHub team repository permissions via Pulumi, ensuring that repository access is managed declaratively and subject to peer review. The system validates that all referenced teams and repositories exist before deployment, preventing access configuration errors.
Separates repository access configuration from member and role definitions, enabling independent management of repository permissions without modifying member or role structures. This separation provides flexibility for organizations with complex repository access patterns.
Provides better auditability than manual GitHub UI permission management, while offering more flexibility than GitHub's built-in branch protection rules by enabling declarative, version-controlled access definitions.
development environment setup with nix and devenv
Medium confidenceProvides a reproducible development environment using Nix and devenv (defined in devenv.nix) that ensures all contributors have consistent tooling and dependencies. The environment includes Node.js 22, Google Cloud SDK, Pulumi CLI, and other required tools, eliminating 'works on my machine' problems. Contributors can enter the environment with a single command (nix flake enter or devenv enter), which automatically installs all dependencies without requiring manual package installation. This approach ensures that all contributors use the same versions of tools, reducing debugging time and improving collaboration.
Uses Nix and devenv to provide a fully reproducible development environment that can be version-controlled alongside the code, ensuring that all contributors use identical tool versions. This approach goes beyond Docker by providing a lightweight, shell-integrated environment without container overhead.
Provides better reproducibility than Docker because the environment is defined in version-controlled Nix expressions, while offering faster startup times and better IDE integration than Docker containers.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with access, ranked by overlap. Discovered automatically through the match graph.
Spike
Communication clarity for teams. Connect, chat, and collaborate all in one...
Paperspace
Cloud GPU platform with managed ML pipelines.
dns
Infrastructure as Code for MCP domains / DNS management
webiny-js
Open-source, self-hosted CMS platform on AWS serverless (Lambda, DynamoDB, S3). TypeScript framework with multi-tenancy, lifecycle hooks, GraphQL API, and AI-assisted development via MCP server. Built for developers at large organizations.
Open WebUI
An extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. #opensource
AICamp
*[reviews](#)* - ChatGPT for...
Best For
- ✓DevOps teams managing multi-platform identity governance
- ✓Open-source communities requiring transparent access control
- ✓Organizations needing audit trails for compliance
- ✓GitHub organization maintainers managing large teams
- ✓Communities with frequent membership changes
- ✓Teams requiring audit trails of permission changes
- ✓Organizations using Google Workspace for email and collaboration
- ✓Communities with frequent onboarding/offboarding cycles
Known Limitations
- ⚠Requires understanding of Pulumi and TypeScript — not suitable for non-technical access managers
- ⚠Changes only take effect after CI/CD validation and merge to main branch — no real-time access provisioning
- ⚠Configuration layer is tightly coupled to three specific platforms; adding new platforms requires code changes
- ⚠Requires GitHub organization admin credentials — cannot manage personal repositories
- ⚠Team synchronization is one-way from configuration to GitHub; manual GitHub changes are overwritten on next deployment
- ⚠No support for fine-grained GitHub permissions (branch protection rules, workflow permissions) — only team-level access
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
Repository Details
Last commit: Apr 21, 2026
About
Infrastructure as Code for MCP access management
Categories
Alternatives to access
Are you the builder of access?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →