An MCP server that manages Claude conversation history per Git branch. Saves/loads conversation context per branch, auto-detects branch switches, compacts history when approaching token limits, and works with Docker Desktop MCP Toolkit.
The server has 6 well-defined tools with proper verb-noun naming (git_history_get_branch, git_history_save, etc.), complete input schemas with type information and descriptions, and clear tool descriptions. However, there are significant gaps in output schema documentation, error handling guidance, and parameter constraint clarity. Tool descriptions are adequate (100-200 chars range) but lack dependency hints and recovery guidance. The schema definitions are solid but output structures are not formally documented in the tool definitions themselves.
Replace the full conversation history with a compacted/summarized version for a branch. Useful when approaching token limits. Creates a snapshot of the original history.
Delete all stored history for a specific branch. This action cannot be undone.
Detect the current Git branch for a repository. Returns the current branch name and whether history exists for it.
List all branches for which history has been stored, with token estimates and metadata.
Load the conversation history stored for a specific Git branch. Returns empty string if no history exists.
Save or append conversation history to a specific Git branch. Automatically creates branch entries if they don't exist.
Output schemas not formally documented. Tools return structured data but the response format is not declared in the tool definitions. LLMs cannot plan downstream operations without knowing what fields are available (e.g., git_history_list_branches returns branches with token_estimate and metadata, but this is not explicitly documented in the tool schema).
Error handling lacks recovery guidance. The code includes basic error handling (try/except blocks, return None on failure) but does not guide the LLM on what to do next. For example, if get_current_branch fails, the tool description does not advise the agent to try with an explicit branch_name or check git availability.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
Missing confirmation pattern for destructive operations. git_history_delete_branch_history permanently deletes history with no dry-run or confirmation step. The description says 'This action cannot be undone' but offers no confirmation_required hint or two-step delete-then-confirm pattern. Agents may accidentally invoke this irreversibly.
Parameter constraints not fully specified. The 'append' parameter in git_history_save has a description and default, but git_history_compact's 'summary' parameter lacks guidance on expected length, format, or compression ratio. The 'repo_path' parameters across all tools require absolute paths but do not document error behavior if the path is invalid or unreachable.
No idempotency guarantee documented. git_history_save and git_history_compact modify state and may be called multiple times by a retrying agent. The tool descriptions do not clarify whether repeated calls with identical parameters produce identical side effects or whether they risk duplication/corruption.