Vsdiff
FreeNot checkedAn MCP server that exposes VS Code's advanced diff algorithm as a tool, providing accurate unified diffs with move detection and annotations.
About
An MCP server that exposes VS Code's advanced diff algorithm as a tool, providing accurate unified diffs with move detection and annotations.
README
An MCP server that exposes VS Code's advanced diff algorithm as a tool.
What it does
Provides a single MCP tool, compute_diff, that computes a highly accurate unified diff between two strings using the same algorithm VS Code uses internally. Features include:
- Move detection — identifies blocks of code that were moved, not just deleted/inserted
- Unified diff output — standard
@@-style hunks with 3 lines of context - Move annotations — deleted lines show
{moved to block #N}and inserted lines show{moved from block #N} - Summary footer — total insertions, deletions, and moved blocks at the end
Usage
Install
npm install
Run
npm start
The server communicates over stdio and is compatible with any MCP client.
Tool: compute_diff
| Parameter | Type | Required | Description |
|---|---|---|---|
originalText |
string | ✅ | The original text |
modifiedText |
string | ✅ | The modified text |
ignoreTrimWhitespace |
boolean | Ignore leading/trailing whitespace differences per line (default: true) |
|
includeMetrics |
boolean | Append a JSON metrics block to the response (default: true) |
|
verboseMetrics |
boolean | Add per-hunk breakdown to the metrics block (default: false) |
|
metricsOnly |
boolean | Return only the metrics block, no diff text — useful for large files (default: false) |
|
maxDiffLines |
number | Truncate the diff text if it exceeds this number of lines (default: 500). Set to 0 to disable. |
|
skipDiffLines |
number | Number of diff text lines to skip from the beginning. Combine with maxDiffLines to paginate through very large diffs (default: 0). |
Metrics fields
| Field | Description |
|---|---|
hunkCount |
Number of separate change regions (lower = easier to review) |
changedLines |
Real insertions + real deletions, excluding moved lines |
realInsertions |
Lines added, excluding moved lines |
realDeletions |
Lines removed, excluding moved lines |
movedBlocks |
Number of detected move operations |
movedLines |
Total lines involved in moves |
hitTimeout |
Whether the diff computation hit the 5 s time limit |
ignoreTrimWhitespacegotcha: with the defaulttrue, a line whose only change is indentation (e.g. code moved into a deeperifblock) will appear as unchanged context, making the diff look cleaner than a plaingit diffwould. Set tofalseif indentation changes need to be visible.
MCP config example
{
"mcpServers": {
"vsdiff": {
"command": "node",
"args": ["/path/to/mcp-diff/index.js"]
}
}
}
Dependencies
- @modelcontextprotocol/sdk — MCP server framework
- vscode-diff — VS Code's diff algorithm, extracted as a standalone package
Installing Vsdiff
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Paul-Particle/mcp-vsdiffFAQ
Is Vsdiff MCP free?
Yes, Vsdiff MCP is free — one-click install via Unyly at no cost.
Does Vsdiff need an API key?
No, Vsdiff runs without API keys or environment variables.
Is Vsdiff hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Vsdiff in Claude Desktop, Claude Code or Cursor?
Open Vsdiff on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Vsdiff with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
