mcp-vsdiff
The mcp-vsdiff server exposes VS Code's advanced diff algorithm as a single MCP tool, compute_diff, for computing highly accurate diffs between two text strings.
Key capabilities:
Compare two strings to get a detailed unified diff with standard
@@-style hunks and 3 lines of contextDetect moved code blocks, annotating deletions with
{moved to block #N}and insertions with{moved from block #N}Control whitespace sensitivity via
ignoreTrimWhitespace(defaulttrue) — lines differing only in leading/trailing whitespace appear as unchanged contextSummary footer showing total insertions, deletions, and moved block counts
Metrics block (default
true) reportinghunkCount,changedLines,movedBlocks, andhitTimeoutVerbose metrics for a per-hunk breakdown
Paginate large diffs using
maxDiffLinesandskipDiffLinesMetrics-only mode via
metricsOnlyto assess the scale of changes without returning diff text
Click on "Install 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., "@mcp-vsdiffShow diff with move detection between original and modified text"
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.
mcp-vsdiff
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 contextMove 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
Related MCP server: Git Stuff Server
Usage
Install
npm installRun
npm startThe server communicates over stdio and is compatible with any MCP client.
Tool: compute_diff
Parameter | Type | Required | Description |
| string | ✅ | The original text |
| string | ✅ | The modified text |
| boolean | Ignore leading/trailing whitespace differences per line (default: | |
| boolean | Append a JSON metrics block to the response (default: | |
| boolean | Add per-hunk breakdown to the metrics block (default: | |
| boolean | Return only the metrics block, no diff text — useful for large files (default: | |
| number | Truncate the diff text if it exceeds this number of lines (default: | |
| number | Number of diff text lines to skip from the beginning. Combine with |
Metrics fields
Field | Description |
| Number of separate change regions (lower = easier to review) |
| Real insertions + real deletions, excluding moved lines |
| Lines added, excluding moved lines |
| Lines removed, excluding moved lines |
| Number of detected move operations |
| Total lines involved in moves |
| 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 frameworkvscode-diff— VS Code's diff algorithm, extracted as a standalone package
Available Tools
1 toolcompute_diffA
Computes a highly accurate diff with move detection using the VS Code advanced diff algorithm. Returns a human-readable unified diff string with context lines, move annotations, and a summary.
| Name | Required | Description | Default |
|---|---|---|---|
| modifiedText | Yes | The modified complete text. | |
| originalText | Yes | The original complete text. | |
| ignoreTrimWhitespace | No | If true, leading/trailing whitespace differences on each line are ignored. Defaults to false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the algorithm and output format but omits limitations, size constraints, or performance details. Behavior is adequately described for a simple diff tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that efficiently convey purpose, algorithm, and output. No fluff, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately describes the return type. Parameters are fully covered in schema. Missing depth on edge cases or failure modes, but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes all three parameters well. The description adds no extra meaning beyond what the schema provides, earning baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a diff using VS Code's advanced algorithm, specifies move detection, and describes the output format (unified diff string with context lines, move annotations, summary). This is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidelines on when to use this tool versus alternatives. Since no sibling tools are provided, the description implicitly suggests usage for detailed diffs, but lacks when-not-to or contextual cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no risk of confusion between tools. The single tool has a clear and distinct purpose.
The tool name 'compute_diff' follows a consistent verb_noun pattern, which is clear and predictable.
The server has only one tool, which is slightly thin for typical MCP servers but is well-scoped for its focused purpose of computing diffs.
The tool fully covers the domain of diff computation with advanced features like move detection and a human-readable summary, leaving no obvious gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Cloudflare Workers MCP server: diff-patch-tools
A MCP server built for developers enabling Git based project management with project and personal…
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceThis MCP server provides unified diffs of two text inputs using Python's standard library difflib.19MIT
- FlicenseCqualityDmaintenanceMCP server providing Git-related functionalities, primarily a tool to generate diffs for Git merge commits against their first parent.4
- AlicenseNot gradedqualityAmaintenanceAn MCP server that exposes Language Server Protocol features to external clients, allowing access to hover information, definitions, completions, references, and rename functionalities.1640MIT
- 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.455MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Paul-Particle/mcp-vsdiff'
If you have feedback or need assistance with the MCP directory API, please join our Discord server