
Packcompare
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026
Diff two versions of a package: files, dependencies, size, and exports.
Overview
Packcompare's local MCP server; no sign-in required; STDIO.
No AI overview yet: these facts come from the registry entry and the server itself.
Installation
In SourceWeft
- Open Packcompare in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
packcompare
A package can change a lot between two versions without any single change looking dramatic: a file quietly grows, a dependency is swapped, an export path disappears. packcompare puts both snapshots side by side and reports the whole move at once, so a release review starts from the diff instead of from a hunch.
You supply two snapshots of the same package — a before
and an after. Each one is a plain description, not a real
package on disk: a version string, a files list of
{path, size} entries, a dependencies map of name to
version string, and an exports list of strings.
The file report splits into three sorted lists: paths only
in after were added, paths only in before were removed,
and paths present in both with different sizes are changed,
each carrying size_before and size_after. File paths must
be unique within a snapshot, and sizes may be zero — an
empty file is still a file. Dependencies get the same
treatment, sorted by name: added and removed entries carry
the version from the side they exist on, and a name present
in both with a different version string is changed, reported
as {name, from, to}.
Exports are compared as sets, so mentioning the same export
twice in one snapshot changes nothing. The headline numbers
are the summed file sizes of each snapshot, their difference
size_delta (which is negative when the package shrank),
and the file counts on each side.
Breaking is deliberately narrow and pinned: a change is
breaking exactly when at least one export was removed, and
breaking_reasons spells each one out as
removed export: <name> in the removed list's sorted order.
Added files, resized files, and dependency bumps — however
large — never make a change breaking on their own.
Malformed input is a validation error naming the offending
path, with the snapshot named in the path: a duplicate file
path is reported as before.files[1].path is a duplicate,
for example. No partial diff is produced. Unknown extra
fields are ignored. The computation is pure and local: no
network, no configuration, and no real package is read.
CLI
args.json contains the full arguments object:
The result is printed as JSON:
Exit codes: 0 on success, 1 on a runtime error (including
an unreadable or invalid input file, or invalid input), 2
on a usage error.
MCP server
MCP client config:
Tools
-
compare_packages— Diff two versions of a package.before(object, required) — the earlier package snapshot:{version, files, dependencies, exports}, whereversionis a non-empty string,filesis a list of{path, size}entries with unique non-empty paths and integer sizes of at least 0,dependenciesis a map of dependency name to non-empty version string, andexportsis a list of non-empty stringsafter(object, required) — the later package snapshot, with the same shape asbefore
Returns
{version_before, version_after, files, dependencies, exports, size_before, size_after, size_delta, file_count_before, file_count_after, breaking, breaking_reasons}.
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit dbbbf86
Tools
0Version history
1- v0.1.0LatestNov 3, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts