Add comprehensive GitHub MCP Server configuration and access control specification#11989
Add comprehensive GitHub MCP Server configuration and access control specification#11989
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot add support for existing GitHub tool features : toolsets and tools |
…ol spec Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added comprehensive documentation for Changes:
The specification now clarifies how tool selection (
|
|
@copilot rename allowed-repos to repos, allowed-roles to roles, |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot rename allow-private-repos to private-repos |
|
@copilot add remote vs local mode for completion |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added Changes:
Mode options:
|
|
@copilot review specification and current tools.github implementation to spot missed features (some features are new like repos/role). |
…rgs, lockdown, app Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Reviewed implementation in Added Documentation:
Added Examples:
The specification now documents all 9 GitHub MCP server configuration fields with 11 comprehensive examples. |
Provides complete W3C-style specification for GitHub MCP server configuration, documenting all 9 existing configuration fields and introducing 3 new access control extensions for repository scoping, role-based permissions, and public/private boundaries at the MCP Gateway layer.
Configuration Fields
Existing GitHub MCP Server Features (Complete Documentation)
mode- Deployment mode selectionMode Comparison:
https://api.githubcopilot.com/mcp/, fast initialization, no Docker requiredtoolsets- Toolset-based tool selection (recommended)tools- Individual tool filtering (alternative)read-only- Write operation restrictionsgithub-token- Custom authentication tokenversion- Docker image pinning (local mode only)args- Docker runtime arguments (local mode only)lockdown- Repository isolationapp- GitHub App authenticationAccess Control Extensions (This Specification)
repos- Repository scoping with wildcardsroles- Permission-based filteringprivate-repos- Visibility enforcementSpecification Structure
Architecture
Access control enforced at gateway middleware layer:
toolsetsortools)repospatterns (OR logic)rolesprivate-reposKey Principle: Tool selection determines what operations are possible; access control determines where operations are permitted.
File
specs/github-mcp-access-control-specification.md(2,026 lines)mode- Remote vs local deploymenttoolsets- Toolset-based tool selectiontools- Individual tool filteringread-only- Write operation restrictionsgithub-token- Custom authenticationversion- Docker image pinning (local mode)args- Docker runtime arguments (local mode)lockdown- Repository isolationapp- GitHub App authenticationrepos,roles,private-repos)Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.