
Enginedrift
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026
Detect Node engine drift across package.json, CI config, and Dockerfile before it breaks a build.
Overview
Enginedrift'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 Enginedrift 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
enginedrift
Three places in a Node project quietly name a Node version:
engines.node in package.json, the node-version values in CI,
and the FROM node:... tags in a Dockerfile. When they disagree,
the failure usually shows up late — a CI job running a different
major than the container, or a syntax feature that works in one
place and not another. enginedrift extracts what each source
actually declares and reports the drift up front.
It answers with:
drift— true when sources declare conflicting majors, or a source sits entirely below package.json's declared minimumsources— one entry per provided source, with the raw declared strings, the majors found (ascending, unique), and a note when a source cannot pin a major (for example a CInode-version-filekey)issues— in a fixed order:MAJOR_MISMATCH(distinct majors across sources),BELOW_MINIMUM(a source entirely below package.json's minimum major),UNPINNED_IMAGE(a DockerfileFROM nodewith no numeric tag, such aslts-alpineorlatest), andNO_ENGINES(package.json declares noengines.node)
Extraction notes: for an engines range, the declared minimum is
the smallest major mentioned (>=20 means 20, ^18.2 means
18, 20.x means 20, and a bare * declares nothing). CI values
may be scalars, inline matrix lists such as [20, 22], or YAML
block lists under the key. Every Dockerfile stage is scanned, so
multi-stage builds report each FROM node line. An absent CI
config or Dockerfile is never an issue by itself. Pure local
computation: no network, no configuration, no files read by the
tool itself.
CLI
The --ci and --dockerfile flags are optional. The result is
printed as JSON. Exit codes: 0 when the check ran (drift is
data, not an error), 1 on a runtime error (including an
unreadable file or an invalid package.json), 2 on a usage
error.
MCP server
MCP client config:
Tools
check_engine_drift— Compare Node majors declared in package.json, CI config, and a Dockerfile, and report drift.package_json(string, required) — package.json text; its engines.node range is the anchor sourceci_yaml(string, optional) — CI workflow YAML text; node-version values are extracteddockerfile(string, optional) — Dockerfile text; FROM node image tags are extracted
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit d1a41b7
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