Skip to content

io.github.greenmtnsun/giteasy

by greenmtnsun · remote · no sign-in to list tools · v1.6.1 · published by GitHub user greenmtnsun

Plain-English git via MCP: 22 tools to branch, commit, push, and tag. No git jargon.

Deletes · 1Final · 1Changes · 11

22 tools: 1 can delete or cancel things, 1 do something that can't be undone, 11 change things and 9 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http giteasy https://giteasy-mcp.azurewebsites.net/mcp

Findings

Matches of fixed checks, with the text they matched.

5 info

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

22 tools

Deletes or cancels 1Claude Code: deny
  • clear_junkRemove untracked files and directories from the working tree (git clean -fd).No findings

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    Description, as the server wrote it
    Remove untracked files and directories from the working tree (git clean -fd). Returns list of removed paths.
Can't be undone 1Claude Code: ask
  • pushSend already-committed work to the remote without making a new commit.No findings

    Why it is in this group

    • The name "push" says "push": a word for a change.
    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Send already-committed work to the remote without making a new commit. Pushes the current branch; on a branch's first push, sets the remote branch as its upstream automatically.
Changes things 11Claude Code: ask
  • new_releaseCreate an annotated git tag and push it to the remote.No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Create an annotated git tag and push it to the remote. Returns the tag name and target commit SHA.
  • new_work_branchCreate a new branch from current HEAD and switch to it.No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Create a new branch from current HEAD and switch to it. Returns branch name and base commit SHA.
  • reset_loginClear stored git credentials by unsetting the credential helper in local git config.1 finding

    Why it is in this group

    • The name "reset_login" says "reset": a word for a change.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "Clear stored git credentials by unsetting the credential helper in l..."

      What this check looks for
    Description, as the server wrote it
    Clear stored git credentials by unsetting the credential helper in local git config. Returns confirmation.
  • restore_fileRestore a single file to its HEAD state, discarding uncommitted changes.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Restore a single file to its HEAD state, discarding uncommitted changes. Returns restored file path.
  • save_workStage changes, commit with a message, and optionally push to remote.No findings

    Why it is in this group

    • The name "save_work" says "save": a word for a change.
    Description, as the server wrote it
    Stage changes, commit with a message, and optionally push to remote. Returns commit SHA and push result.
  • set_sshChange a remote URL to its SSH equivalent.No findings

    Why it is in this group

    • The name "set_ssh" says "set": a word for a change.
    Description, as the server wrote it
    Change a remote URL to its SSH equivalent. Returns old and new remote URLs.
  • set_tokenStore a personal access token for HTTP git authentication.No findings

    Why it is in this group

    • The name "set_token" says "set": a word for a change.
    Description, as the server wrote it
    Store a personal access token for HTTP git authentication. Returns confirmation (token value is never echoed).
  • set_vaultConfigure the git credential helper to use a specific vault path.2 findings

    Why it is in this group

    • The name "set_vault" says "set": a word for a change.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "Configure the git credential helper to use a specific vault path. Re..."

      What this check looks for
    • Info

      The input schema at properties.vaultPath.description mentions "credential".

      Matched text

      inputSchema.properties.vaultPath.description: "Path to the credential helper vault executable."

      What this check looks for
    Description, as the server wrote it
    Configure the git credential helper to use a specific vault path. Returns new credential helper value.
  • switch_workSwitch to an existing branch.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Switch to an existing branch. Returns the branch switched to and current HEAD SHA.
  • test_loginTest whether git credentials are working by attempting ls-remote against the origin.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "Test whether git credentials are working by attempting ls-remote aga..."

      What this check looks for
    Description, as the server wrote it
    Test whether git credentials are working by attempting ls-remote against the origin. Returns success/failure and remote refs count.
  • undo_changesDiscard uncommitted changes.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Discard uncommitted changes. If filePath given, restores that file; otherwise restores all tracked files. Returns list of restored paths.
Only reads 9Claude Code: allow
  • find_changesList changed files: staged, unstaged, and untracked.No findings

    Why it is in this group

    • The name "find_changes" says "find": a word for reading.
    Description, as the server wrote it
    List changed files: staged, unstaged, and untracked. Returns file counts and paths by status group.
  • get_updatesFetch from remote and show incoming commits not yet in local branch.No findings

    Why it is in this group

    • The name "get_updates" says "get": a word for reading.
    Description, as the server wrote it
    Fetch from remote and show incoming commits not yet in local branch. Returns count and commit summaries.
  • get_vault_statusReport current git credential helper configuration.1 finding

    Why it is in this group

    • The name "get_vault_status" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "Report current git credential helper configuration. Returns helper na..."

      What this check looks for
    Description, as the server wrote it
    Report current git credential helper configuration. Returns helper name and scope.
  • search_historySearch commit history for commits whose message matches a search term.No findings

    Why it is in this group

    • The name "search_history" says "search": a word for reading.
    Description, as the server wrote it
    Search commit history for commits whose message matches a search term. Returns matching commits with SHA, author, date, and message.
  • show_changeShow the diff for a specific file or all changed files.No findings

    Why it is in this group

    • The name "show_change" says "show": a word for reading.
    Description, as the server wrote it
    Show the diff for a specific file or all changed files. Returns unified diff text.
  • show_diagnosticShow git repository diagnostic info: current branch, upstream, HEAD SHA, remote URLs, and status summary.No findings

    Why it is in this group

    • The name "show_diagnostic" says "show": a word for reading.
    Description, as the server wrote it
    Show git repository diagnostic info: current branch, upstream, HEAD SHA, remote URLs, and status summary.
  • show_historyShow recent commit history.No findings

    Why it is in this group

    • The name "show_history" says "show": a word for reading.
    Description, as the server wrote it
    Show recent commit history. Returns commits with SHA, author, date, and message.
  • show_releasesList all tags/releases in the repository, newest first.No findings

    Why it is in this group

    • The name "show_releases" says "show": a word for reading.
    Description, as the server wrote it
    List all tags/releases in the repository, newest first. Returns tag names, target SHAs, and annotation messages.
  • show_remoteShow all remote names and their fetch/push URLs.No findings

    Why it is in this group

    • The name "show_remote" says "show": a word for reading.
    Description, as the server wrote it
    Show all remote names and their fetch/push URLs. Returns list of remotes with URL and type.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.6.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http giteasy https://giteasy-mcp.azurewebsites.net/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__giteasy__show_diagnostic",
      "mcp__giteasy__get_vault_status",
      "mcp__giteasy__show_releases",
      "mcp__giteasy__show_change",
      "mcp__giteasy__find_changes",
      "mcp__giteasy__show_remote",
      "mcp__giteasy__get_updates",
      "mcp__giteasy__search_history",
      "mcp__giteasy__show_history"
    ],
    "ask": [
      "mcp__giteasy__push",
      "mcp__giteasy__set_vault",
      "mcp__giteasy__restore_file",
      "mcp__giteasy__reset_login",
      "mcp__giteasy__set_ssh",
      "mcp__giteasy__save_work",
      "mcp__giteasy__test_login",
      "mcp__giteasy__new_release",
      "mcp__giteasy__undo_changes",
      "mcp__giteasy__switch_work",
      "mcp__giteasy__new_work_branch",
      "mcp__giteasy__set_token"
    ],
    "deny": [
      "mcp__giteasy__clear_junk"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as giteasy. Review it before you use it.