Skip to main content
Glama
kunwarVivek

mcp-github-project-manager

by kunwarVivek

Manage Branches

manage_branches
Destructive

Get, update, or delete GitHub branch protection rules and list repository branches by setting the action field; enforce reviews, status checks, and push restrictions.

Instructions

Manage GitHub Branch Protection: get, update, and delete a branch's protection rules; list repository branches. Use the action field to select the operation.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number (list_branches)
repoNoRepository name (defaults to the configured GITHUB_REPO)
ownerNoRepository owner (defaults to the configured GITHUB_OWNER)
actionYesThe branch protection operation to perform
branchNoBranch name — required for get_protection, update_protection, and delete_protection
perPageNoResults per page (list_branches)
protectedNoFilter to only protected branches (list_branches)
lock_branchNo
restrictionsNoRestrict who can push to the branch — pass null to disable restrictions (update_protection)
enforce_adminsNoWhether the restrictions also apply to repository admins (update_protection)
allow_deletionsNo
block_creationsNo
allow_force_pushesNo
allow_fork_syncingNo
required_status_checksNoRequired status checks — pass null to disable the requirement (update_protection)
required_linear_historyNo
required_pull_request_reviewsNoRequired pull request review rules — pass null to disable the requirement (update_protection)
required_conversation_resolutionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.0.0

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true, non-idempotent, open-world, but the description adds nothing about consequences: that delete_protection strips protections for all contributors, that update_protection overwrites unspecified settings, or that admin permissions are required. For a destructive multi-action tool, that is the exact context the description should carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no padding, and the operation list is front-loaded. But the second sentence spends space on a low-value pointer to the action field rather than on content an agent cannot already read from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter destructive dispatcher with no output schema, the description covers only the action names. It omits what a successful get returns, what an update requires or replaces, and the danger semantics of deletion — the gaps an agent would actually need filled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 61%, leaving lock_branch, allow_deletions, block_creations, allow_force_pushes, allow_fork_syncing, required_linear_history and required_conversation_resolution undocumented anywhere. The description does not compensate with any explanation of the protection toggles or their defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb set and resource: get, update, delete branch protection rules plus listing repository branches. The four capabilities map to the four action enum values, so an agent can tell it is not manage_prs or manage_releases. It stops short of explicitly enumerating the action strings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use the `action` field to select the operation' only restates the schema's enum mechanism. There is no guidance on when to pick get vs update vs delete, no prerequisites (admin scope on the repo), and no warning that delete_protection removes safeguards rather than merely editing them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.