github activeing123/mcptoon v0.7.16
mcptoon 0.7.16

latest releases: v0.8.34, v0.8.33, v0.8.32...
one month ago

mcptoon 0.7.16

A patch release that makes a failing MCP server tell you why it failed.

The bug

If a configured server's command dies at startup — most often npx pointed at a
package that no longer exists on npm (E404) — mcptoon wrote to the dead process's
stdin, which raises [Errno 22] on Windows, and then reported:

[PROCESS_DIED] MCP server process exited. stderr: (node:6035) Warning: Sett...

The real cause was there, but three stacked truncations hid it:

Layer What it did
_stderr_tail() kept the first 500 bytes of stderr
error cell capped the message at 100 chars
manifest printer capped the line at 60 chars

A failing npx prints a wall of Node NODE_TLS_REJECT_UNAUTHORIZED warnings
first and its npm error 404 ... Not found last — so the warning survived
and the diagnostic did not.

The fix

  • client._salient_stderr() drops the Node/npm boilerplate lines and keeps the
    end of stderr, where process errors are actually printed.
  • _stderr_tail() now reads the tail (-2000) instead of the head.
  • Caps widened: data 100 → 300, display 60 → 200 (manifest, health, pool).

After the fix, the same failure reads:

docker: [error: [PROCESS_DIED] MCP server process exited. stderr:
  //registry.npmjs.org/@modelcontextprotocol%2fserver-docker - Not found | npm error 404 | ...

Why it shipped now

Found on 2026-09-17 during the Windows first-install field test: 3 of 13
configured servers died this way, and every one of them reported the wrong reason.
A user's first experience with a mistyped or retired server was a Node TLS warning.

Notes

  • Pinned by tests/test_dead_server_diagnostics.py, which feeds a realistic npm
    stderr (warning wall first, 404 last). The earlier demo_dead_package test used
    a 48-character stderr and never exercised the truncation.
  • Wheel re-measured: 159,942 bytes (156.2 KB), zero dependencies.
  • Suite: 931 passed, 1 skipped.

Full changelog: CHANGELOG.md

Don't miss a new mcptoon release

NewReleases is sending notifications on new releases.