返回市场
笔记本llm_mcp

笔记本llm_mcp

作者:Yasirrazaa2 星标更新:2025-05-14

项目介绍

NotebookLLM MCP Server

这是一个用于处理Jupyter笔记本(.ipynb文件)的Model Context Protocol服务器,特别适用于大型语言模型(LLMs)。它将笔记本转换为简化后的纯文本格式以减少标记使用量和成本,并可以将其转换回原始格式。

可用工具

  • load_notebook: 将一个.ipynb文件加载到内存中。
    • 参数:
      • filepath (字符串): 到.ipynb文件的绝对路径。
    • 返回值: (字符串) 成功或失败消息,包括单元格数量。
  • notebook_to_plain_text: 将一个.ipynb文件(已加载或从路径加载)转换为简化后的纯文本表示形式。
    • 参数:
      • input_filepath (字符串, 可选): 对于即时转换的.ipynb文件的绝对路径。
    • 返回值: (字符串) 纯文本表示形式或错误消息。
  • plain_text_to_notebook_file: 将纯文本内容转换回.ipynb文件并保存。
    • 参数:
      • plain_text_content (字符串): 要转换的纯文本内容。
      • output_filepath (字符串): 保存.ipynb文件的绝对路径(必须以.ipynb结尾)。
    • 返回值: (字符串) 成功或失败消息。
  • add_code_cell_to_loaded_notebook: 向当前加载的笔记本添加一个新的代码单元格。
    • 参数:
      • code_content (字符串): 新单元格的源代码。
      • position (整数, 可选): 插入单元格的位置(如果为空则追加)。
    • 返回值: (字符串) 成功或失败消息及当前单元格数量。
  • add_markdown_cell_to_loaded_notebook: 向当前加载的笔记本添加一个新的Markdown单元格。
    1. 参数: * markdown_content (字符串): 新单元格的Markdown内容。 * position (整数, 可选): 插入单元格的位置(如果为空则追加)。
    • 返回值: (字符串) 成功或失败消息及当前单元格数量。
  • save_loaded_notebook: 将当前加载的笔记本保存到文件中。
    • 参数:
      • output_filepath (字符串, 可选): 保存.ipynb文件的绝对路径(必须以.ipynb结尾)。如果为空,则保存到原始路径。
    • 返回值: (字符串) 成功或失败消息。

安装

使用uv(推荐)

当使用uv时,不需要特定的安装步骤。我们将使用uvx直接运行notebookllm_mcp

使用PIP

或者,你可以通过pip安装notebookllm_mcp

pip install notebookllm-mcp

安装后,你可以使用以下命令作为脚本运行它:

python -m notebookllm_mcp

配置

配置给Claude.app

在你的Claude设置中添加:

使用uvx

{
  "mcpServers": {
    "notebookllm": {
      "command": "uvx",
      "args": ["notebookllm_mcp"]
    }
  }
}

使用pip安装

{
  "mcpServers": {
    "notebookllm": {
      "command": "python",
      "args": ["-m", "notebookllm_mcp"]
    }
  }
}

配置给Zed

在你的Zed settings.json中添加:

使用uvx

"context_servers": [
  "notebookllm": {
    "command": "uvx",
    "args": ["notebookllm_mcp"]
  }
],

使用pip安装

"context_servers": {
  "notebookllm": {
    "command": "python",
    "args": ["-m", "notebookllm_mcp"]
  }
},

配置给VS Code

为了快速安装,请使用下面的一个一键安装按钮...

使用UV在VS Code中安装 使用UV在VS Code Insiders中安装

对于手动安装,向你的VS Code用户设置(JSON)文件中添加以下JSON块。你可以通过按下Ctrl + Shift + P(或在macOS上按Cmd + Shift + P),然后键入Preferences: 打开用户设置(JSON)来完成此操作。

可选地,你可以将其添加到名为.vscode/mcp.json的工作区文件中。这将允许你与他人共享配置。

注意:当你使用mcp.json文件时,需要mcp键。

使用uvx

{
  "mcp": {
    "servers": {
      "notebookllm": {
        "command": "uvx",
        "args": ["notebookllm_mcp"]
      }
    }
  }
}

使用pip安装

{
  "mcp": {
    "servers": {
      "notebookllm": {
        "command": "python",
        "args": ["-m", "notebookllm_mcp"]
      }
    }
  }
}

示例交互

  1. 加载笔记本:

    {
      "name": "load_notebook",
      "arguments": {
        "filepath": "/path/to/your/notebook.ipynb"
      }
    }
    

    响应:

    {
      "message": "Notebook /path/to/your/notebook.ipynb loaded successfully. Cell count: 10"
    }
    
  2. 将加载的笔记本转换为纯文本:

    {
      "name": "notebook_to_plain_text",
      "arguments": {}
    }
    

    响应:

    # CELL 1 CODE
    print("Hello World")
    
    # CELL 2 MARKDOWN
    这是一个Markdown单元格。
    ...
    
  3. 将纯文本转换回笔记本文件:

    {
      "name": "plain_text_to_notebook_file",
      "arguments": {
        "plain_text_content": "# CELL 1 CODE\nprint(\"Hello Again\")\n\n# CELL 2 MARKDOWN\n另一个Markdown单元格。",
        "output_filepath": "/path/to/your/new_notebook.ipynb"
      }
    }
    

    响应:

    {
      "message": "Notebook saved to /path/to/your/new_notebook.ipynb"
    }
    

调试

你可以使用MCP检查器来调试服务器。对于uvx安装:

npx @modelcontextprotocol/inspector uvx notebookllm_mcp

或者如果你是通过pip安装的包:

npx @modelcontextprotocol/inspector python -m notebookllm_mcp

构建

这个包通常通过pip安装或直接使用uvx。如果你正在开发该包,可以使用标准的Python构建工具进行构建。

python -m build

贡献

欢迎贡献!请随时提交修复错误、新功能或改进文档的拉取请求。

许可证

该项目根据MIT许可证授权。