Description
The notebooklm-mcp binary does not parse CLI arguments. Passing --help (or any flag) is silently ignored and the full MCP server starts in stdio mode. When launched by an MCP client that doesn't actively need it, the process stays alive indefinitely consuming significant CPU.
Steps to reproduce
# This should show help text but instead starts the full server:
notebooklm-mcp --help
# The process runs indefinitely until killed:
# PID CPU% MEM% TIME
# 749651 37.2% 2.0% 360:29 (after ~6 hours idle)
Expected behavior
notebooklm-mcp --help should print usage information and exit (like npm run help does via dist/cli/help.js), or at minimum recognize --help/-h flags.
Actual behavior
- --help flag is ignored
- Full MCP server starts in stdio mode
- Process stays alive consuming CPU indefinitely when no MCP client is actively communicating
- Requires kill -9 to terminate
Environment
- Package: @roomi-fields/notebooklm-mcp v3.0.1
- Node: v22.23.2
- OS: Linux x86_64 (Ubuntu 24.04)
- Install: local (npm install in project directory)
Additional context
The package.json defines a help script (node dist/cli/help.js) but the binary entry point (dist/index.js) has no argument parsing — it unconditionally starts the MCP server regardless of CLI arguments.
This is particularly problematic when MCP clients (e.g., OpenCode) spawn the process speculatively but don't actively use it — the zombie process accumulates CPU time with no useful work.
Description
The
notebooklm-mcpbinary does not parse CLI arguments. Passing--help(or any flag) is silently ignored and the full MCP server starts in stdio mode. When launched by an MCP client that doesn't actively need it, the process stays alive indefinitely consuming significant CPU.Steps to reproduce