You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
mcp-server-fetch: on Windows, readabilipy 0.3.0 cannot find npm, so Readability.js is never used #5313
With readabilipy 0.3.0 (what an unpinned install of mcp-server-fetch resolves, and what the lock moves to in #5311), mcp-server-fetch on Windows never uses Readability.js by default, even with Node.js and npm on PATH. It silently falls back to readabilipy's pure-Python extractor, which produces different Markdown (it drops link targets, among other things).
readabilipy 0.3.0's wheel no longer ships node_modules. have_node() installs them on first use through run_npm_install(), which calls subprocess.run(["npm", "version"]) and subprocess.run(["npm", "install"]) without a shell. On Windows npm is npm.cmd, which CreateProcess does not resolve from a bare npm, so the call raises FileNotFoundError, readabilipy prints Warning: A working NPM installation was not found. The package will use Python-based article extraction. to stderr, and have_node() returns False on every call.
#5311 works around it in CI only, by running npm install in readabilipy's javascript directory before pytest.
Expected
Either Windows gets the same extractor as Linux and macOS when Node.js is installed, or the README says plainly that on Windows Readability.js needs readabilipy's JavaScript dependencies installed by hand (and how), and that otherwise the pure-Python extractor is used.
Related: #4830 (npm install during a tool call), #5310 (npm output on stdout), #4199 (--no-readability-js).
Activity
cliffhall commentedon Oct 29, 2026
Shipped in #5391 (merged into
v2/main), after the #5271 rollup proved the six fetch v2.3.0 PRs combine with no conflicts.