项目简介
NotebookLM MCP 服务器是一个功能强大的应用后端,它将Google NotebookLM的自动化能力封装成符合Model Context Protocol (MCP) 标准的工具集。这使得大型语言模型(LLM)客户端能够通过标准化的JSON-RPC协议与NotebookLM进行交互,例如发送消息、获取响应、管理笔记本等。该服务器支持持久化浏览器会话和流式响应,为LLM应用提供稳定、可扩展的上下文服务框架。
主要功能点
- 自动化聊天: 支持向NotebookLM发送聊天消息,可以即时获取当前响应,也可以等待完整的流式响应,并提供发送消息和获取响应的组合操作。
- 笔记本管理: 能够根据ID导航到特定的NotebookLM笔记本,并提供获取或设置默认笔记本ID的功能。
- 服务器管理: 提供健康检查工具来监控服务器状态,并支持优雅地关闭服务器。
- 持久化浏览器会话: 首次登录Google账号后,服务器能够保存会话,后续运行无需重复认证。
- 流式响应处理: 精心设计以处理LLM的流式输出,确保获取完整的对话响应。
安装步骤
建议从PyPI(Python Package Index)安装,这是最简单的方法:
# 从PyPI安装 pip install notebooklm-mcp # 或者,如果您需要从源代码安装: git clone https://github.com/khengyun/notebooklm-mcp.git cd notebooklm-mcp pip install -e .
服务器配置
MCP客户端(如AutoGen的'McpWorkbench')需要知道如何启动此服务器并与其连接。以下是客户端可能需要的配置信息示例:
{ "server_name": "notebooklm-mcp", // MCP服务器的名称,用于标识 "command": "notebooklm-mcp", // 启动MCP服务器的命令行指令 "args": [ // 传递给启动指令的参数列表 "server", // 指定运行服务器模式 "--notebook", "您的NotebookID", // 替换为您的Google NotebookLM的实际ID,例如 "4741957b-f358-48fb-a16a-da8d20797bc6" "--headless", "true", // 是否在无头模式下运行浏览器。"true"表示浏览器在后台运行无界面,"false"表示显示浏览器界面 "--debug", "false" // 是否开启详细的调试日志。"true"开启,"false"关闭 ], "read_timeout_seconds": 60 // 客户端等待服务器响应的最大超时时间(秒) }
请注意:
- 'command': 这是用于启动NotebookLM MCP服务器的可执行命令。在安装后,'notebooklm-mcp'命令应该在您的系统路径中可用。
- 'args': 这是传递给'notebooklm-mcp'命令的参数。
- 'server': 告知CLI以MCP服务器模式运行。
- '--notebook': 您的Google NotebookLM的唯一标识符。服务器将默认连接到此笔记本。
- '--headless': 控制自动化浏览器是否在后台运行。首次运行时,建议将其设置为'false',以便手动完成Google账户登录。 登录并保存会话后,可以设置为'true'以实现无界面自动化。
- '--debug': 启用或禁用详细日志,有助于问题诊断。
- 'read_timeout_seconds': 这是MCP客户端等待从服务器接收JSON-RPC响应的超时时间。
基本使用方法
-
一次性设置(首次运行或登录过期): 当您首次启动服务器或需要重新登录时,您需要允许浏览器显示界面以便手动登录Google账户。
# 首次运行,不带--headless,以便手动登录Google账户 notebooklm-mcp server --notebook 您的NotebookID --headless false # 登录成功后,服务器会话会自动保存到 './chrome_profile_notebooklm' 目录。 # 您可以关闭此会话,后续即可在无头模式下运行。 -
启动MCP服务器: 完成一次性登录设置并保存会话后,您可以启动MCP服务器。它将等待MCP客户端的连接和请求。
# 在无头模式下启动MCP服务器 notebooklm-mcp server --notebook 您的NotebookID --headless true # 或者使用环境变量来配置,然后直接运行: # export NOTEBOOKLM_NOTEBOOK_ID="您的NotebookID" # export NOTEBOOKLM_HEADLESS="true" # notebooklm-mcp server服务器启动后,将通过标准输入/输出(STDIO)协议等待MCP客户端的请求。
-
通过CLI进行交互式测试: 您也可以通过命令行界面直接与NotebookLM进行交互,这对于测试和快速任务非常方便。
# 启动一个交互式聊天会话 notebooklm-mcp chat --notebook 您的NotebookID # 发送一条消息并获取响应 notebooklm-mcp chat --notebook 您的NotebookID --message "总结一下我最近上传的文档要点" -
在LLM客户端中集成: 在支持MCP协议的LLM客户端(例如基于'mcp-python-sdk'构建的客户端,或AutoGen的'McpWorkbench')中,使用上述“服务器配置”中提供的JSON格式信息,即可实现与NotebookLM MCP服务器的无缝集成。您的LLM应用将能够调用服务器提供的工具来与Google NotebookLM进行自动化交互,获取上下文信息和执行任务。
信息
分类
AI与计算