Local git and GitHub — branches, commits, PRs and stars in one FastMCP 3.4+ server
20 tools with significant structural issues. Most tools have descriptions (good), but schemas are severely underdeveloped: parameters lack type definitions, no output schemas documented, and many parameter descriptions are generic or missing. Tool naming follows verb_noun convention (positive), but parameter naming is inconsistent (operation as string enum vs specific params). No error handling guidance, no confirmation patterns for destructive ops, no pagination support visible. Composition is poor: git_core, git_branch, git_admin are mega-tools with 15+ operations each, violating single-responsibility. Agentic workflow tools (git_agentic_workflow, git_github_search_workflow) have vague descriptions and no schema. Security: no visible secret injection, no permission gates, no audit logging. This is a typical community server with good intent but production gaps.
Daily PR/issue/notification breakfast summary across fleet repos
Full maintainer toolkit — registry_load, port_audit, ci_pulse, full_suite, etc.
Git admin operations — remote_list, remote_add, remote_remove, reset, revert, cherry_pick, clean, submodule_add, submodule_update, submodule_sync, submodule_status, bisect_start, bisect_bad, bisect_good, bisect_reset, worktree_add, worktree_list, worktree_remove. Use git_core for status/log/diff/commit/push/pull/fetch. Use git_branch for branches/merge/rebase/stash/tag.
Multi-step git operations that require reasoning — e.g. complex merge strategies, conflict resolution, branch cleanup, commit squashing.
Git blame — show file blame history
Git branch operations — branch_list, branch_create, branch_switch, branch_delete, branch_rename, branch_merge, rebase, stash, stash_pop, stash_list, stash_drop, tag_list, tag_create, tag_delete. Use git_core for status/log/diff/commit/push/pull/fetch. Use git_admin for remote/reset/clean/submodule/bisect/worktree.
Mega-tools with 15+ operations per tool (git_core, git_branch, git_admin, github_core, etc.). Each operation is a separate concern but bundled into one tool with a string 'operation' enum. Violates single-responsibility pattern. LLM must reason about which operation to select, increasing error rate.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., PR number, commit hash). Responses are unstructured or inferred.
Parameter type definitions missing or incomplete. 'operation' is string enum, but most other params (repo_path, branch, commit) lack explicit type declarations in visible schema. Cannot validate inputs.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
Git core operations — status, log, diff, show, init, clone, add, commit, push, pull, fetch. Core workflow tools. For branch/tag/stash operations use git_branch. For remote/reset/clean/submodule/bisect/worktree use git_admin. Force-push/pull/fetch/clone need confirm=True + confirm_token (red-shelf gate).
Get full operation reference for git_core, git_branch, git_admin, git_blame, github_core, github_branch, github_pr, github_issue, github_release, github_discussion, github_workflow, github_gist, github_user, github_org.
Agentic GitHub discovery/search tasks — e.g. find repos by topic, search issues across org, discover trending projects.
Get git and GitHub status — current repo, branch, commits, PRs, issues, notifications.
GitHub branch operations — branch_list, branch_get, branch_create, branch_delete, branch_protect, branch_unprotect, branch_rename, branch_merge, branch_rebase, branch_squash.
GitHub core operations — repo_get, repo_list, repo_search, repo_topics, repo_languages, repo_contributors, repo_activity, repo_readme, repo_license, repo_codeowners, repo_security, repo_visibility, repo_description, repo_homepage, repo_topics_set, repo_description_set, repo_homepage_set, repo_visibility_set, repo_delete, repo_archive, repo_unarchive, repo_fork, repo_clone_url, repo_ssh_url, repo_http_url, repo_git_url, repo_web_url, repo_issues_url, repo_pulls_url, repo_releases_url, repo_discussions_url, repo_wiki_url, repo_projects_url, repo_settings_url.
GitHub discussion operations — discussion_list, discussion_get, discussion_create, discussion_update, discussion_close, discussion_reopen, discussion_comment, discussion_answer.
GitHub gist operations — gist_list, gist_get, gist_create, gist_update, gist_delete, gist_fork, gist_star, gist_unstar.
GitHub issue operations — issue_list, issue_get, issue_create, issue_update, issue_close, issue_reopen, issue_comment, issue_label, issue_unlabel, issue_assign, issue_unassign, issue_milestone, issue_lock, issue_unlock.
GitHub organization operations — org_get, org_repos, org_members, org_teams, org_projects.
GitHub pull request operations — pr_list, pr_get, pr_create, pr_update, pr_close, pr_reopen, pr_merge, pr_comment, pr_review, pr_review_comment, pr_dismiss_review, pr_request_review, pr_unrequest_review, pr_draft, pr_ready_for_review, pr_commits, pr_files, pr_checks, pr_status.
GitHub release operations — release_list, release_get, release_create, release_update, release_delete, release_publish, release_unpublish.
GitHub user operations — user_get, user_repos, user_followers, user_following, user_starred, user_gists, user_events, user_orgs.
GitHub workflow operations — workflow_list, workflow_get, workflow_runs, workflow_run_get, workflow_run_cancel, workflow_run_rerun, workflow_run_delete, workflow_dispatch.
Destructive operations (force push, hard reset, delete repo) lack confirmation patterns. 'confirm' and 'confirm_token' params exist but no guidance on how to generate/validate tokens. No dry-run support visible.
Agentic workflow tools (git_agentic_workflow, git_github_search_workflow) have vague descriptions ('Multi-step git operations', 'Agentic GitHub discovery') and no schema. Unclear what inputs they accept or what they return. Inferred tool definitions.