# git_push

Pushes committed files to the remote repository

Agent View of the PolicyLayer registry record for `git_push`. HTML page: https://policylayer.com/tools/0xshariq-github-mcp-server/git-push

## Facts

- Tool: `git_push`
- Server: GitHub MCP Server (`0xshariq/github-mcp-server`) — https://policylayer.com/tools/0xshariq-github-mcp-server.md
- Homepage: https://github.com/0xshariq/github-mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "git_push",
    "arguments": {}
  }
}
```

## Why git_push is rated Medium

git_push modifies remote repository state by publishing commits. While not destructive (changes can be reverted via git revert or git reset), it irreversibly updates the shared repository history visible to all collaborators and can break CI/CD pipelines, trigger unwanted deployments, or introduce malicious code to production branches.

From the tool's own definition: "Tool description states it 'Pushes committed files to the remote repository' — a modification operation that sends local changes to a shared remote. The term 'push' in Git contexts means publishing/uploading changes, which alters the state of a remote system."

## Use case

AI agents use git_push to create or update resources in GitHub MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your GitHub MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches GitHub MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "git_push": {
      "limits": [
        {
          "counter": "git_push_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on GitHub MCP Server (32)

- `git_clean` — Destructive — https://policylayer.com/tools/0xshariq-github-mcp-server/git-clean.md
- `git_remote_remove` — Destructive — https://policylayer.com/tools/0xshariq-github-mcp-server/git-remote-remove.md
- `git_remove_all` — Destructive — https://policylayer.com/tools/0xshariq-github-mcp-server/git-remove-all.md
- `git_reset` — Destructive — https://policylayer.com/tools/0xshariq-github-mcp-server/git-reset.md
- `git_tag` — Destructive — https://policylayer.com/tools/0xshariq-github-mcp-server/git-tag.md
- `git_dev` — Execute — https://policylayer.com/tools/0xshariq-github-mcp-server/git-dev.md
- `git_rebase` — Execute — https://policylayer.com/tools/0xshariq-github-mcp-server/git-rebase.md
- `git_sync` — Execute — https://policylayer.com/tools/0xshariq-github-mcp-server/git-sync.md
- `git_bisect` — Read — https://policylayer.com/tools/0xshariq-github-mcp-server/git-bisect.md
- `git_blame` — Read — https://policylayer.com/tools/0xshariq-github-mcp-server/git-blame.md
- `git_diff` — Read — https://policylayer.com/tools/0xshariq-github-mcp-server/git-diff.md
- `git_log` — Read — https://policylayer.com/tools/0xshariq-github-mcp-server/git-log.md
- `git_remote_list` — Read — https://policylayer.com/tools/0xshariq-github-mcp-server/git-remote-list.md
- `git_status` — Read — https://policylayer.com/tools/0xshariq-github-mcp-server/git-status.md
- `git_add` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-add.md
- `git_add_all` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-add-all.md
- `git_branch` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-branch.md
- `git_checkout` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-checkout.md
- `git_cherry_pick` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-cherry-pick.md
- `git_clone` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-clone.md
- `git_commit` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-commit.md
- `git_flow` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-flow.md
- `git_init` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-init.md
- `git_merge` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-merge.md
- `git_pull` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-pull.md
- `git_quick_commit` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-quick-commit.md
- `git_release` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-release.md
- `git_remote_add` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-remote-add.md
- `git_remote_set_url` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-remote-set-url.md
- `git_remove` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-remove.md
- …and 2 more: https://policylayer.com/tools/0xshariq-github-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=0xshariq-github-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/0xshariq-github-mcp-server
