Skip to content

Idle stdio server accumulates CPU time (second half of the --help report) #30

Description

@asg9991

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.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions