beyondcompare-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@beyondcompare-mcpcompare two versions of package.json"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Beyond Compare MCP Server
Model Context Protocol (MCP) server for Beyond Compare, the powerful file and folder comparison tool for Windows. Enables file comparison, folder diffing, 3-way merging, folder sync, and scripted automation through MCP.
Features
File Comparison: Compare two files with binary, text, hex, or rules-based analysis
Folder Comparison: Diff entire directory trees with optional file filters
3-Way Merge: Merge files with base/left/right and auto-merge support
Folder Sync: Synchronize directory contents between locations
Script Automation: Run Beyond Compare scripts for batch operations
Rich Exit Codes: Structured results (same, different, similar, conflicts)
Related MCP server: semamerge
Prerequisites
Windows Only - Beyond Compare 5 must be installed:
Install via winget:
winget install ScooterSoftware.BeyondCompare.5Or download: https://www.scootersoftware.com/download
Verify BComp.com is available at the default path or set
BCOMP_PATH
Installation
From Source
git clone https://github.com/danielsimonjr/beyondcompare-mcp.git
cd beyondcompare-mcp
bun install
bun run buildThe server is written in TypeScript and builds to dist/. Bun is the development
toolchain; Node is the runtime the server ships on.
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"beyondcompare-mcp": {
"command": "node",
"args": ["C:\\mcp-servers\\beyondcompare-mcp\\dist\\index.js"]
}
}
}Claude Code
Add to your ~/.claude/.mcp.json:
{
"mcpServers": {
"beyondcompare-mcp": {
"command": "node",
"args": ["C:\\mcp-servers\\beyondcompare-mcp\\dist\\index.js"]
}
}
}Custom BComp.com Path
If Beyond Compare is installed in a non-default location, set the BCOMP_PATH environment variable:
{
"mcpServers": {
"beyondcompare-mcp": {
"command": "node",
"args": ["C:\\mcp-servers\\beyondcompare-mcp\\dist\\index.js"],
"env": {
"BCOMP_PATH": "D:\\Programs\\Beyond Compare 5\\BComp.com"
}
}
}
}VS Code
Add to .vscode/mcp.json:
{
"servers": {
"beyondcompare-mcp": {
"command": "node",
"args": ["C:\\mcp-servers\\beyondcompare-mcp\\dist\\index.js"]
}
}
}Available Tools
1. compare_files
Compare two files using Beyond Compare. Returns whether files are identical, similar, or different.
Parameters:
left(required): Path to the left (source) fileright(required): Path to the right (target) filefileViewType(optional): Comparison type —text,hex,table,mp3,picture,registry,versionsilent(optional): Quick comparison without GUI (default: true)readOnly(optional): Open files as read-only (default: false)
Example:
{
"left": "C:\\project\\old\\config.json",
"right": "C:\\project\\new\\config.json",
"silent": true
}Returns: SAME, SIMILAR, DIFFERENT, or ERROR with Beyond Compare exit code details.
2. compare_folders
Compare two folders and report differences in contents.
Parameters:
left(required): Path to the left (source) folderright(required): Path to the right (target) folderfilters(optional): File filter pattern (e.g.,*.js;*.tsor-*.log)silent(optional): Quick comparison without GUI (default: true)
Example:
{
"left": "C:\\project\\v1\\src",
"right": "C:\\project\\v2\\src",
"filters": "*.ts;*.tsx",
"silent": true
}3. merge_files
Perform a 3-way merge with base, left, and right files.
Parameters:
left(required): Path to the left fileright(required): Path to the right filecenter(required): Path to the center (base/ancestor) fileoutput(required): Path for the merged output fileautomerge(optional): Auto-merge non-conflicting changes (default: false)reviewConflicts(optional): Open GUI if automerge finds conflicts (default: false)favorLeft(optional): Favor left side for conflicts (default: false)favorRight(optional): Favor right side for conflicts (default: false)
Example:
{
"left": "C:\\merge\\mine.txt",
"right": "C:\\merge\\theirs.txt",
"center": "C:\\merge\\base.txt",
"output": "C:\\merge\\result.txt",
"automerge": true,
"reviewConflicts": true
}Returns: SUCCESS, CONFLICTS, or ERROR.
4. sync_folders
Open a Folder Sync session to synchronize two directories.
Parameters:
left(required): Path to the left (source) folderright(required): Path to the right (target) folderfilters(optional): File filter pattern (e.g.,-node_modules;-.git)
Example:
{
"left": "C:\\source\\project",
"right": "D:\\backup\\project",
"filters": "-node_modules;-.git;-dist"
}5. run_script
Run a Beyond Compare script file for automated batch operations.
Parameters:
scriptPath(required): Path to the Beyond Compare script filesilent(optional): Run without showing a window (default: true)closeWhenDone(optional): Close script window when finished (default: true)
Example:
{
"scriptPath": "C:\\scripts\\nightly-backup-compare.txt"
}Sample script file (nightly-backup-compare.txt):
folder-report layout:side-by-side &
options:display-mismatches &
output-to:"C:\reports\diff-report.html" output-options:html-color &
"C:\source" "C:\backup"Exit Codes
Beyond Compare returns meaningful exit codes that the MCP server translates:
Code | Meaning |
0 | Success |
1 | Binary same |
2 | Rules-based same |
11 | Binary differences |
12 | Similar |
13 | Rules-based differences |
14 | Conflicts detected |
100 | Error |
101 | Conflicts detected, merge output not saved |
Usage Examples
Example 1: Check if Two Config Files Match
Tell Claude:
Compare my dev and prod config files to see if they're in syncExample 2: Diff Two Project Versions
Tell Claude:
Compare the src folders between v1 and v2 of my project, only looking at TypeScript filesExample 3: Auto-Merge a Git Conflict
Tell Claude:
Merge these three versions of the file — base, mine, and theirs — and auto-resolve what you canExample 4: Run a Backup Comparison Script
Tell Claude:
Run my nightly backup comparison script at C:\scripts\backup-check.txtHow It Works
Beyond Compare CLI: BC exposes
BComp.com(console) andBComp.exe(GUI) for command-line operationsMCP Server: Wraps
BComp.comand translates arguments into CLI callsExit Code Parsing: Rich exit codes are mapped to human-readable verdicts (SAME, DIFFERENT, SIMILAR, CONFLICTS)
Timeout Management: Operations have appropriate timeouts (60s files, 120s folders, 300s merge/sync, 600s scripts)
Troubleshooting
Beyond Compare Not Found
Error: Failed to execute BComp.com
Solutions:
Verify Beyond Compare 5 is installed:
winget list ScooterSoftware.BeyondCompare.5Check the default path:
C:\Users\<username>\AppData\Local\Programs\Beyond Compare 5\BComp.comSet
BCOMP_PATHenvironment variable in your MCP config
Timeout on Large Comparisons
Issue: Folder comparisons or syncs time out
Solution: For very large directory trees, use filters to narrow the scope, or use run_script with a Beyond Compare script that has more control over the operation.
License Required
Beyond Compare requires a license for full functionality. A 30-day trial is available. Without a license, some features may be limited.
Development
# Clone repository
git clone https://github.com/danielsimonjr/beyondcompare-mcp.git
cd beyondcompare-mcp
# Install dependencies (Bun >= 1.4.2)
bun install
# Type-check, test, build
bun run typecheck
bun run test
bun run build
# Run the built server the way a client does
node dist/index.js
# Confirm the built artifact speaks MCP
node scripts/smoke.mjsLayout
Path | Holds |
| Locating and running BComp.com; exit-code meanings |
| Parsing Beyond Compare XML folder reports |
| Tool schemas paired with their handlers |
|
|
| Entry point: connect stdio and start |
The tests import these modules directly. src/index.ts is the only file that starts
anything, which is what keeps the rest testable.
Contributing
Contributions welcome! Please:
Fork the repository
Create a feature branch
Make your changes
Test thoroughly
Submit a pull request
License
MIT License - see LICENSE file for details.
Acknowledgments
Beyond Compare by Scooter Software
Model Context Protocol by Anthropic
Links
GitHub Repository: https://github.com/danielsimonjr/beyondcompare-mcp
Beyond Compare: https://www.scootersoftware.com/
MCP Documentation: https://modelcontextprotocol.io
Made with care for the MCP community
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect any two APIs and keep them in sync — 48 MCP tools with shadow previews and diagnostics.
mtdt.io MCP: Salesforce DevOps platform connector (metadata deployments, backups and more)
MCP registry & directory: search, find & install 31k+ MCP servers & tools. Catalog and marketplace.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables intelligent file and folder comparison with advanced text normalization, duplicate detection, and line-level diff analysis. Provides secure workspace-constrained file operations with CRC32-based exact matching and smart text comparison capabilities.-
- AlicenseAqualityDmaintenanceMCP server that detects semantic (non-textual) merge conflicts between Git branches using AST-level analysis. Catches incompatible changes that Git merges cleanly — signature changes, removed exports, parameter changes, interface breaks, and cross-file dependency conflicts.432 npmMIT
- AlicenseNot gradedqualityBmaintenanceMCP server for comparing JSON, XML, XLSX, CSV, and text data using expected templates, returning pass/fail with difference details.0MIT
- AlicenseAqualityBmaintenanceProvides safe, deterministic inspection, transformation, validation, and diffing of structured data (JSON, CSV, YAML, Parquet) via schema-aware MCP tools.4Apache 2.0