System-wide remote git manager with MCP tools for repository operations, status tracking, collaboration, and git actions
RepoYeti MCP server demonstrates solid definition quality with well-structured tool naming following verb_noun conventions and comprehensive parameter documentation. All 16 tools have explicit schemas with typed parameters and descriptions. However, several tools lack sufficient context in their descriptions to guide LLM selection, and output schemas are not documented in the provided code. The server excels at accepting human-friendly identifiers (repo id, name, or basename) and clearly marking which tools are mutative. Error handling guidance is minimal, descriptions state WHAT happens but rarely explain recovery paths or when to use one tool vs another.
MUTATES REMOTE: commit, fast-forward pull, and push the sharer's dirty checkout. Requires a collaborative control-tier share, explicit MCP approval, and the exact remote state to have remained unchanged under observation for at least 10 minutes. Never amends.
Read one changed-file diff from the sharer's checkout through an accepted collaboration.
Read the sharer's current repo status and changed paths through an accepted collaboration. Also reports how long the exact dirty state has remained unchanged under observation.
MUTATES: create a new branch in a repository (optionally switch to it).
List every repository that is currently ahead of or behind its remote.
MUTATES: commit a repository's working tree with the given message (optionally amend).
Output schemas not documented in code, tools return data structures but no specification of return field types, required vs optional fields, or nesting. LLMs cannot plan downstream calls or extract data with confidence.
Descriptions lack recovery/dependency guidance. E.g., 'git_diff: Show the diff...' does not explain when to call repo_changes first or what happens if the path is invalid. Descriptions should guide tool selection and multi-step planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Show the diff (HEAD vs working tree) of one changed file in a repository.
List a repository's commit history (newest first). Optional limit and merge filter.
Search the content of a repository's changed files for a query string.
List a repository's local branches with their upstream and ahead/behind counts.
List accepted repositories shared with this RepoYeti and live peer working trees currently collaborating with this RepoYeti.
List every repository RepoYeti knows about (id, name, path, vcs, cached status).
List a repository's stash entries.
List a repository's changed paths with status, staged state, line/character statistics, and truncation metadata. Use this before git_diff or git_commit.
Get one repository's status block: branch, dirty count, ahead/behind, remote.
One compact 'what needs attention across all repos' snapshot: conflicted/mid-git-operation repos, repos ahead/behind their remote, repos the auto-commit timer would currently skip, and repos with uncommitted changes. Grouped arrays, each entry {id, name, branch, reason}.
Error handling guidance missing. Tools describe state mutations (MUTATES, MUTATES REMOTE) but do not specify what errors can occur, which are retryable, or how to recover. E.g., 'git_commit' does not explain what happens if there are no changes, unresolved conflicts, or permission failures.
Pagination/result limits not documented. Tools like 'git_log', 'list_repos', 'list_branches' do not specify max result sizes, pagination boundaries, or truncation behavior. Large result sets could exhaust context windows.
'drift' description is vague, 'ahead of or behind its remote' does not explain if this is an aggregate list or per-repository status, what fields are returned, or how to use it to prioritize action.
Destructive tools (git_commit, create_branch, collaboration_commit_sync) lack confirmation/dry-run patterns. No mention of whether these are reversible, if confirmation is required before commit, or how to test safely.