GitEasy MCP

io.github.greenmtnsunPublished by GitHub account greenmtnsunv1.6.2Updated Oct 25, 2026

Plain-English git for agents: 22 tools to branch, commit, push and tag. Free tier.

VerifiedStreamable HTTPWeb executableFiles & StorageDeveloper Tools

Overview

AI-generated overview

A remote MCP server that lets an assistant run everyday Git tasks in plain terms: branch, commit, push, tag, inspect history and manage credentials.

What you can do
Save work: stage, commit with a message and optionally push in one step, or push already-committed work and create annotated tags and releases for publishing changes to a remote repository. Inspect state: show repository diagnostics, changed files, diffs, remotes, recent and searched commit history, incoming commits and releases. Manage branches: create a new branch from HEAD, switch to an existing branch, and restore a single file to its HEAD state. Undo work: discard uncommitted changes for one file or all tracked files, and remove untracked files and directories. Manage credentials: store a personal access token, switch a remote to SSH, set or report the credential helper vault, test the
When to use it
Useful when you want an assistant to handle routine Git operations on a repository without composing raw Git commands, for example saving and publishing changes, checking what changed, reviewing history, or creating a release tag.
Requirements
A remote endpoint reached over streamable HTTP; no local package is installed. A required API key is sent in the X-Api-Key header; the manifest points to a free key with a monthly write-call limit. The repository being worked on must be reachable by the service.
Before you install
The API key is a secret sent in the X-Api-Key header, and the free tier caps write calls per month, so heavy use may need a paid key. Many tools change state: push, save_work, new_release, switch_work, new_work_branch, set_ssh, set_vault, set_token and reset_login. restore_file, undo_changes and clear_junk discard uncommitted or untracked work and cannot be undone. Credential tools store or clear Git logins on the configured setup.

Installation

In SourceWeft

  1. Open GitEasy MCP in the dashboard and add it to a workspace.
  2. Connect X-Api-Key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.greenmtnsun%2Fgiteasy/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "giteasy": {
      "type": "http",
      "url": "https://giteasy-mcp.azurewebsites.net/mcp",
      "headers": {
        "X-Api-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

GitEasy

[GitEasy — Plain-English Git for everyone who isn't a developer]

A PowerShell module that lets a Git-clueless person save and publish their work without learning Git jargon.

From Keith

I'm Keith Ramsey. For a living, I'm a SQL Server database administrator, and in my spare time, I'm a massive PowerShell enthusiast. For the past thirteen years, I've worked on the same team, quietly building internal tools to solve our specific headaches. GitEasy is a new chapter for me. It's the first tool I've ever released to the public, and honestly, the process of designing for strangers—polishing the code, writing in plain English just to be helpful—has been an absolute blast.

If you're checking out this module, I don't just hope you like it—I hope it gives you a sense of relief. I'll admit it: Git used to scare me. I've messed up commits, walked away from my desk in frustration, and told myself I'd figure it out tomorrow. While full-time developers breeze through Git, I work alongside DBAs, compliance teams, and change managers. We're the folks who just want our old TFS check-ins back. Git isn't just a tool; it's a whole new vocabulary filled with traps.

For a long time, we managed to avoid it. But eventually, the mandate came down: Git is here, learn it. Sitting there, feeling like I was studying for a final exam just to save a file, the concept for GitEasy clicked. What if we could strip away the jargon? What if checking in code didn't require an entirely new vocabulary?

Enter GitEasy. Just five simple commands. No confusing raw Git text. One log file per action. It's a frictionless wrapper—if you know Git, you can bypass it anytime. If you don't, you'll never need to see the scary stuff.

One important note: for now, I'm the only one making changes to GitEasy. Setting up the right legal paperwork to accept code changes from other people involves a lawyer, and I'd rather put my time and money into shipping more useful code than into legal forms I might have to redo. It's not a permanent stance; I'm just taking it slow. But rest assured, GitEasy is licensed under MPL 2.0, which means anyone is free to pick up the code and continue with it on their own. The project's survival doesn't depend on me.

I completely understand if that decision gives you pause. I'm just a guy figuring out the open-source world one step at a time. The door isn't bolted, it's just closed for today. I am fully open to bug reports and feature ideas — head to the GitHub project and open an Issue, tell me what you need, and I'll read it. No code necessary. If you want to chat, find me at @greenmtnsun on GitHub.

If you've ever closed PowerShell because the Git error message felt scarier than the change you were trying to save: this was built for you. I hope it brings some relief — and that you enjoy using it. Take care.

Notes

Short status notes from Keith. Newest at top. Edit / extend as the project moves.

2026-05-22 — Direction for CI and AI-agent users has its own page

Added docs/USING-IN-CI-AND-AGENTS.md. It's a single contract for anyone who wants to use GitEasy from a CI pipeline (GitHub Actions, Azure Pipelines, GitLab) or an AI coding agent. Deliberately does not ask consumers to run my own test suite or jargon audit — those are my quality bars, not theirs.

2026-05-22 — Contribution door is closed for now

No CLA in place; I'm not investing in legal until there's a real reason to. Bug reports as Issues are welcome. PRs won't be reviewed. When that changes, this note will say so.

2026-05-21 — v1.5.3 staged, holding the PowerShell Gallery publish

1.5.3 is feature-complete, manifest-ready (icon, in-repo LicenseUri, inline plaintext release notes, 14 audience-tagged keywords), and the .nupkg builds cleanly with per-doc PDFs included. I'm holding the actual PSGallery publish until I decide whether to flip the repo to public. The first outside user (Tycro) is installing from a private-repo clone right now — that's working fine.

2026-05-20 — Security review pass complete (v1.5.2)

Three credential-surface findings closed (F-04 / F-05 / F-06) covering sibling-pattern bugs the 1.5.1 review missed. Full kill-test suite added in Tests/GitEasy.AuthHardening.Tests.ps1. If you're using GitEasy with a credential helper, you want at least 1.5.2.

What it gives you

A small set of plain-English commands. The complicated stuff stays inside the engine; what you see and type stays simple.

powershell
Find-CodeChange         # What has changed?Save-Work 'fix readme'  # Save and publish in one step.Show-History            # Recent saved points.Show-Remote             # Where this folder is published.

When something goes wrong, you get a plain-English message and a path to a self-contained log file with the technical detail. No raw Git output is ever shown to the user.

Install

Friend-fast install (PS 5.1 and PS 7, no admin needed):

powershell
$Edition = if ($PSVersionTable.PSEdition -eq 'Core') { 'PowerShell' } else { 'WindowsPowerShell' }$ModuleDir = Join-Path $HOME "Documents\$Edition\Modules\GitEasy"git clone https://github.com/greenmtnsun/GitEasy.git $ModuleDirImport-Module GitEasy

That drops GitEasy into your user-scope PowerShell module folder (which is on $env:PSModulePath by default), so Import-Module GitEasy works from anywhere. See docs/HOW-TO-USE-GITEASY.md for the offline-install path and all-users scope.

Once a PowerShell Gallery release lands, the install becomes:

powershell
Install-Module GitEasy -Scope CurrentUser

The PowerShell Gallery page (when published) will be at powershellgallery.com/packages/GitEasy.

Quickstart

powershell
# In any folder that is already a Git repo:Find-CodeChangeSave-Work 'first save'Show-History -Count 5

If the repo has not been published anywhere yet, Save-Work will tell you so and save locally. When you connect a published location later, the next Save-Work will publish everything you have saved up to that point.

The full command surface

CommandWhat it does
Find-CodeChangeShow what has changed in your project folder.
Save-WorkSave changes and publish them (or save locally with -NoPush).
Show-HistoryShow recent saved points.
Show-RemoteShow where the project folder is published.
Show-DiagnosticOpen or list the diagnostic log files.
New-WorkBranchStart a new working area for an isolated task.
Switch-WorkSwitch to another existing working area.
Restore-FileRestore a single file to its last saved state.
Undo-ChangesThrow away unsaved changes (requires -Force or -Confirm).
Clear-JunkList or remove obvious temporary files.
Test-LoginVerify connectivity to the published location.
Set-TokenConfigure HTTPS-based login.
Set-SshConfigure SSH-based login.
Set-VaultChoose where saved logins are stored.
Get-VaultStatusReport the configured credential helper.
Reset-LoginForget the saved login so it can be set up again.

Each command has full comment-based help — Get-Help <Command> -Full for the friendly version.

Diagnostic logs

Every public command writes a small log file under %LOCALAPPDATA%\GitEasy\Logs. Successful runs log silently. Failures throw a plain-English message and tell you the log path so a Git-aware person can read what happened.

powershell
Show-Diagnostic           # Open the most recent log.Show-Diagnostic -List     # List recent logs.Show-Diagnostic -All      # Open the logs folder.

Logs older than 30 days are pruned automatically.

Documentation

The full documentation lives in the GitHub Wiki. Every public command has its own page with synopsis, examples, safety notes, and a related-commands cross-reference. Every private helper has a similar page for maintainers.

Compatibility

  • Windows PowerShell 5.1+
  • PowerShell 7+ (Windows; cross-platform may work but is not the design target)
  • Git must be installed and on PATH.

Running GitEasy from a CI job or an AI agent? See docs/USING-IN-CI-AND-AGENTS.md — one-page contract for consumers.

Status

GitEasy is at 1.5.3 — feature-complete public surface (21 commands), 569 Pester tests on both PowerShell hosts, and full plain-English contract.

See CHANGELOG.md for the history.

Contributing

GitEasy is maintained by a single author and is not currently accepting outside pull requests — no contributor agreement is in place. Bug reports as Issues are welcome.

The author's quality bar (test discipline, no-jargon rule, diagnostic-log session pattern) is documented in CONTRIBUTING.md for transparency.

License

Mozilla Public License 2.0. File-level copyleft: anyone can use, modify, and embed this code in proprietary or open projects, but modifications to GitEasy's own files must be released under MPL-2.0.

Author

Keith Ramsey (@greenmtnsun).

Source: README.md at commit ced9265

Tools

22

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.

ParametersremoteNameworkingDirectory

show_diagnostic

Show git repository diagnostic info: current branch, upstream, HEAD SHA, remote URLs, and status summary.

ParametersworkingDirectory

set_vault

Configure the git credential helper to use a specific vault path. Returns new credential helper value.

ParametersvaultPathworkingDirectory

restore_file

Restore a single file to its HEAD state, discarding uncommitted changes. Returns restored file path.

ParametersfilePathworkingDirectory

reset_login

Clear stored git credentials by unsetting the credential helper in local git config. Returns confirmation.

ParametersworkingDirectory

set_ssh

Change a remote URL to its SSH equivalent. Returns old and new remote URLs.

ParameterssshUrlremoteNameworkingDirectory

save_work

Stage changes, commit with a message, and optionally push to remote. Returns commit SHA and push result.

ParametersfilesmessagepushToRemoteworkingDirectory

get_vault_status

Report current git credential helper configuration. Returns helper name and scope.

ParametersworkingDirectory

test_login

Test whether git credentials are working by attempting ls-remote against the origin. Returns success/failure and remote refs count.

ParametersremoteNameworkingDirectory

show_releases

List all tags/releases in the repository, newest first. Returns tag names, target SHAs, and annotation messages.

ParametersworkingDirectory

show_change

Show the diff for a specific file or all changed files. Returns unified diff text.

ParametersstagedfilePathworkingDirectory

new_release

Create an annotated git tag and push it to the remote. Returns the tag name and target commit SHA.

ParametersmessagetagNameremoteNameworkingDirectory

find_changes

List changed files: staged, unstaged, and untracked. Returns file counts and paths by status group.

ParametersworkingDirectory

show_remote

Show all remote names and their fetch/push URLs. Returns list of remotes with URL and type.

ParametersworkingDirectory

get_updates

Fetch from remote and show incoming commits not yet in local branch. Returns count and commit summaries.

ParametersremoteNameworkingDirectory

undo_changes

Discard uncommitted changes. If filePath given, restores that file; otherwise restores all tracked files. Returns list of restored paths.

ParametersfilePathworkingDirectory

switch_work

Switch to an existing branch. Returns the branch switched to and current HEAD SHA.

ParametersbranchNameworkingDirectory

search_history

Search commit history for commits whose message matches a search term. Returns matching commits with SHA, author, date, and message.

ParameterslimitsearchTermworkingDirectory

show_history

Show recent commit history. Returns commits with SHA, author, date, and message.

ParameterslimitbranchNameworkingDirectory

new_work_branch

Create a new branch from current HEAD and switch to it. Returns branch name and base commit SHA.

ParametersbranchNameworkingDirectory

set_token

Store a personal access token for HTTP git authentication. Returns confirmation (token value is never echoed).

ParameterstokenworkingDirectory

clear_junk

Remove untracked files and directories from the working tree (git clean -fd). Returns list of removed paths.

ParametersworkingDirectory

Version history

2
  1. v1.6.2LatestOct 25, 2026
  2. v1.6.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts