GitEasy MCP
GitEasy MCP provides 22 plain-English git tools for AI agents, allowing them to branch, commit, push, and manage repositories without requiring git syntax knowledge. It supports various plans from free to enterprise, integrating with clients like Claude Desktop and Cursor via an HTTP endpoint.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://giteasy-mcp.azurewebsites.net/mcpWhat its tools do
22 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Branch, commit, and push code using plain English commands
- Manage git history, changes, and releases
- Integrate git operations directly into AI agent workflows
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- GitEasy.MCP 1.6.1.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 22 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- 4 advertised
{
"tools": {},
"logging": {},
"prompts": {}
}Tools
22 advertised
push
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.
{
"type": "object",
"properties": {
"remoteName": {
"type": "string",
"default": "origin",
"description": "Remote name. Default origin."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}show_diagnostic
Show git repository diagnostic info: current branch, upstream, HEAD SHA, remote URLs, and status summary.
{
"type": "object",
"properties": {
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}set_vault
Configure the git credential helper to use a specific vault path. Returns new credential helper value.
{
"type": "object",
"properties": {
"vaultPath": {
"type": "string",
"default": "",
"description": "Path to the credential helper vault executable."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}restore_file
Restore a single file to its HEAD state, discarding uncommitted changes. Returns restored file path.
{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"default": "",
"description": "Repo-relative path to the file to restore."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}reset_login
Clear stored git credentials by unsetting the credential helper in local git config. Returns confirmation.
{
"type": "object",
"properties": {
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}set_ssh
Change a remote URL to its SSH equivalent. Returns old and new remote URLs.
{
"type": "object",
"properties": {
"sshUrl": {
"type": "string",
"default": "",
"description": "New SSH remote URL, e.g. git@github.com:owner/repo.git."
},
"remoteName": {
"type": "string",
"default": "origin",
"description": "Remote name to update. Default origin."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}save_work
Stage changes, commit with a message, and optionally push to remote. Returns commit SHA and push result.
{
"type": "object",
"properties": {
"files": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null,
"description": "Files to commit. Default empty (commits all changes)."
},
"message": {
"type": "string",
"default": "",
"description": "Commit message."
},
"pushToRemote": {
"type": "boolean",
"default": false,
"description": "Push to remote after commit. Default false."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}get_vault_status
Report current git credential helper configuration. Returns helper name and scope.
{
"type": "object",
"properties": {
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}test_login
Test whether git credentials are working by attempting ls-remote against the origin. Returns success/failure and remote refs count.
{
"type": "object",
"properties": {
"remoteName": {
"type": "string",
"default": "origin",
"description": "Remote to test. Default origin."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}show_releases
List all tags/releases in the repository, newest first. Returns tag names, target SHAs, and annotation messages.
{
"type": "object",
"properties": {
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}show_change
Show the diff for a specific file or all changed files. Returns unified diff text.
{
"type": "object",
"properties": {
"staged": {
"type": "boolean",
"default": false,
"description": "Show staged diff. Default false."
},
"filePath": {
"type": "string",
"default": "",
"description": "Repo-relative file path. If empty, shows all."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}new_release
Create an annotated git tag and push it to the remote. Returns the tag name and target commit SHA.
{
"type": "object",
"properties": {
"message": {
"type": "string",
"default": "",
"description": "Annotation message for the tag."
},
"tagName": {
"type": "string",
"default": "",
"description": "Tag name, e.g. v1.2.0."
},
"remoteName": {
"type": "string",
"default": "origin",
"description": "Remote to push to. Default origin."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}find_changes
List changed files: staged, unstaged, and untracked. Returns file counts and paths by status group.
{
"type": "object",
"properties": {
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}show_remote
Show all remote names and their fetch/push URLs. Returns list of remotes with URL and type.
{
"type": "object",
"properties": {
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}get_updates
Fetch from remote and show incoming commits not yet in local branch. Returns count and commit summaries.
{
"type": "object",
"properties": {
"remoteName": {
"type": "string",
"default": "origin",
"description": "Remote name. Default origin."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}undo_changes
Discard uncommitted changes. If filePath given, restores that file; otherwise restores all tracked files. Returns list of restored paths.
{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"default": "",
"description": "Repo-relative file path to undo. If empty, undoes all tracked changes."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}switch_work
Switch to an existing branch. Returns the branch switched to and current HEAD SHA.
{
"type": "object",
"properties": {
"branchName": {
"type": "string",
"default": "",
"description": "Name of the branch to switch to."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}search_history
Search commit history for commits whose message matches a search term. Returns matching commits with SHA, author, date, and message.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"description": "Max commits to return. Default 20."
},
"searchTerm": {
"type": "string",
"default": "",
"description": "Text to search for in commit messages."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}show_history
Show recent commit history. Returns commits with SHA, author, date, and message.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"description": "Number of commits to return. Default 20."
},
"branchName": {
"type": "string",
"default": "",
"description": "Branch name. Default current branch."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}new_work_branch
Create a new branch from current HEAD and switch to it. Returns branch name and base commit SHA.
{
"type": "object",
"properties": {
"branchName": {
"type": "string",
"default": "",
"description": "Name of the new branch."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}set_token
Store a personal access token for HTTP git authentication. Returns confirmation (token value is never echoed).
{
"type": "object",
"properties": {
"token": {
"type": "string",
"default": "",
"description": "Personal access token to store."
},
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}clear_junk
Remove untracked files and directories from the working tree (git clean -fd). Returns list of removed paths.
{
"type": "object",
"properties": {
"workingDirectory": {
"type": "string",
"default": ".",
"description": "Git repo path. Default current directory."
}
}
}Prompts
4 advertised
save_and_share
Save all my current work and publish it to the remote. Uses find_changes, save_work, and push.
- workingDirectory
- Git repo path. Default current directory.
start_new_work
Start a new piece of work on its own branch so it stays separate from everything else.
- workName
- A short name for the work, like 'fix login bug'. (required)
- workingDirectory
- Git repo path. Default current directory.
whats_going_on
Something seems off. Check the repo state and explain it in plain English without changing anything.
- workingDirectory
- Git repo path. Default current directory.
wrap_up_day
End of day: save and publish any pending work, then summarize what I got done today.
- workingDirectory
- Git repo path. Default current directory.
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 371 ms
- 95th percentile latency
- 371 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 371 ms · metadata changed · 22 tool(s), 4 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http giteasy-mcp https://giteasy-mcp.azurewebsites.net/mcpCodex
codex mcp add giteasy-mcp --url https://giteasy-mcp.azurewebsites.net/mcpCursor
{
"mcpServers": {
"giteasy-mcp": {
"url": "https://giteasy-mcp.azurewebsites.net/mcp"
}
}
}Cline
{
"mcpServers": {
"giteasy-mcp": {
"type": "streamableHttp",
"url": "https://giteasy-mcp.azurewebsites.net/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"giteasy-mcp": {
"type": "http",
"url": "https://giteasy-mcp.azurewebsites.net/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http giteasy-mcp https://giteasy-mcp.azurewebsites.net/mcpClaude Desktop
https://giteasy-mcp.azurewebsites.net/mcpWindsurf
{
"mcpServers": {
"giteasy-mcp": {
"serverUrl": "https://giteasy-mcp.azurewebsites.net/mcp"
}
}
}Let your agent find its tools
Find servers like GitEasy MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.