About vineethwilson15/semamerge
vineethwilson15/semamerge is an MCP server published by vineethwilson15 in the Blockchain category: file dependency conflicts.
Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/vineethwilson15/semamergeThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (4)
analyze_branchesDeep semantic analysis between two branches. Returns a detailed per-file report of all semantic changes and conflicts, including cross-file dependency issues.
Parameters not published.
analyze_file_pairDeep-dive semantic diff of a single file between two branches. Shows exactly what each branch changed and where conflicts arise.
Parameters not published.
check_merge_safetyQuick 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.
Parameters not published.
list_semantic_changesLists all semantic changes on a branch (function additions/removals, export changes, type changes, etc.) relative to a base. Useful for understanding what semantically changed.
Parameters not published.
Ask AI
Ask AI about vineethwilson15/semamerge
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
SemaMerge
An MCP (Model Context Protocol) server that detects semantic merge conflicts between Git branches using AST-level analysis.
When two branches change code in ways that Git merges cleanly but are functionally incompatible, SemaMerge catches it before the merge breaks your app.
What It Detects
| Conflict Type | Example |
|---|---|
| Type signature change | Branch A changes getUser() return type, Branch B calls getUser().address |
| Removed/renamed export | Branch A removes export function validate(), Branch B adds import { validate } |
| Parameter change | Branch A adds required param to function, Branch B calls with old signature |
| Interface/contract break | Branch A adds required field to interface, Branch B implements without it |
| Enum/constant change | Branch A removes Status.PENDING, Branch B uses Status.PENDING |
| Import path change | Branch A moves file, Branch B imports from old path |
Installation
npx semamerge
Or install globally:
npm install -g semamerge
Or clone and build from source:
git clone https://github.com/vineethwilson15/semamerge.git
cd semamerge
npm install
npm run build
MCP Tools
check_merge_safety
Quick pre-merge check. Returns a risk score (safe/warning/danger).
{
"repoPath": "/path/to/repo",
"sourceBranch": "feature-x",
"targetBranch": "main"
}
analyze_branches
Deep analysis with per-file breakdown of all semantic conflicts.
{
"repoPath": "/path/to/repo",
"branchA": "feature-x",
"branchB": "feature-y",
"baseBranch": "main"
}
list_semantic_changes
Lists all semantic changes on a branch (functions, exports, types, etc.).
{
"repoPath": "/path/to/repo",
"branch": "feature-x",
"baseBranch": "main"
}
analyze_file_pair
Deep-dive into a specific file's semantic diff between two branches.
{
"repoPath": "/path/to/repo",
"filePath": "src/utils.ts",
"branchA": "feature-x",
"branchB": "main"
}
Configuration
VS Code (Copilot)
Add to your VS Code settings.json:
{
"mcp": {
"servers": {
"semamerge": {
"command": "node",
"args": ["/path/to/semamerge/dist/index.js"]
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"semamerge": {
"command": "node",
"args": ["/path/to/semamerge/dist/index.js"]
}
}
}
Supported Languages
- TypeScript / JavaScript (
.ts,.tsx,.js,.jsx,.mjs,.cjs) - Python support planned
How It Works
- Git layer — Reads file content from branches without checkout using
git show - AST parsing — Parses source code with tree-sitter (WASM) into syntax trees
- Semantic extraction — Walks ASTs to extract function signatures, types, exports, imports, enums
- Three-way comparison — Computes semantic diffs from common ancestor to each branch
- Conflict detection — Cross-references changes to find incompatibilities
Development
npm run build # Compile TypeScript
npm run dev # Watch mode
npm test # Run tests
License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.