# git_reset

Resets repository to a specific commit or state

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

## Facts

- Tool: `git_reset`
- 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: Destructive (Critical risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Hidden

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

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

## Why git_reset is rated Critical

git reset, particularly with --hard flag, irreversibly discards uncommitted changes and rewrites commit history. While softer reset modes (--soft, --mixed) are reversible via reflog, the tool's capability to destructively lose work with common usage patterns and the high likelihood an AI agent would use destructive reset modes makes this Destructive rather than Write.

From the tool's own definition: "'Resets repository to a specific commit or state' - reset operations can discard uncommitted changes and move HEAD to previous commits, irreversibly losing work depending on the reset mode (--hard discards all local changes)."

## Use case

AI agents call git_reset to permanently remove resources in GitHub MCP Server, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "git_reset"
  ]
}
```

## 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_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_push` — Write — https://policylayer.com/tools/0xshariq-github-mcp-server/git-push.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
