{"name":"io.github.greenmtnsun/giteasy","slug":"greenmtnsun-giteasy","title":null,"description":"Plain-English git via MCP: 22 tools to branch, commit, push, and tag. No git jargon.","url":"https://mcp.market/server/greenmtnsun-giteasy","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":5,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":20,"ok":20,"last_checked_at":"2026-09-24T08:11:21.332Z","last_ok_at":"2026-09-24T08:11:21.332Z","latency_ms":638},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/greenmtnsun/GitEasy-internal","website":null,"version":"1.6.1","remotes":[{"type":"streamable-http","url":"https://giteasy-mcp.azurewebsites.net/mcp"}],"packages":[],"tools":[{"name":"clear_junk","description":"Remove untracked files and directories from the working tree (git clean -fd). Returns list of removed paths.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."}}}},{"name":"find_changes","description":"List changed files: staged, unstaged, and untracked. Returns file counts and paths by status group.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."}}}},{"name":"get_updates","description":"Fetch from remote and show incoming commits not yet in local branch. Returns count and commit summaries.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"remoteName":{"description":"Remote name. Default origin.","type":"string","default":"origin"}}}},{"name":"get_vault_status","description":"Report current git credential helper configuration. Returns helper name and scope.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."}}}},{"name":"new_release","description":"Create an annotated git tag and push it to the remote. Returns the tag name and target commit SHA.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"tagName":{"description":"Tag name, e.g. v1.2.0.","type":"string","default":""},"message":{"description":"Annotation message for the tag.","type":"string","default":""},"remoteName":{"description":"Remote to push to. Default origin.","type":"string","default":"origin"}}}},{"name":"new_work_branch","description":"Create a new branch from current HEAD and switch to it. Returns branch name and base commit SHA.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"branchName":{"description":"Name of the new branch.","type":"string","default":""}}}},{"name":"push","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"remoteName":{"description":"Remote name. Default origin.","type":"string","default":"origin"}}}},{"name":"reset_login","description":"Clear stored git credentials by unsetting the credential helper in local git config. Returns confirmation.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."}}}},{"name":"restore_file","description":"Restore a single file to its HEAD state, discarding uncommitted changes. Returns restored file path.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"filePath":{"description":"Repo-relative path to the file to restore.","type":"string","default":""}}}},{"name":"save_work","description":"Stage changes, commit with a message, and optionally push to remote. Returns commit SHA and push result.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"message":{"description":"Commit message.","type":"string","default":""},"pushToRemote":{"description":"Push to remote after commit. Default false.","type":"boolean","default":false},"files":{"description":"Files to commit. Default empty (commits all changes).","type":["array","null"],"items":{"type":["string","null"]},"default":null}}}},{"name":"search_history","description":"Search commit history for commits whose message matches a search term. Returns matching commits with SHA, author, date, and message.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"searchTerm":{"description":"Text to search for in commit messages.","type":"string","default":""},"limit":{"description":"Max commits to return. Default 20.","type":"integer","default":20}}}},{"name":"set_ssh","description":"Change a remote URL to its SSH equivalent. Returns old and new remote URLs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"remoteName":{"description":"Remote name to update. Default origin.","type":"string","default":"origin"},"sshUrl":{"description":"New SSH remote URL, e.g. git@github.com:owner/repo.git.","type":"string","default":""}}}},{"name":"set_token","description":"Store a personal access token for HTTP git authentication. Returns confirmation (token value is never echoed).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"token":{"description":"Personal access token to store.","type":"string","default":""}}}},{"name":"set_vault","description":"Configure the git credential helper to use a specific vault path. Returns new credential helper value.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"vaultPath":{"description":"Path to the credential helper vault executable.","type":"string","default":""}}}},{"name":"show_change","description":"Show the diff for a specific file or all changed files. Returns unified diff text.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"filePath":{"description":"Repo-relative file path. If empty, shows all.","type":"string","default":""},"staged":{"description":"Show staged diff. Default false.","type":"boolean","default":false}}}},{"name":"show_diagnostic","description":"Show git repository diagnostic info: current branch, upstream, HEAD SHA, remote URLs, and status summary.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."}}}},{"name":"show_history","description":"Show recent commit history. Returns commits with SHA, author, date, and message.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"limit":{"description":"Number of commits to return. Default 20.","type":"integer","default":20},"branchName":{"description":"Branch name. Default current branch.","type":"string","default":""}}}},{"name":"show_releases","description":"List all tags/releases in the repository, newest first. Returns tag names, target SHAs, and annotation messages.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."}}}},{"name":"show_remote","description":"Show all remote names and their fetch/push URLs. Returns list of remotes with URL and type.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."}}}},{"name":"switch_work","description":"Switch to an existing branch. Returns the branch switched to and current HEAD SHA.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"branchName":{"description":"Name of the branch to switch to.","type":"string","default":""}}}},{"name":"test_login","description":"Test whether git credentials are working by attempting ls-remote against the origin. Returns success/failure and remote refs count.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"remoteName":{"description":"Remote to test. Default origin.","type":"string","default":"origin"}}}},{"name":"undo_changes","description":"Discard uncommitted changes. If filePath given, restores that file; otherwise restores all tracked files. Returns list of restored paths.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workingDirectory":{"description":"Git repo path. Default current directory.","type":"string","default":"."},"filePath":{"description":"Repo-relative file path to undo. If empty, undoes all tracked changes.","type":"string","default":""}}}}],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-23T21:40:29.084Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T21:40:29.202Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 127ms"]},"poisoning":{"score":15,"max":15,"notes":["22 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 4 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://giteasy-mcp.azurewebsites.net/mcp","reachable":true,"authRequired":false,"latencyMs":127,"serverInfo":{"name":"GitEasy.MCP","version":"1.6.1.0"}}],"packages":[],"repo":{"found":false,"owner":"greenmtnsun","repo":"GitEasy-internal","error":"repo not found"},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":5}}}},"grade_history":[],"reviews":[]}