Skip to content

npm latest (1.2.11) predates the Redis removal — the published package and the service are an architecture apart #108

Description

@tonychang04

@insforge/mcp@latest is 1.2.11 — the last build before the Redis removal. The deployed service runs 1.2.12. So the published package and the running service are a full architecture apart, and nothing in the Redis-free lineage has ever been published.

Measured

npm view @insforge/mcp dist-tags   latest 1.2.11
1.2.11 package.json                depends on ioredis
deployed slug /health              version 1.2.12   (Redis removed, sessions in-process)

npm i @insforge/mcp@1.2.11 && ./node_modules/.bin/insforge-mcp-server
  -> [Redis] Connection error x4
  -> Failed to start server: MaxRetriesPerRequestError
  -> no listener

Who this affects

Narrower than it first looks — Redis is confined to src/http/:

bin target affected
insforge-mcp-server dist/http-server.js yes — needs a Redis that the current architecture no longer uses
mcp, insforge-mcp dist/index.js (stdio) no — the stdio path imports nothing from src/http/

So the ordinary npm i -g @insforge/mcp + stdio user is fine. A self-hoster running the HTTP server from npm gets a hard startup failure. It fails loudly (Failed to start server + exit), which makes it discoverable, but only at the moment someone needs it to work.

Not a cutover blocker — the hosted deployment builds from git and its rollback is a revert on master, not an npm install.

Ask

Publish the current lineage so the package matches the service. Worth pairing with the publish-time gate discussed alongside this. Correcting my own earlier wording here: I asked for "assert both bins serve". That is wrong — only insforge-mcp-server binds a port; dist/index.js is stdio and never listens, so it needs a weaker but equivalent assertion (the bundle loaded and main() ran). The two-bins design in the comments is the version to implement, and the gate should land before the 1.2.12 publish rather than after it.

Context: found while checking whether npm was a viable rollback path for the Manufact environment. It isn't, and that turned out to be the smaller half.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions