GIT MCP Server (wty0512/git-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 49 out of 100, grade D. It declares 32 tools. No publisher has claimed this listing.
A Model Context Protocol (MCP) server to provide git tools for LLM Agents, with fixes for the amend parameter caching issue
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
wty0512
Source: mcp.so · also listed on Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
git_tag_createCreate a new tag in the repository. Tags are references that point to specific commits, useful for marking release points or important commits. Can create lightweight tags or annotated tags with messages.
git_tag_listList all tags in the repository. Displays all tag names that exist in the repository, which can be used to identify releases or important reference points.
git_stash_createSave uncommitted changes to a stash. Captures the current state of working directory and index and saves it on a stack of stashes, allowing you to switch branches without committing in-progress work.
git_stash_listList all stashes in the repository. Shows the stack of stashes that have been created and their descriptions, allowing you to identify the stash you want to apply or pop.
git_stash_applyApply stashed changes to the working directory. Applies changes from the specified stash to the current working directory, but keeps the stash in the stash list.
git_stash_popApply and remove a stash. Applies the specified stash to the working directory and then removes it from the stash stack. Combines the apply and drop operations.
git_cherry_pickApply changes from specific commits to the current branch. Takes the changes introduced in one or more existing commits and creates new commits with those changes on the current branch.
git_rebaseReapply commits on top of another base commit. Takes all changes that were committed on one branch and replays them on another branch, providing a cleaner project history.
git_logShow commit history. Displays a log of commits in reverse chronological order, optionally limited to a specific file's history or a maximum number of commits.
git_showShow details of a specific commit. Displays the commit message, author, date, and the changes introduced by the commit including the diff.
git_branch_listList branches in a repository. Displays both local and optionally remote branches, clearly marking the current branch.
git_branch_createCreate a new branch. Creates a new branch at the specified reference point (commit or branch) and optionally checks it out.
git_checkoutCheckout a branch, tag, or commit. Switches the working directory to the specified target and updates HEAD to point to it. Can optionally create a new branch.
git_branch_deleteDelete a branch. Removes the specified branch from the repository. By default, only fully merged branches can be deleted unless force is set to true.
git_mergeMerge a branch into the current branch. Combines changes from the specified branch into the current branch with configurable merge strategies.
git_remote_addAdd a new remote repository reference. Creates a connection to a remote repository with a name and URL, allowing fetching and pushing changes to and from that repository.
git_remote_listList all configured remote repositories. Displays the names and URLs of all remotes associated with the repository, showing both fetch and push URLs.
git_fetchFetch changes from a remote repository. Downloads objects and refs from a remote repository without merging them into local branches.
git_pullPull changes from a remote repository. Fetches from a remote repository and integrates changes into the current branch, either by merging or rebasing.
git_pushPush local changes to a remote repository. Uploads local branch commits to the remote repository, updating remote references.
git_initInitialize a new Git repository. Creates the necessary directory structure and Git metadata for a new Git repository at the specified path. The repository can be created as a standard repository with a working directory or as a bare repository (typically used for centralized repositories). Creates a…
git_cloneClone a Git repository. Downloads a repository from a remote location and creates a local copy with all its history. Supports specifying branches, creating shallow clones, and more.
git_statusGet repository status. Shows the working tree status including tracked/untracked files, modifications, staged changes, and current branch information.
git_set_working_dirSet a global working directory path for all Git operations. Future tool calls can use '.' as the filepath and it will resolve to this global path. IMPORTANT: Always use a full, absolute path to ensure proper functionality.
git_clear_working_dirClear the global working directory setting. Tools will use their explicitly provided path parameters.
git_addStage files for commit. Adds file contents to the index (staging area) in preparation for the next commit. Can stage specific files or all changes in the working directory. IMPORTANT: Always use a full, absolute path to the repository to ensure proper functionality.
git_resetUnstage files from the index. Removes file contents from the staging area while preserving the working directory changes. The opposite of git_add. IMPORTANT: Always use a full, absolute path to the repository to ensure proper functionality.
git_commitCommit staged changes to the repository. Creates a new commit containing the current contents of the index with the provided commit message. Supports optional author information, amending previous commits, and creating empty commits. IMPORTANT: Always use a full, absolute path to the repository to e…
git_diff_unstagedShow unstaged changes in the working directory. Displays the differences between the working directory and the index (staging area). Can be limited to a specific file or show all changed files. IMPORTANT: Always use a full, absolute path to the repository to ensure proper functionality.
git_diff_stagedShow staged changes ready for commit. Displays the differences between the index (staging area) and the latest commit. Can be limited to a specific file or show all staged files. IMPORTANT: Always use a full, absolute path to the repository to ensure proper functionality.
git_reset_commitReset the current branch to a specific commit. This changes where the branch HEAD points to, with different modes affecting the working directory and index differently (hard: discard all changes, soft: keep staged changes, mixed: unstage but keep changes). IMPORTANT: Always use a full, absolute path…
git_cleanRemove untracked files from the working directory. Deletes files that aren't tracked by Git, optionally including directories. Use with caution as this operation cannot be undone. IMPORTANT: Always use a full, absolute path to the repository to ensure proper functionality.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
simple-git has blockUnsafeOperationsPlugin bypass via case-insensitive protocol.allow config key enables RCE
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
simple-git is vulnerable to Remote Code Execution
simple-git Affected by Command Execution via Option-Parsing Bypass
GIT_AUTHOR_EMAILGIT_AUTHOR_NAMEGIT_COMMITTER_EMAILGIT_COMMITTER_NAMETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
32/32 tools missing one or more hints — git_tag_create (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); git_tag_list (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); git_stash_create (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +29 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tests exist
No test files found
Add tests that exercise each declared tool.
Shell command execution
6 calls in production code run through a shell (src/server.ts:70, src/server.ts:71, src/services/git-service.ts:54)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Production dependencies are patched
1 critical, 4 high severity in production deps — simple-git@3.27.0 (critical), @modelcontextprotocol/sdk@1.7.0 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Domain consistency
npm scope @cyanheads doesn't match GitHub owner wty0512
Use the same org name across GitHub, npm, and your homepage so users can verify the publisher.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/wty0512/git-mcp-server)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check