Token导航 LogoToken导航TokenDH.com
NotebookLM MCP Structured logo
文档知识未说明官方级别未说明来源级核验

NotebookLM MCP Structured

MCP Server

NotebookLM的增强版MCP服务器,通过客户端提示结构化技术确保文档来源保真度,适用于法律分析、研究和事实核查等专业场景。

工具数

16

提示词数

0

GitHub Stars

34

资源数

0
TypeScriptClaude文档处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

paolodalprato

提供方

paolodalprato

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

笔记本LM MCP结构化

NotebookLM的增强型MCP服务器 客户端提示结构 为了 源保真度.

要求: 此MCP服务器旨在与 克劳德桌面版。它需要安装Claude Desktop并配置为使用MCP服务器。

这是的修改版本 笔记本mcp 它增加了全面的结构说明,以指导Claude制定提示,为专业用例(法律分析、研究、事实核查)加强文档保真度。

主要特点

客户端提示结构

MCP工具描述包括全面的指导方针,指导Claude在将问题发送到NotebookLM之前如何构建问题。这确保了:

  • 源保真度:响应仅来自上传的文档
  • 引文要求:每项索赔都包括来源归因
  • 缺失信息处理:数据不可用时的显式声明
  • 多语言支持:适用于Claude支持的任何语言
  • 问题类型调整:用于比较、列表、分析、解释和摘录的不同结构

工作原理:

  1. 用户用任何语言问一个简单的问题
  2. Claude从工具描述中阅读结构化指南
  3. 克劳德把问题变成了一个结构良好的提示
  4. NotebookLM收到结构化提示并做出相应响应
  5. 克劳德被指示在不添加外部知识的情况下忠实地呈现回应

为什么这很重要:

NotebookLM已经通过设计提供了源代码保真度(Gemini基于文档)。 这个分叉解决的真正问题是不同的: 防止克劳德在向用户展示NotebookLM的响应时,用外部知识“改进”NotebookLM。

设计意图(fork旨在实现什么):

┌─────────────────────────────────────────────────────┐
│ Without structuring (original MCP):                 │
│ • NotebookLM: "Document states X [Source: doc.pdf]"│
│ • Risk: Claude may add external knowledge          │
│   "Document states X. Also, based on my knowledge, │
│   Y is important to consider..."                   │
│   └─ External knowledge added! ─┘                  │
│                                                     │
│ With structuring (this fork):                       │
│ • NotebookLM: "Document states X [Source: doc.pdf]"│
│ • Claude reads Response Handling instruction        │
│ • Goal: Claude presents faithfully                  │
│   "Document states X [Source]"                     │
│   └─ Faithful presentation, no additions ─┘        │
└─────────────────────────────────────────────────────┘

结构指南包括 两个关键的教学阶段:

  1. 预发送:转换具有明确约束的问题(但保留原始措辞)
  2. 帖子接收:指示克劳德在没有外部知识的情况下忠实地做出回应

这种双阶段方法旨在在整个工作流程中保持文档的保真度。

验证和透明度

如何验证工作流:

由于NotebookLM将聊天记录保存在笔记本中,因此您可以验证整个过程:

  1. 提出问题 通过克劳德使用此MCP
  2. 打开你的笔记本 在NotebookLM web界面上(https://notebooklm.google.com)
  3. 查看已保存的聊天记录 查看:

- 这 结构化提示 克劳德(通过MCP)发送的 - 这 原始NotebookLM响应 所有内部参考链接

您可以验证的内容:

  • 这种结构正确地应用于你的问题
  • Claude呈现之前的原始NotebookLM响应
  • Claude如何解释响应处理说明
  • 结构化提示使用哪种语言(对多语言测试有用)

这种透明机制使您能够实证验证客户端结构化方法,并了解工作流的每个阶段。

转换示例:

简单的问题:

What are the main findings in the research papers?

克劳德将其结构如下:

What are the main findings in the research papers?

Organize the response by thematic topics. Cover all aspects discussed in the documents.
For each topic:
- TOPIC: [identifying title]
- DESCRIPTION: [synthesis with context, connecting information across documents]
- EVIDENCE: "direct quote" [Source: document]

If a topic appears in multiple documents, show evidence from each.
If information is not found: [NOT FOUND IN DOCUMENTS]

关键格式规则:

  • 无装饰线条 (没有 ===---)因为它们会导致NotebookLM超时

语言支持

多语言设计 -fork支持多种语言,无需服务器端配置。

它是如何工作的:

工具描述中的结构化指南指示Claude“适应用户的语言”。Claude解释这些指令,并根据会话上下文应用它们。

我们确切知道的是:

  • ✅ MCP代码中没有服务器端语言检测
  • ✅ 无需维护特定语言的模板
  • ✅ 在意大利用户和文档中成功测试
  • ✅ 这种方法在设计上与语言无关

预期行为:

  • 在整个对话中使用一致的语言时,该系统效果最佳
  • Claude根据上下文解释结构化指南
  • 结果可能因会话上下文而异

重要提示: 使用与您的Claude帐户/个人资料语言不同的语言可能会产生不可预测的结构化结果。为了保持一致的行为,在整个对话中使用您帐户的主要语言。

用意大利语测试 -与用意大利语提问的意大利用户可靠地合作。

其他语言:该架构支持Claude可以使用的任何语言。如果你用其他语言使用它,请分享你的经验,帮助我们理解行为模式!

自动连接验证

MCP服务器在执行任何需要连接的操作之前会自动验证与NotebookLM的连接。这确保了流畅的用户体验:

它是如何工作的:

  1. 当您发出需要NotebookLM的请求(例如,提问)时,服务器会检查身份验证是否有效
  2. 如果身份验证已过期或丢失,则会自动打开一个浏览器窗口以供Google登录
  3. 成功登录后,您的原始请求将自动进行

无需人工干预 -服务器在对话流中无缝处理身份验证,即使Chrome已经在运行。

安装

先决条件

  • 克劳德桌面版 -需要使用此MCP服务器
  • Node.js>=18.0.0
  • npm
  • 用于NotebookLM访问的Google帐户

从GitHub安装

# Clone the repository
git clone https://github.com/paolodalprato/notebooklm-mcp-structured.git

# Enter directory
cd notebooklm-mcp-structured

# Install dependencies
npm install

# Build
npm run build

配置Claude桌面

添加到您的 claude_desktop_config.json:

窗户: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "notebooklm": {
      "command": "node",
      "args": [
        "/absolute/path/to/notebooklm-mcp-structured/dist/index.js"
      ]
    }
  }
}

Windows示例:

{
  "mcpServers": {
    "notebooklm": {
      "command": "node",
      "args": [
        "D:\\path\\to\\notebooklm-mcp-structured\\dist\\index.js"
      ]
    }
  }
}

首次身份验证

重新启动Claude Desktop后:

  1. 让Claude检查NotebookLM的运行状况: Check notebooklm health
  2. 如果未通过身份验证,请询问: Setup notebooklm authentication
  3. 将打开一个浏览器窗口供谷歌登录
  4. 完成登录并关闭浏览器

用例

法律文件分析

  • 摘录带有引用的具体条款
  • 比较不同案件的裁决
  • 识别法理学中的模式
  • 确保回复仅来自案例文件

研究

  • 文献综述与来源追踪
  • 从多个文档中提取事实
  • 交叉引用验证
  • 防止文档内容与外部知识混淆

专业事实核查

  • 根据源文件验证索赔
  • 识别明确陈述与推断的内容
  • 维护引用的审计跟踪
  • 确保信息来源完全透明

建筑

请求工作流

此图显示了请求通过系统的完整流程:

sequenceDiagram
    participant U as 👤 User
    participant C as 🤖 Claude
    participant TD as 📋 Tool Description
    participant MCP as ⚙️ MCP Server
    participant NLM as 📚 NotebookLM
(Gemini)

    Note over U,NLM: PHASE 1: PRE-SEND (Client-Side Structuring)
    U->>C: Simple question
"Analyze the rulings in the documents"
    C->>TD: Reads tool description
    TD-->>C: Returns Structuring Guidelines
+ Response Handling instructions
    Note over C: Transforms simple question
into structured prompt
(constraints, citations, missing info)

    Note over U,NLM: PHASE 2: MCP TRANSIT
    C->>MCP: Structured prompt
(with operational constraints)
    Note over MCP: Passes question
WITHOUT modifications
    MCP->>NLM: Structured prompt
    Note over NLM: Gemini processes
against documents

    Note over U,NLM: PHASE 3: RETURN FLOW
    NLM-->>MCP: Response from documents
    Note over MCP: Adds FOLLOW_UP_REMINDER
("Need more info?")
    MCP-->>C: Response + Reminder
    Note over C: Applies "Response Handling"
(instructions read in Phase 1)
= presents faithfully
    C-->>U: Source-faithful response
with citations

每个阶段发生了什么

阶段演员动作内容添加/读取
1aClaude读取工具描述结构指南:如何转换问题
1bClaude读取工具描述响应处理:如何呈现响应
1cClaude转换问题添加操作限制、引用要求、缺失信息处理
2MCP服务器传输问题*无修改* -按原样传递结构化提示
第3页MCP服务器修改响应FOLLOW_UP_提醒:提示Claude检查是否需要更多问题
第3页Claude呈现响应应用第1阶段读取的响应处理(源保真度)

三级教学架构

MCP服务器协调 两个LLM (Claude和NotebookLM/GGemini)使用三种不同的指令机制,每种机制都针对不同的参与者:

级别位置目标目的代码参考
1.工具说明ask-question.tsClaude如何构建提示,何时进行跟进,会话管理buildAskQuestionDescription()
2.结构化提示structuring-guidelines.tsNotebookLM源保真度约束、引用格式、缺失信息处理buildStructuringGuidelines()
3.响应后缀handlers.tsClaude在回复用户之前,敦促Claude验证完整性FOLLOW_UP_REMINDER 常数

主要区别: 结构化提示(级别2)被发送到NotebookLM以约束其响应。但是工具描述(级别1)和响应后缀(级别3)中的一些指令从未到达NotebookLM——它们指导了Claude在NotebookLM交互前后的行为。

工具说明中的双重用途说明:

  • *适用于NotebookLM* (通过克劳德生成的结构化提示):操作约束、引用要求、输出格式
  • *仅限克劳德* (从未发送到NotebookLM):“忠实呈现,不添加外部知识”,“暂停,与用户的目标进行比较”,后续策略

关键架构见解

MCP服务器会 添加对源保真度的约束 *之后* 接收响应。克劳德阅读保真度说明 *之前* 在工具描述中发送问题。服务器只添加操作提醒(“您需要更多信息吗?”),而不是行为约束。

这种架构依赖于Claude遵循预先阅读的指令的能力,而不是事后的技术控制。结构化发生在客户端(在Claude中),使系统更简单、更灵活,并且自然地支持多语言。

为什么要客户端结构化?

优势:

  1. 默认情况下支持多种语言:克劳德自然会处理任何语言
  2. 更简单的架构:无服务器端模板管理
  3. 灵活适应:Claude根据上下文调整结构
  4. 经得起未来考验:结构逻辑的更新只需要更改工具描述

为什么没有装饰线条?

NotebookLM解释以下行 =- 字符格式无效,导致系统超时。结构化指南仅指定纯文本标题,避免任何装饰性排版。

问题类型检测

Claude会自动检测问题类型并应用适当的结构:

类型触发词输出结构
比较“比较”、“vs”、“差异”元素、相似性、差异性、综合
列表“列表”、“识别”、“哪个”带有描述、证据、交叉引用的主题
分析“分析”、“检查”、“评估”具有跨文档联系的主题
解释“解释”、“为什么”、“如何”核心概念、示例、相关概念、局限性
提取(默认)带有描述、证据、交叉引用的主题

可用工具

核心工具(需要NotebookLM连接)

  • ask_question -使用会话管理向NotebookLM提问 *(必要时触发自动身份验证)*
  • reset_session -重置会话以重新开始 *(必要时触发自动身份验证)*

会话管理

  • list_sessions -查看所有活动对话会话
  • close_session -关闭特定会话

身份验证和诊断

  • get_health -检查身份验证、连接状态和Chrome状态 *(增强诊断)*
  • setup_auth -首次谷歌登录
  • re_auth -切换Google帐户或从费率限制中恢复

笔记本库管理

  • add_notebook -将笔记本添加到您的库中
  • list_notebooks -查看库中的所有笔记本
  • get_notebook -获取特定笔记本的详细信息
  • select_notebook -设置活动笔记本
  • update_notebook -更新笔记本元数据
  • remove_notebook -从库中删除笔记本
  • search_notebooks -按关键字搜索笔记本
  • get_library_stats -查看库统计信息

维护

  • cleanup_data -清理浏览器数据和身份验证文件

贡献

欢迎投稿!请随时提交问题或拉取请求。

积分

许可证

麻省理工学院

______________________________________________________________________

常见问题解答

Q: 这适用于Claude Code或其他MCP客户吗? A: 此MCP服务器是专门为 克劳德桌面版虽然其他MCP兼容客户端可能正常工作,但自动连接验证和身份验证流程针对Claude Desktop体验进行了优化。

Q: 这适用于意大利语以外的语言吗? A: 该系统旨在与Claude支持的任何语言一起工作。它已经用意大利语进行了测试,效果很好。如果您使用其他语言,系统应自动适应您的个人资料语言。我们正在寻求其他语言用户的反馈!

Q: 为什么不使用服务器端模板? A: 客户端结构更简单、更灵活,并且自然支持多种语言。与固定模板相比,Claude可以更好地使结构适应上下文。

Q: 我可以自定义结构指南吗? A: 这些指南嵌入在工具描述中(src/tools/definitions/ask-question.ts).您可以修改它们并重新构建。

Q: 如果我不组织我的提示会发生什么? A: NotebookLM可能会将文档内容与其一般知识混合在一起。结构化提示强制执行源保真度。

Q: 是否有任何费率限制? A: 免费的谷歌账户每天有50个查询到NotebookLM。Google AI Pro/Ultra帐户的限制高出5倍。

目录标签

目录标签

TypeScriptClaude文档处理文档保真本地部署提示工程法律分析研究工具事实核查

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明nonelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP