{"serverId":"mcp-registry/io.github.greenmtnsun/giteasy","tools":[{"name":"find_changes","fixed":{"name":"find_changes","description":"List changed files: staged, unstaged, and untracked. Returns file counts and paths by status group.","inputSchema":{"type":"object","properties":{"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"get_updates","fixed":{"name":"get_updates","description":"Fetch from remote and show incoming commits not yet in local branch. Returns count and commit summaries.","inputSchema":{"type":"object","properties":{"remoteName":{"type":"string","default":"origin","description":"Remote name. Default origin."},"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":110,"tokensAfter":110},{"name":"get_vault_status","fixed":{"name":"get_vault_status","description":"Report current git credential helper configuration. Returns helper name and scope.","inputSchema":{"type":"object","properties":{"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"reset_login","fixed":{"name":"reset_login","description":"Clear stored git credentials by unsetting the credential helper in local git config. Returns confirmation.","inputSchema":{"type":"object","properties":{"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"search_history","fixed":{"name":"search_history","description":"Search commit history for commits whose message matches a search term. Returns matching commits with SHA, author, date, and message.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":145},{"name":"set_ssh","fixed":{"name":"set_ssh","description":"Change a remote URL to its SSH equivalent. Returns old and new remote URLs.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"set_token","fixed":{"name":"set_token","description":"Store a personal access token for HTTP git authentication. Returns confirmation (token value is never echoed).","inputSchema":{"type":"object","properties":{"token":{"type":"string","default":"","description":"Personal access token to store."},"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"set_vault","fixed":{"name":"set_vault","description":"Configure the git credential helper to use a specific vault path. Returns new credential helper value.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"show_change","fixed":{"name":"show_change","description":"Show the diff for a specific file or all changed files. Returns unified diff text.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"show_diagnostic","fixed":{"name":"show_diagnostic","description":"Show git repository diagnostic info: current branch, upstream, HEAD SHA, remote URLs, and status summary.","inputSchema":{"type":"object","properties":{"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":85,"tokensAfter":85},{"name":"show_history","fixed":{"name":"show_history","description":"Show recent commit history. Returns commits with SHA, author, date, and message.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":131,"tokensAfter":131},{"name":"show_releases","fixed":{"name":"show_releases","description":"List all tags/releases in the repository, newest first. Returns tag names, target SHAs, and annotation messages.","inputSchema":{"type":"object","properties":{"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"show_remote","fixed":{"name":"show_remote","description":"Show all remote names and their fetch/push URLs. Returns list of remotes with URL and type.","inputSchema":{"type":"object","properties":{"workingDirectory":{"type":"string","default":".","description":"Git repo path. Default current directory."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80}],"toolsChanged":13,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}