Git Tools
About
Integrates with Git to enable version control operations, repository management, and change tracking for collaborative development environments.
Details
- Author
- lileeei
- Repository
- lileeei/mcp-git-tools
- GitHub stars
- 2
- License
- MIT License
- Categories
- Design, Developer Tools, AI, Frontend, Communication, Infrastructure
Jump to
This library provides a set of Git operations that can be called through the Model Context Protocol:
- git_status - Get the status of a repository
- git_branches - List branch information
- git_log - Get commit history with flexible filtering options (by time, author, branch, count)
- git_commit - Create a new commit
- git_pull - Pull changes from remote
- git_push - Push changes to remote
- git_diff - View file differences
- git_add - Add file contents to the staging area
- git_reset - Reset the staging area or working tree to a specified state
- git_worktree_list - List all worktrees
- git_worktree_add - Create a new worktree
- git_worktree_remove - Remove a worktree
- git_worktree_prune - Prune expired worktree files
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Git ToolsCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@highlight/mcp-server
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone The Repository
git clone https://gitcode.com/lileeei/mcp-git-tools.git
git_status
Get the status of a repository. Parameters: repo_path (string) - Path to the Git repository.
git_branches
List branch information. Parameters: repo_path (string) - Path to the Git repository.
git_log
Get commit history with flexible filtering options. Parameters: repo_path (string) - Path to Git repository, max_count (optional integer) - Maximum number of commits to return, branch (optional string) - Branch name, since (optional string) - Start date, until (optional string) - End date, author (optional string) - Filter by specific author.
git_commit
Create a new commit. Parameters: repo_path (string) - Path to the Git repository, message (string) - Commit message, all (optional boolean) - Whether to automatically stage modified files.
git_pull
Pull changes from remote. Parameters: repo_path (string) - Path to the Git repository, remote (optional string) - Remote name, defaults to 'origin', branch (optional string) - Branch name.
git_push
Push changes to remote. Parameters: repo_path (string) - Path to the Git repository, remote (optional string) - Remote name, defaults to 'origin', branch (optional string) - Branch name, force (optional boolean) - Whether to force push.
git_diff
View file differences. Parameters: repo_path (string) - Path to the Git repository, path (optional string) - Path to file or directory, staged (optional boolean) - Whether to show staged changes, commit (optional string) - Commit to compare against.
git_add
Add file contents to the staging area. Parameters: repo_path (string) - Path to the Git repository, path (string) - Path(s) to add, or patterns to match, update (optional boolean) - Whether to update, rather than add, all (optional boolean) - Whether to add all changes, including untracked files.
git_reset
Reset the staging area or working tree to a specified state. Parameters: repo_path (string) - Path to the Git repository, path (string) - Path(s) to reset, or patterns to match, hard (optional boolean) - Whether to perform a hard reset, target (optional string) - The commit or branch to reset to.
git_worktree_list
List all worktrees in a repository. Parameters: repo_path (string) - Path to the Git repository.
git_worktree_add
Create a new worktree. Parameters: repo_path (string) - Path to the Git repository, path (string) - Path for the new worktree, branch (optional string) - Branch name to create, commit_ref (optional string) - Commit reference to check out, checkout (optional boolean) - Whether to check out files.
git_worktree_remove
Remove a worktree. Parameters: repo_path (string) - Path to the Git repository, path (string) - Path to the worktree to remove, force (optional boolean) - Force removal even if worktree is dirty.
git_worktree_prune
Prune working tree files in $GIT_DIR/worktrees. Parameters: repo_path (string) - Path to the Git repository, verbose (optional boolean) - Report all removals, dry_run (optional boolean) - Do not remove, show only.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"git tools": {
"env": {},
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
}
}
Linux
{
"env": [],
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
Macos
{
"env": [],
"args": [
"-y",
"@highlight/mcp-server"
],
"command": "npx"
}
Windows
{
"env": [],
"args": [
"/c",
"npx",
"-y",
"@highlight/mcp-server"
],
"command": "cmd"
}
MCP Git Tools
Git tools implementation for the Model Context Protocol (MCP).
Features
This library provides a set of Git operations that can be called through the Model Context Protocol:
- git_status - Get the status of a repository
- git_branches - List branch information
- git_log - Get commit history with flexible filtering options (by time, author, branch, count)
- git_commit - Create a new commit
- git_pull - Pull changes from remote
- git_push - Push changes to remote
- git_diff - View file differences
- git_add - Add file contents to the staging area
- git_reset - Reset the staging area or working tree to a specified state
- git_worktree_list - List all worktrees
- git_worktree_add - Create a new worktree
- git_worktree_remove - Remove a worktree
- git_worktree_prune - Prune expired worktree files
Installation
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




