MCP Adapter Subsystem

MCP Adapter Subsystem An architecture diagram generated by Archify. HTTP Guards · loopback · OAuth · Architecture component · HTTP mode only HTTP Guards loopback · OAuth HTTP mode only Confirm Gate · needs_confirmation · Architecture component Confirm Gate needs_confirmation MCP Host · Claude · Cursor · Architecture component MCP Host Claude · Cursor FastMCP Server · create_server() · Architecture component · stdio or HTTP FastMCP Server create_server() stdio or HTTP MCP Tools · mcp/tools/ · Architecture component · notebooks · studio MCP Tools mcp/tools/ notebooks · studio Dispatch Choice · _app/ or client.* · Architecture component Dispatch Choice _app/ or client.* NotebookLMClient · one long-lived · Architecture component NotebookLMClient one long-lived mcp install · config + .mcpb · Architecture component mcp install config + .mcpb Error Projection · CODE: message · Architecture component Error Projection CODE: message File Link Signer · single-use jti · Architecture component File Link Signer single-use jti File Routes · short-link fetch · Architecture component File Routes short-link fetch ChatTaskRegistry · bounded · detached · FIFO · Architecture component · process lifetime ChatTaskRegistry bounded · detached · FIFO process lifetime MCP protocol registers core or namespace selected client HTTP mode mutations classify sign link short link writes config start · poll · cancel Legend Frontend Backend Security Message bus External

Same cores

  • • Multi-step tools call _app/ cores; simple reads and mutations call selected client namespaces
  • • One long-lived client serves every tool call in the process
  • • ChatTaskRegistry owns bounded detached asks for chat_start and chat_status
  • • mcp/ imports no click, rich or cli — pinned by test_mcp_boundary.py

Safety gates

  • • Mutating tools return a needs_confirmation preview unless confirm=true
  • • HTTP mode binds loopback and rejects non-loopback Host headers

File transfer

  • • Downloads are handed back as signed single-use short links, not inline bytes
  • • notebooklm mcp install wires Claude Desktop, Claude Code, Cursor or Windsurf