MCP server that detects semantic (non-textual) merge conflicts between Git branches using AST-level analysis. Catches incompatible changes that Git merges cleanly but break at runtime — like signature changes, removed exports, interface breaks, and cross-file dependency conflicts.
Overview
Features
- Type signature changes — Branch A changes return type, Branch B uses old type
- Removed/renamed exports — Branch A removes export, Branch B imports it
- Parameter changes — Branch A adds required param, Branch B calls with old signature
- Interface/contract breaks — Branch A adds required field, Branch B implements without it
- Enum/constant changes — Branch A removes enum member, Branch B uses it
- Cross-file conflicts — Detects import/export dependency breaks across files
Tools
check_merge_safety— Quick pre-merge risk score (safe/warning/danger)analyze_branches— Deep per-file semantic conflict analysislist_semantic_changes— List all semantic changes on a branchanalyze_file_pair— Single-file deep dive between two branches
Install
npm install -g semamerge
Server Config
{
"mcpServers": {
"semamerge": {
"command": "npx",
"args": [
"-y",
"semamerge"
]
}
}
}