Skip to main content
Glama
tatn

MCP Server Diff TypeScript

by tatn

mcp-server-diff-typescript MCP Server

A Model Context Protocol server that provides unified diff generation capabilities.

This TypeScript-based MCP server implements a diff generation system. It provides a tool to generate unified diffs between two text strings, which is useful for comparing and analyzing text differences.

Features

Tools

  • get-unified-diff - Generate unified diff between two text strings

    • Takes oldString and newString as required parameters

    • Returns the difference in unified diff format

    • Uses the diff package for accurate difference detection

    • Includes 3 lines of context around changes

Related MCP server: Git Stuff Server

Installation

As a Global Package

npm install -g mcp-server-diff-typescript

As a Project Dependency

npm install mcp-server-diff-typescript

Usage

Using with Claude Desktop

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json

"mcpServers": {
  "mcp-server-diff-typescript": {
    "command": "npx",
    "args": [
      "-y",
      "mcp-server-diff-typescript"
    ]
  }
}

or Add the following configuration:

git clone https://github.com/tatn/mcp-server-diff-typescript.git
cd mcp-server-diff-typescript
npm install
npm run build
"mcpServers": {
  "mcp-server-diff-typescript": {
    "command": "node",
    "args": [
      "/path/to/mcp-server-diff-typescript/build/index.js"
    ]
  }
}

Debugging

To debug the MCP server:

npx @modelcontextprotocol/inspector npx -y mcp-server-diff-typescript
npx @modelcontextprotocol/inspector node /path/to/mcp-server-diff-typescript/build/index.js

Available Tools

1 tool
get-unified-diffB

Get the difference between two text articles in Unified diff format.

ParametersJSON Schema
NameRequiredDescriptionDefault
oldStringYesold string to compare
newStringYesnew string to compare

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the output format ('Unified diff format') but lacks details on error handling, performance characteristics, or any constraints (e.g., input size limits). For a tool with no annotations, this leaves significant gaps in understanding how it behaves beyond basic functionality.

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?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core purpose and includes the output format, making it easy to understand quickly. Every part of the sentence contributes essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (comparing two strings) and no output schema, the description is adequate but incomplete. It covers the basic purpose and output format but lacks details on behavioral aspects like error cases or performance. Without annotations, it should do more to compensate, but it meets the minimum viable threshold for a simple diff tool.

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?

The schema description coverage is 100%, with clear descriptions for both parameters ('old string to compare' and 'new string to compare'). The description adds minimal value beyond the schema by implying the parameters are text articles, but it doesn't provide additional context like format expectations or examples. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get the difference between two text articles in Unified diff format.' It specifies the verb ('Get'), resource ('difference'), and output format ('Unified diff format'), making the function unambiguous. However, since there are no sibling tools, it doesn't need to differentiate from alternatives, so it doesn't reach the highest score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It states what the tool does but offers no context about scenarios where it's appropriate, prerequisites, or limitations. With no sibling tools, it could implicitly suggest this is the only diff tool, but explicit usage guidelines are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • First observedget-unified-diff

TDQS

B3.3/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as generating unified diffs between text articles, making it impossible to confuse with other tools.

Naming Consistency5/5

The single tool name 'get-unified-diff' follows a clear verb-noun pattern (get + unified_diff). With only one tool, consistency is inherently perfect as there are no other names to compare against.

Tool Count2/5

A single tool is generally too few for most server purposes, as it limits functionality and scope. While this server focuses narrowly on diff generation, having only one tool feels thin and may not cover related operations like diff analysis or formatting options.

Completeness3/5

The tool provides a core diff generation function, but the surface is notably incomplete. There are obvious gaps, such as no tools for comparing files, handling different diff formats, or managing diff history, which limits the server's utility for broader text comparison tasks.

Maintenance

ActivityInactive
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

  • F
    license
    C
    quality
    D
    maintenance
    An efficient MCP server for performing accurate, deep comparisons between JSON objects or strings using the deepdiff engine. It provides AI agents with standardized difference reports, supporting nested structures and various input formats to ensure precise data analysis.
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    A high-performance Model Context Protocol server that provides text diffing capabilities, enabling LLMs to compare two blocks of text and receive differences in unified diff format.
    6
    Apache 2.0

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/tatn/mcp-server-diff-typescript'

If you have feedback or need assistance with the MCP directory API, please join our Discord server