Semamerge

by vineethwilson15

292 downloads
Not rated
GitHub

About

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

Details

Author
vineethwilson15
Downloads
292
Categories
Other

- Detects type signature changes between branches
- Identifies removed or renamed exports
- Catches parameter changes in function calls
- Flags interface/contract breaks
- Alerts on enum/constant member changes
- Detects cross-file import/export dependency breaks

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Semamerge
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install with npm install -g semamerge. Use the provided CLI tools: check_merge_safety for a quick risk score, analyze_branches for deep per-file analysis, list_semantic_changes to list all semantic changes on a branch, and analyze_file_pair for a single-file deep dive between two branches.

check_merge_safety

Quick pre-merge safety check. Analyzes two branches for semantic conflicts that Git would miss (signature changes, removed exports, parameter mismatches, etc.). Returns a risk score: safe/warning/danger.

analyze_branches

Deep semantic analysis between two branches. Returns a detailed per-file report of all semantic changes and conflicts, including cross-file dependency issues.

list_semantic_changes

Lists all semantic changes on a branch (function additions/removals, export changes, type changes, etc.) relative to a base. Useful for understanding what semantically changed.

analyze_file_pair

Deep-dive semantic diff of a single file between two branches. Shows exactly what each branch changed and where conflicts arise.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "semamerge": {
            "semamerge": {
                "command": "npx",
                "args": [
                    "-y",
                    "semamerge"
                ]
            }
        }
    }
}

McpServers

{
    "semamerge": {
        "command": "npx",
        "args": [
            "-y",
            "semamerge"
        ]
    }
}

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 analysis - list_semantic_changes — List all semantic changes on a branch - analyze_file_pair — Single-file deep dive between two branches

Install

npm install -g semamerge
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.