Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 17 additions & 26 deletions pkg/workflow/data/github_toolsets_permissions.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": "2.2",
"description": "GitHub MCP server toolsets and their required permissions (updated to match actual MCP server source code in github/github-mcp-server)",
"version": "2.3",
"description": "GitHub MCP server toolsets and their required permissions (synced to github/github-mcp-server main: search toolset removed and search tools redistributed to repos/orgs/users, experiments toolset removed, semantic search + check_dependency_vulnerabilities + run_secret_scanning removed upstream, list_org_repository_security_advisories moved orgs->security_advisories, get_label dual-registered in issues, create_pull_request_with_copilot added)",
"toolsets": {
"actions": {
"description": "GitHub Actions workflows",
Expand All @@ -27,10 +27,10 @@
"tools": ["get_me", "get_team_members", "get_teams"]
},
"copilot": {
"description": "GitHub Copilot assignment and review tools",
"description": "GitHub Copilot assignment, review, and coding agent tools",
"read_permissions": [],
"write_permissions": ["issues", "pull-requests"],
"tools": ["assign_copilot_to_issue", "request_copilot_review"]
"tools": ["assign_copilot_to_issue", "create_pull_request_with_copilot", "request_copilot_review"]
},
"copilot_spaces": {
"description": "GitHub Copilot Spaces (remote-only)",
Expand All @@ -50,12 +50,6 @@
"write_permissions": ["discussions"],
"tools": ["discussion_comment_write", "get_discussion", "get_discussion_comments", "list_discussion_categories", "list_discussions"]
},
"experiments": {
"description": "Experimental features (dynamic toolset management)",
"read_permissions": [],
"write_permissions": [],
"tools": ["enable_toolset", "get_toolset_tools", "list_available_toolsets"]
},
"gists": {
"description": "Gist operations",
"read_permissions": [],
Expand All @@ -75,10 +69,10 @@
"tools": ["github_support_docs_search"]
},
"issues": {
"description": "Issue management",
"description": "Issue management (get_label is also registered here alongside labels)",
"read_permissions": ["issues"],
"write_permissions": ["issues"],
"tools": ["add_issue_comment", "issue_dependency_read", "issue_dependency_write", "issue_read", "issue_write", "list_issue_fields", "list_issue_types", "list_issues", "search_issues", "sub_issue_write"]
"tools": ["add_issue_comment", "get_label", "issue_dependency_read", "issue_dependency_write", "issue_read", "issue_write", "list_issue_fields", "list_issue_types", "list_issues", "search_issues", "sub_issue_write"]
},
"labels": {
"description": "Label management",
Expand All @@ -93,10 +87,10 @@
"tools": ["dismiss_notification", "get_notification_details", "list_notifications", "manage_notification_subscription", "manage_repository_notification_subscription", "mark_all_notifications_read"]
},
"orgs": {
"description": "Organization operations",
"description": "Organization operations (organization search)",
"read_permissions": [],
"write_permissions": [],
"tools": ["list_org_repository_security_advisories"]
"tools": ["search_orgs"]
},
"projects": {
"description": "GitHub Projects (requires PAT - not supported by GITHUB_TOKEN)",
Expand All @@ -122,7 +116,7 @@
]
},
"repos": {
"description": "Repository operations",
"description": "Repository operations (includes repository/code/commit search)",
"read_permissions": ["contents"],
"write_permissions": ["contents"],
"tools": [
Expand All @@ -142,26 +136,23 @@
"list_releases",
"list_repository_collaborators",
"list_tags",
"push_files"
"push_files",
"search_code",
"search_commits",
"search_repositories"
]
},
"search": {
"description": "Advanced search across GitHub (keyword and semantic)",
"read_permissions": [],
"write_permissions": [],
"tools": ["search_code", "search_commits", "search_orgs", "search_repositories", "search_users", "semantic_issue_similarity_search", "semantic_issues_search"]
},
"secret_protection": {
"description": "Secret scanning",
"read_permissions": ["security-events"],
"write_permissions": [],
"tools": ["get_secret_scanning_alert", "list_secret_scanning_alerts", "run_secret_scanning"]
"tools": ["get_secret_scanning_alert", "list_secret_scanning_alerts"]
},
"security_advisories": {
"description": "Security advisories",
"read_permissions": ["security-events"],
"write_permissions": ["security-events"],
"tools": ["check_dependency_vulnerabilities", "get_global_security_advisory", "list_global_security_advisories", "list_repository_security_advisories"]
"tools": ["get_global_security_advisory", "list_global_security_advisories", "list_org_repository_security_advisories", "list_repository_security_advisories"]
},
"stargazers": {
"description": "Repository stars",
Expand All @@ -170,10 +161,10 @@
"tools": ["list_starred_repositories", "star_repository", "unstar_repository"]
},
"users": {
"description": "User information",
"description": "User information (user search)",
"read_permissions": [],
"write_permissions": [],
"tools": []
"tools": ["search_users"]
}
}
}
4 changes: 2 additions & 2 deletions pkg/workflow/permissions_validator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -325,10 +325,10 @@ func TestToolsetPermissionsMapping(t *testing.T) {
// Verify that all toolsets are properly defined
expectedToolsets := []string{
"context", "repos", "issues", "pull_requests", "actions",
"code_security", "dependabot", "discussions", "experiments",
"code_security", "dependabot", "discussions",
"gists", "labels", "notifications", "orgs", "projects",
"secret_protection", "security_advisories", "stargazers",
"users", "search",
"users",
}

for _, toolset := range expectedToolsets {
Expand Down
Loading