Summary
server_info returns status: success regardless of authentication state, because it's
a local call that doesn't touch Google. When used as a lightweight "is the MCP healthy?"
probe before firing auth-dependent tools, it's a false positive.
Repro
- Authenticate via
nlm login (successful)
- Let cookies expire (or invalidate manually)
- Call
server_info → status: success, returns version info
- Call
notebook_list → status: error, "Authentication expired"
Expected
Either:
server_info includes an auth_status field (valid | expired | unknown), or
- Docs/tool description clarify that
server_info is a local metadata call and does NOT
validate auth state
Why it matters
Agentic workflows (Claude Code with GSD-style orchestration, autonomous research phases)
naturally reach for server_info as a cheap pre-flight check before spawning research
tools that hit Google. Discovering after a downstream failure that server_info never
validated auth is wasted cycles and confusing debug sessions.
Environment
- notebooklm-mcp-cli v0.5.25
- Python 3.13.7 (uv-managed)
- Windows 11
Summary
server_inforeturnsstatus: successregardless of authentication state, because it'sa local call that doesn't touch Google. When used as a lightweight "is the MCP healthy?"
probe before firing auth-dependent tools, it's a false positive.
Repro
nlm login(successful)server_info→status: success, returns version infonotebook_list→status: error, "Authentication expired"Expected
Either:
server_infoincludes anauth_statusfield (valid | expired | unknown), orserver_infois a local metadata call and does NOTvalidate auth state
Why it matters
Agentic workflows (Claude Code with GSD-style orchestration, autonomous research phases)
naturally reach for
server_infoas a cheap pre-flight check before spawning researchtools that hit Google. Discovering after a downstream failure that
server_infonevervalidated auth is wasted cycles and confusing debug sessions.
Environment