Skip to main content
Glama

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 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

Related MCP server: Git Stuff Server

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

ignoreTrimWhitespace gotcha: with the default true, a line whose only change is indentation (e.g. code moved into a deeper if block) will appear as unchanged context, making the diff look cleaner than a plain git diff would. Set to false if indentation changes need to be visible.

MCP config example

{
  "mcpServers": {
    "vsdiff": {
      "command": "node",
      "args": ["/path/to/mcp-diff/index.js"]
    }
  }
}

Dependencies

Available Tools

1 tool
compute_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modifiedTextYesThe modified complete text.
originalTextYesThe original complete text.
ignoreTrimWhitespaceNoIf true, leading/trailing whitespace differences on each line are ignored. Defaults to false.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

A4.1/5.0
Disambiguation5/5

With only one tool, there is no risk of confusion between tools. The single tool has a clear and distinct purpose.

Naming Consistency5/5

The tool name 'compute_diff' follows a consistent verb_noun pattern, which is clear and predictable.

Tool Count4/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP 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.
    4
    55
    MIT

Latest Blog Posts

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