
CompatLab
io.github.siddiksawaniv1.0.0Updated Oct 9, 2026
Read recorded npm loading evidence across pinned Node.js, Bun and Deno runtimes.
Overview
Lets an assistant read recorded npm package loading evidence across pinned Node.js, Bun and Deno runtimes via a remote read-only MCP endpoint.
- What it does
- CompatLab exposes two read-only tools, check_package and get_report, over a remote Streamable HTTP MCP endpoint. They return exact package versions, runtime pins, coverage details and links to existing reports about how published npm artifacts load across pinned Node.js, Bun and Deno runtimes. The tools only read existing evidence; they never submit or trigger new scans.
- When to use it
- Use it when you need to check whether a published npm package has recorded loading evidence for specific JavaScript runtimes before adopting or upgrading it. It is suited to compatibility questions where an existing report is enough, not to requesting fresh scans.
- Requirements
- A remote MCP client that supports Streamable HTTP, connecting to the provider's endpoint. No account, API key, environment variable or header is declared, and the read API is anonymous.
Installation
In SourceWeft
- Open CompatLab in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Other MCP clients
Add this to your client's mcpServers config.
{
"mcpServers": {
"compatlab": {
"type": "http",
"url": "https://compatlab.me/mcp"
}
}
}README
CompatLab
CompatLab tests published npm artifacts across pinned JavaScript runtimes. Reports distinguish observed loading behavior, coverage, and environment limits from broader claims of compatibility.
Production domain: compatlab.me. Read the methodology before interpreting a passing report.
Agents can read existing evidence through the anonymous API or connect a remote MCP client to https://compatlab.me/mcp using Streamable HTTP. The read-only check_package and get_report tools return exact versions, runtime pins, coverage and report links; they never submit scans. See MCP setup and validation. Missing evidence is not a compatibility verdict.
The local engine resolves and prepares public npm artifacts with scripts disabled, seals their dependency tree, and probes them across pinned Node, Bun, and Deno runtimes. The CLI supports bounded checks and explicit snapshot reuse or lock-based rebuilds. The worker includes host ownership, capacity reservations, recovery and hostile-code qualification. The PostgreSQL catalog and private control service provide transactional admission, durable leases, authenticated result ingestion and snapshot-local dispatch. The anonymous website supports discovery, explicit scan requests, durable progress, report matrices, evidence and reproduction downloads. SSH operator controls, deployment packaging, encrypted off-host backups, retention and release-qualification gates are included; public admission defaults to disabled. See the operations runbook and qualification record. See website setup, reports, orchestration, catalog and admission, worker lifecycle, local execution, preparation, and runtime profiles for limits and prerequisites.
Development
Named assertions and CI artifacts extend the maintainer workflow. Assertions use commit-pinned offline fixtures and separate behavioral evidence. The Linux/runsc CLI can check a pre-publication archive with a distinct source identity and caller-supplied provenance.
The public maintainer section is coming soon. Its optional account implementation uses GitHub App login, encrypted OAuth tokens, live repository authority checks, revocation and account quotas, but sign-in and release monitoring stay disabled in this deployment. Public reports remain anonymous.
Use Node.js 24.21.0 from .node-version and pnpm 12.8.1 from package.json.
pnpm check runs formatting/lint checks, a strict workspace build, test type checking, and unit/CLI tests. Build before running the CLI or tests directly. Development checks work on macOS and Linux; a Docker daemon is needed for doctor, sandbox tests and the local PostgreSQL test server. See database qualification for the separate integration gate.
doctor reports whether a Linux amd64 Docker server has a registered runsc runtime. It returns exit code 1 when prerequisites are missing and never executes package code. Passing it does not qualify a host for untrusted execution. There is no fallback to running packages on the developer's machine.
On a prepared Linux amd64 host with runsc:
The smoke test builds a digest-pinned fixture image and checks ESM/CommonJS completion, module failure, fake stdout success, missing results, and abnormal exit. It uses authored fixtures only. CI installs a checksum-pinned gVisor release on a disposable GitHub-hosted runner; that installer is not for development or production machines.
Repository structure
Delivery and contribution
The fourteen-PR delivery plan covers the public MVP and gated maintainer workflows. The architecture plan, PRD v1.1, and research notes define the design. The original PRD is preserved as historical reference.
All project changes use feature branches and pull requests. See CONTRIBUTING.md for checks and review expectations, and SECURITY.md for reporting security issues. The repository is maintained by siddiksawani and licensed under MIT.
For operating the public site, see production operations and search discovery. The deferred maintainer release-monitoring workflow is described in monitoring and deployment.
Source: README.md at commit ac0b9bf
Tools
0Version history
1- v1.0.0LatestOct 9, 2026


