← MCP servers · benjamine

Jsondiffpatch

BLOCKgrade D · trust 69/100

Diff & patch JavaScript objects

deltadiffdiffingjsonjsondiffpatchpatchtext diff

Overview

From the repository's own README, as read at the audited commit.

<p align="center">  <img src="demos/html-demo/logo.svg" width="48px" align="center" alt="jsondiffpatch logo" />  <h1 align="center">jsondiffpatch</h1>  <p align="center">    <a href="https://jsondiffpatch.com">jsondiffpatch.com</a>    <br/>    Diff & patch JavaScript objects  </p></p><!--- badges --><p align="center">  <a href="https://github.com/benjamine/jsondiffpatch/actions?query=branch%3Amaster"><img src="https://github.com/benjamine/jsondiffpatch/actions/workflows/CI.yml/badge.svg?event=push&branch=master" alt="JsonDiffPatch CI status" /></a>  <a href="https://twitter.com/beneidel" rel="nofollow"><img src="https://img.shields.io/badge/created%[email protected]" alt="Created by Benjamin Eidelman"></a>  <a href="https://opensource.org/licenses/MIT" rel="nofollow"><img src="https://img.shields.io/github/license/benjamine/jsondiffpatch" alt="License"></a>  <a href="https://www.npmjs.com/package/jsondiffpatch" rel="nofollow"><img src="https://img.shields.io/npm/dw/jsondiffpatch.svg" alt="npm"></a>  <a href="https://github.com/benjamine/jsondiffpatch" rel="nofollow"><img src="https://img.shields.io/github/stars/benjamine/jsondiffpatch" alt="stars"></a></p>---## **[Live Demo](https://jsondiffpatch.com)**- min+gzipped ~ 16KB- browser and server (ESM-only)- deep diff, use delta to patch- smart array diffing using [LCS](http://en.wikipedia.org/wiki/Longest_common_subsequence_problem), **_IMPORTANT NOTE:_** to match objects inside an array you must provide an `objectHash` function (this is how objects are matched, otherwise a dumb match by position is used). For more details, check [Array diff documentation](docs/arrays.md)- (optionally) text diffing of long strings powered by [google-diff-match-patch](http://code.google.com/p/google-diff-match-patch/) (diff at character level)- reverse a delta, unpatch (eg. revert object to its original state using a delta)- multiple output formats:  - pure JSON, low footprint [delta format](docs/deltas.md)  - <span style="backg

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add jsondiffpatch -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "jsondiffpatch": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}

Exposed tools (1) 1 read · 0 write · 0 destructive

ToolRiskDescription
diffreadcompare text or data and get a readable diff

Details

Source
benjamine/jsondiffpatch
npm
jsondiffpatch@0.7.6
Transports
stdio
License
MIT
Stars
5,340 · pushed 121d ago

Trust audit

Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (2 observation(s))
Shell
declared (2 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (12)

HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
packages/diff-mcp/src/server.ts:142
return yaml.load(data);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
demos/html-demo/demo.ts:357
eval(s.innerHTML);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/jsondiffpatch/test/examples/diffpatch.ts:2
import type { Delta, Options } from "../../src/index.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/jsondiffpatch/test/formatters/annotated.spec.ts:2
import * as annotatedFormatter from "../../src/formatters/annotated.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/jsondiffpatch/test/formatters/annotated.spec.ts:3
import * as jsondiffpatch from "../../src/index.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/jsondiffpatch/test/formatters/html.spec.ts:3
import * as htmlFormatter from "../../src/formatters/html.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/jsondiffpatch/test/formatters/html.spec.ts:4
import * as jsondiffpatch from "../../src/index.js";
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
demos/console-demo/package.json
jsondiffpatch, typescript
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
demos/html-demo/package.json
json5, jsondiffpatch, esbuild, typescript
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
demos/numeric-plugin-demo/package.json
jsondiffpatch, typescript
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@biomejs/biome, typescript
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/diff-mcp/package.json
@dmsnell/diff-match-patch, @modelcontextprotocol/sdk, fast-xml-parser, js-yaml, json5, jsondiffpatch, smol-toml, zod
Why it matters. 13 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-09-13 · audit v0.4.0 · source sha 19ee573ece35 · full audit: observations/trust-audit/mcp-server/benjamine__jsondiffpatch.json · Report an issue or request a re-scan

Audit history

DateSourceVerdictGradeScoreChange
2026-09-1319ee573ece35BLOCKD69first audit

Also audited

Servers with a similar trust profile.

Questions

What is the Jsondiffpatch MCP server?

Diff & patch JavaScript objects

What tools does Jsondiffpatch expose?

1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Jsondiffpatch safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does Jsondiffpatch need?

No credential environment variables were found in its source, so it appears to need none.

How does Jsondiffpatch run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as jsondiffpatch at 0.7.6.

How current is this page?

The grade is for one exact copy of the source (19ee573ece35), read on 2026-09-13. The repository is watched and re-audited when it changes.

Provenance: OBSERVED · read 2026-09-13 · job trust-audit-2026-09-13