modelcontextprotocol / modelcontextprotocol/inspector

Docker HEALTHCHECK assumes --web unconditionally

Open
#2,415 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug v2
Dominant language
TypeScript
Stars
10.9k
Forks
1.5k
Avg merge
6h 17m
Merged PRs (30d)
151

Description

Which version line?

v2 — current (@modelcontextprotocol/inspector@latest)

Which client?

All / shared core

Inspector version

2.7.0 (git tag) — static code-review finding, not run locally

Node version

N/A — static code review, no live run performed

Operating system (and browser, for the web client)

N/A — static code review

Transport

Not applicable / never connected

MCP server under inspection

N/A — this is a static code-review finding against the 2.7.0 tag source (Dockerfile), not a live reproduction against a running MCP server.

Steps to reproduce

Found via static review of the 2.7.0 tag source, not a live run.

  1. The Dockerfile's HEALTHCHECK probes CLIENT_PORT unconditionally.
  2. The Dockerfile's own comment admits --cli/--tui launch modes have no web server, and tells the user to manually add --no-healthcheck.
  3. There is no runtime detection of launch mode, so docker run ... mcp-inspector --tui sits permanently "unhealthy" in docker ps with no override.

I have not run this container live to confirm the exact docker ps status string; flagging based on the Dockerfile's own code and comment. This is exactly the kind of thing an orchestrator restart-loops on.

Expected behavior

The container's HEALTHCHECK detects the launch mode (or the entrypoint sets it) and skips/adapts the web-port probe when running --cli/--tui, so those modes don't sit permanently "unhealthy" by default.

Actual behavior

The HEALTHCHECK probes CLIENT_PORT unconditionally regardless of launch mode; the Dockerfile's own comment acknowledges --cli/--tui have no web server and requires the user to remember --no-healthcheck manually.

Suggested fix: detect the launch mode at container start (env var or entrypoint logic) and conditionally skip or adapt the healthcheck, rather than relying on the user to opt out.

Logs, errors, or screenshots

No response

Already prototyped a fix?

No response

Before you submit
  • I searched existing issues and this is not a duplicate.
  • This is not a security vulnerability report (those go through the private advisory process).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Dockerfile HEALTHCHECK and its handling of the --cli and --tui launch modes. Verify that those modes do not report unhealthy by default while web mode still probes CLIENT_PORT, using container checks if available.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
cli, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.