Skip to content

Admin Tools

22 administrative tools with safety controls for repository management. All admin operations are classified by risk level and protected by the 4-tier safety system.

LevelDescriptionExamples
LOWRead-onlyList collaborators, view settings
MEDIUMReversible changesCreate webhook, add collaborator
HIGHImpacts collaborationRemove collaborator, delete webhook
CRITICALIrreversible or very high impactDelete repository, remove branch protection

Retrieve complete repository configuration.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name

Example:

{
"owner": "username",
"repo": "my-project"
}

Output:

{
"name": "my-project",
"description": "A cool project",
"private": false,
"has_issues": true,
"has_wiki": false,
"has_projects": true,
"default_branch": "main",
"allow_merge_commit": true,
"allow_squash_merge": true,
"allow_rebase_merge": false,
"delete_branch_on_merge": true
}

Modify repository properties.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • name (optional): New repository name
  • description (optional): New description
  • private (optional): Change visibility
  • has_issues (optional): Enable/disable issues
  • has_wiki (optional): Enable/disable wiki
  • has_projects (optional): Enable/disable projects
  • default_branch (optional): Change default branch
  • allow_merge_commit (optional): Allow merge commits
  • allow_squash_merge (optional): Allow squash merging
  • allow_rebase_merge (optional): Allow rebase merging
  • delete_branch_on_merge (optional): Auto-delete head branches

Example:

{
"owner": "username",
"repo": "my-project",
"description": "Updated description",
"has_wiki": false,
"delete_branch_on_merge": true
}

Archive repository (read-only mode).

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name

Confirmation required: YES (HIGH-risk in moderate mode)

What happens:

  • Repository becomes read-only
  • No new issues, PRs, or commits allowed
  • Existing content remains accessible
  • Can be un-archived later via GitHub web interface

Example:

{
"owner": "username",
"repo": "old-project"
}

PERMANENTLY delete repository.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name

Confirmation required: YES (CRITICAL-risk, always requires confirmation)

Safety features:

  • Requires confirmation token
  • Audit log entry created
  • Recommends manual backup first
  • Cannot be undone

Example:

{
"owner": "username",
"repo": "obsolete-project"
}

View branch protection rules.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • branch (required): Branch name (e.g., main)

Output:

{
"branch": "main",
"protected": true,
"required_status_checks": {
"strict": true,
"contexts": ["ci/build", "ci/test"]
},
"required_pull_request_reviews": {
"required_approving_review_count": 2,
"dismiss_stale_reviews": true,
"require_code_owner_reviews": true
},
"restrictions": {
"users": ["maintainer1", "maintainer2"],
"teams": ["core-team"]
},
"enforce_admins": true,
"allow_force_pushes": false,
"allow_deletions": false
}

Configure branch protection rules.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • branch (required): Branch name
  • required_status_checks (optional): CI/CD checks required
  • required_pull_request_reviews (optional): PR review requirements
  • restrictions (optional): Who can push (users/teams)
  • enforce_admins (optional): Apply rules to admins
  • allow_force_pushes (optional): Allow force pushes
  • allow_deletions (optional): Allow branch deletion

Example:

{
"owner": "username",
"repo": "my-project",
"branch": "main",
"required_pull_request_reviews": {
"required_approving_review_count": 2,
"dismiss_stale_reviews": true,
"require_code_owner_reviews": false
},
"enforce_admins": true,
"allow_force_pushes": false
}

github_delete_branch_protection 🔴 CRITICAL

Section titled “github_delete_branch_protection 🔴 CRITICAL”

Remove all branch protection rules.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • branch (required): Branch name

Confirmation required: YES (CRITICAL-risk)

List all repository webhooks.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name

Output:

{
"webhooks": [
{
"id": 123456,
"url": "https://api.example.com/webhook",
"events": ["push", "pull_request"],
"active": true,
"created_at": "2024-01-15T10:30:00Z"
}
]
}

Create new webhook with custom configuration.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • url (required): Webhook endpoint URL
  • events (optional): Array of events to trigger (default: ["push"])
  • content_type (optional): json or form (default: json)
  • secret (optional): Webhook secret for signature validation
  • active (optional): Enable immediately (default: true)

Example:

{
"owner": "username",
"repo": "my-project",
"url": "https://ci.example.com/github-webhook",
"events": ["push", "pull_request", "release"],
"content_type": "json",
"secret": "your-webhook-secret",
"active": true
}

Modify existing webhook settings.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • hook_id (required): Webhook ID (from github_list_webhooks)
  • url (optional): New URL
  • events (optional): New event list
  • active (optional): Enable/disable

Remove webhook.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • hook_id (required): Webhook ID

Confirmation required: YES (HIGH-risk in moderate mode)

Send test delivery to webhook endpoint.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • hook_id (required): Webhook ID

Output:

{
"delivery_id": "abc-123-def",
"status_code": 200,
"response": "OK"
}

View all repository collaborators.

Output includes: username, permission level (pull/triage/push/maintain/admin), profile URL.

Verify specific user’s access level.

Parameters:

  • owner, repo, username

Invite user with specified permission.

Parameters:

  • owner (required): Repository owner
  • repo (required): Repository name
  • username (required): GitHub username to invite
  • permission (required): pull, triage, push, maintain, or admin

Example:

{
"owner": "username",
"repo": "my-project",
"username": "new-contributor",
"permission": "push"
}
PermissionCan Do
pullRead, clone
triageManage issues/PRs without writing code
pushRead, clone, push
maintainPush + manage settings (not delete)
adminFull access including deletion

github_update_collaborator_permission 🟡 MEDIUM

Section titled “github_update_collaborator_permission 🟡 MEDIUM”

Change collaborator’s permission level.

Revoke user access to repository.

Confirmation required: YES (HIGH-risk, impacts collaboration)

View pending invitations.

Accept repository invitation (for your account).

Cancel pending invitation.

Teams (2 tools) — Organization Repos Only

Section titled “Teams (2 tools) — Organization Repos Only”

List teams with repository access.

Parameters:

  • owner (required): Organization name
  • repo (required): Repository name

Grant team access with permission level.

Parameters:

  • owner (required): Organization name
  • repo (required): Repository name
  • team_slug (required): Team slug (from organization)
  • permission (required): pull, push, maintain, or admin

Example:

{
"owner": "my-org",
"repo": "backend-api",
"team_slug": "backend-team",
"permission": "push"
}

Administrative tools can affect collaborators, automation, and security. Validate parameters, branches, and permissions before executing. We are not responsible for misuse or resulting damage.

When an operation requires confirmation, you’ll receive a confirmation token:

{
"status": "confirmation_required",
"token": "abc123def456",
"operation": "github_delete_webhook",
"risk_level": "HIGH",
"expires_in": "5 minutes",
"warning": "This will permanently remove the webhook..."
}

To proceed, include the token in your next request:

{
"owner": "username",
"repo": "my-project",
"hook_id": 123,
"confirmation_token": "abc123def456"
}

See Safety System → for full details on risk classification and confirmation workflows.