Skip to main content
Glama

sassy_ghq_protect

Idempotent

Apply a standard branch-protection preset to any GitHub branch, blocking force pushes and deletions while enforcing rules on admins. Returns the protection result as JSON.

Instructions

Mutating: applies a fixed branch-protection preset to branch (default main) in owner/repo. The preset blocks force pushes and deletions and enforces the rules on admins, but sets no required status checks and no required PR reviews. Returns the protection result as JSON. Requires a GitHub token (GITHUB_TOKEN or GITHUB_PERSONAL_ACCESS_TOKEN). Use for the quick standard lock-down of main; for custom rules (required reviews, approval counts, status checks, allowing force pushes) use the github_full tool sassy_gh_protect_branch instead, and to inspect or remove protection use sassy_gh_get_branch_protection or sassy_gh_remove_branch_protection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repoYes
ownerYes
branchNomain

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

The annotations already mark the tool as mutating, non-destructive, and idempotent, and the description adds valuable context: it blocks force pushes and deletions, enforces rules on admins, sets no required status checks or reviews, returns JSON, and requires a GitHub token. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is front-loaded with the key action and preset details, then gives auth requirements and routing guidance. Every sentence adds necessary information with no filler or redundancy.

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

Completeness5/5

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

Given the output schema exists, the return structure does not need to be re-explained. The description covers auth prerequisites, exact preset behavior, branch default, and alternatives, making it complete for correct invocation of this three-parameter tool.

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

Parameters4/5

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

Schema description coverage is 0%, so the description carries the parameter-semantics burden. It clarifies that branch defaults to main and references owner/repo context. Since owner and repo are conventional GitHub identifiers and the branch behavior is explicitly described, this is sufficient, though the description could be slightly more explicit about the expected forms of owner and repo.

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

Purpose5/5

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

The description clearly states a specific verb and resource: it applies a fixed branch-protection preset to a branch in owner/repo. It further differentiates itself from sassy_gh_protect_branch, sassy_gh_get_branch_protection, and sassy_gh_remove_branch_protection by naming what this tool does and does not do.

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

Usage Guidelines5/5

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

Explicit routing guidance is present: use this for the quick standard lock-down of main, use sassy_gh_protect_branch for custom rules, and use the get/remove tools to inspect or remove protection. An agent knows exactly when to choose this tool versus alternatives.

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

Deploy Server

Other Tools