Skip to content

docker build fails for all 4 TypeScript servers: npm install crashes with "Cannot read properties of null (reading 'edgesOut')" #4782

Description

@Ashfaqbs

Describe the bug

docker build -f src/<server>/Dockerfile . currently fails at the npm install step for all four TypeScript servers (everything, filesystem, memory, sequentialthinking), with:

npm error Cannot read properties of null (reading 'edgesOut')

Reproduced on unmodified main (verified against a fresh git archive upstream/main) with a fully cleared build cache (docker builder prune -f + --no-cache), so this isn't stale-cache-mount noise.

Root cause (bisected)

Installing just the everything server's runtime dependencies succeeds:

{
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.30.0",
    "cors": "^2.8.5",
    "express": "^5.2.1",
    "jszip": "^3.10.1",
    "zod": "^4.0.0"
  }
}

Adding the devDependencies back reproduces the crash:

{
  "devDependencies": {
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.6",
    "@vitest/coverage-v8": "^4.1.8",
    "prettier": "^2.8.8",
    "shx": "^0.4.0",
    "typescript": "^5.6.2",
    "vitest": "^4.1.8"
  }
}

I didn't bisect further within the dev set (my money's on @vitest/coverage-v8's dependency tree, since that's a common trigger for this class of npm arborist bug, but haven't confirmed which specific package). Since the four Dockerfiles' builder stages all run a plain npm install (not --omit-dev/--production), all four hit the same dev-dependency resolution and fail identically — confirmed for everything and filesystem directly; memory and sequentialthinking share the same builder pattern and dependency shape so are very likely affected too.

A minimal npm install with just express on the same base image (node:22.12-alpine, npm 10.9.0) succeeds fine, so this isn't a generic npm/Alpine/environment problem — it's specific to this dependency graph.

To Reproduce

git clone https://github.com/modelcontextprotocol/servers
cd servers
docker build -f src/everything/Dockerfile .
# or: docker build -f src/filesystem/Dockerfile .

Expected behavior

docker build succeeds per the commands documented in each server's README.

Environment

  • Docker Desktop 29.7.2, Windows
  • Base image: node:22.12-alpine (bundled npm 10.9.0)
  • Reproduced on main as of this report

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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