Token导航 LogoToken导航TokenDH.com
Jupyter MCP Tools logo
AI代理stdio官方级别未说明来源级核验

Jupyter MCP Tools

MCP Server

将JupyterLab命令转化为MCP工具,支持本地和远程执行模式,适用于AI代理集成与自动化工作流。

工具数

60

提示词数

0

GitHub Stars

8

资源数

0
Jupyter Notebook工作流自动化命令执行远程控制AI代理集成

安装说明

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

作者 / 组织

datalayer

提供方

datalayer

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install jupyter_mcp_tools

详细介绍

![Datalayer](https://datalayer.io)

![Become a Sponsor](https://github.com/sponsors/datalayer)

🪐✨ Jupyter MCP工具

](https://pypi.org/project/jupyter-mcp-tools)

](https://github.com/datalayer/jupyter-mcp-tools/actions/workflows/build.yml)

此扩展由一个名为的Python包组成 jupyter_mcp_tools 对于服务器扩展和名为的NPM包 @datalayer/jupyter-mcp-tools 用于前端扩展。

它允许将JupyterLab命令用作MCP工具。

![](https://gips2.baidu.com/it/u=3409979123,3991068231&fm=3081&app=3081&f=GIF?w=1425&h=763)

此扩展名由以下人员使用 jupyter mcp服务器 启用JupyterLab命令,例如通过MCP工具打开笔记本电脑。

执行模式

该扩展支持JupyterLab命令的两种执行模式:

本地模式

  • 直接执行:命令直接在JupyterLab前端使用内置的命令注册表执行
  • 无需网络:无需WebSocket通信即可立即执行
  • 用例:在JupyterLab内部测试命令和直接UI交互
  • 实施:通话 app.commands.execute() 直接在浏览器中

远程模式

  • WebSocket通信:命令通过WebSocket发送到后端服务器扩展
  • 外部访问:使外部MCP客户端能够远程执行JupyterLab命令
  • 用例:与AI代理和MCP客户端集成,如 jupyter mcp服务器
  • 实施:消息通过WebSocket协议传输到后端处理程序

远程模式使此扩展对MCP集成很有价值,它允许AI代理通过标准化协议从JupyterLab环境外部触发Jupyter实验室命令(如打开笔记本电脑、执行单元格等)。

可用工具

jupyter-mcp-tools 扩展动态注册 所有可用的JupyterLab命令 作为MCP工具。可用工具的确切列表取决于安装的JupyterLab扩展和当前上下文,但以下是一些常用的工具:

备注:此扩展会自动发现所有JupyterLab命令并将其作为MCP工具提供。命令ID转换自 namespace:command 格式化为 namespace_command 为了MCP兼容性。下面的列表代表了常用的命令,但并不详尽。

核心笔记本命令

工具ID描述参数
notebook_run-all-cells按顺序执行当前笔记本中的所有单元格
notebook_get-selected-cell获取当前选定单元格的信息
notebook_append-execute在笔记本末尾添加一个新单元格,并执行源代码source (字符串), type (代码/标记/原始)
notebook_insert-cell-below在当前单元格下方插入一个新单元格activate (布尔值)
notebook_insert-cell-above在当前单元格上方插入一个新单元格activate (布尔值)
notebook_delete-cell删除当前选定的单元格
notebook_cut-cell剪切当前选定的单元格
notebook_copy-cell复制当前选定的单元格
notebook_paste-cell-below将单元格粘贴到当前单元格下方
notebook_paste-cell-above将单元格粘贴到当前单元格上方
notebook_select-next选择下一个单元格
notebook_select-previous选择上一个单元格
notebook_extend-selection-below将选择范围扩展到下面的单元格
notebook_extend-selection-above将选择范围扩展到上面的单元格
notebook_move-cell-up向上移动当前单元格
notebook_move-cell-down向下移动当前单元格
notebook_split-cell在光标位置拆分当前单元格
notebook_merge-cell-above将当前单元格与上面的单元格合并
notebook_merge-cell-below将当前单元格与下面的单元格合并
notebook_run-cell执行当前选定的单元格
notebook_run-cell-and-select-next执行单元格并移动到下一个
notebook_run-cell-and-insert-below执行单元格并在下面插入新单元格

控制台命令

工具ID描述参数
console_create创建新控制台activate (布尔值), insertMode (字符串), path (字符串)
console_clear清除控制台输出
console_restart-kernel重新启动控制台内核
console_interrupt-kernel中断控制台内核
console_inject将代码注入控制台code (字符串), activate (布尔值)

文件/文档管理

工具ID描述参数
docmanager_open按路径打开文档path (字符串), factory (字符串), kernel (对象)
docmanager_new-untitled创建新的无标题文档type (字符串), path (字符串)
docmanager_save保存当前文档
docmanager_save-as用新名称保存文档
docmanager_rename重命名当前文档newName (字符串)
docmanager_delete删除文档path (字符串)
docmanager_duplicate复制文档path (字符串)

文件浏览器命令

工具ID描述参数
filebrowser_go-to-path导航到特定路径path (字符串)
filebrowser_refresh刷新文件浏览器
filebrowser_toggle-hidden-files切换显示隐藏文件
filebrowser_create-new-directory创建新目录path (字符串)
filebrowser_upload上传文件path (字符串)
filebrowser_download下载文件path (字符串)

内核管理

工具ID描述参数
kernel_restart重新启动当前内核
kernel_interrupt中断当前内核
kernel_shutdown关闭当前内核
kernel_reconnect重新连接到内核
kernel_change更改为其他内核kernel (对象)

UI/布局命令

工具ID描述参数
application_toggle-left-area切换左侧边栏
application_toggle-right-area切换右侧边栏
application_toggle-presentation-mode切换演示模式
application_set-theme更改UI主题theme (字符串)
mainmenu_open-edit打开“编辑”菜单
mainmenu_open-file打开“文件”菜单
mainmenu_open-help打开“帮助”菜单

细胞类型转换

工具ID描述参数
notebook_change-cell-to-code将单元格转换为代码单元格
notebook_change-cell-to-markdown将单元格转换为标记单元格
notebook_change-cell-to-raw将单元格转换为原始单元格

搜索和替换

工具ID描述参数
documentsearch_start开始文档搜索query (字符串), caseSensitive (布尔值), wholeWord (布尔值), regex (布尔值)
documentsearch_highlightNext突出显示下一个搜索结果
documentsearch_highlightPrevious突出显示以前的搜索结果

终端命令

工具ID描述参数
terminal_create-new创建新终端cwd (字符串)
terminal_refresh刷新终端

要查看特定JupyterLab安装中的所有可用工具,您可以打开左侧边栏中的MCP工具面板浏览可用工具。

附加命令

此扩展提供专门为MCP集成设计的自定义JupyterLab命令:

notebook:append-execute

在当前笔记本的末尾添加一个新单元格,其中包含给定的源代码,并可选择执行它。

参数:

  • source (string,必填):要插入单元格的源代码
  • type (字符串,可选):单元格类型- 'code', 'markdown',或 'raw' (默认值: 'code')

退货:

{
  success: true,
  cellType: 'code',
  cellIndex: 5  // 0-based index of the new cell
}

示例用法:

app.commands.execute('notebook:append-execute', {
  source: 'print("Hello from MCP!")',
  type: 'code'
});

notebook:get-selected-cell

获取笔记本中当前选定/活动单元格的信息,而不执行它。

参数:

退货:

{
  success: true,
  cellType: 'code',           // 'code', 'markdown', or 'raw'
  cellIndex: 3,               // 0-based index
  source: 'print("hello")',   // cell content
  metadata: {...},            // cell metadata
  executionCount: 5           // execution count (code cells only, null otherwise)
}

示例用法:

const cellInfo = await app.commands.execute('notebook:get-selected-cell');
console.log(`Cell ${cellInfo.cellIndex}: ${cellInfo.source}`);

注: 该命令仅在笔记本打开时启用,如果未选择单元格,则返回错误对象:

{
  success: false,
  error: 'No active cell'
}

可视化单元格索引

Cell Indices

需求

  • JupyterLab>=4.0.0

安装

要安装扩展,请执行:

pip install jupyter_mcp_tools

使用

make start

卸载

要删除扩展名,请执行:

pip uninstall jupyter_mcp_tools

故障排除

如果您看到前端扩展,但它不起作用,请检查 服务器扩展已启用:

jupyter server extension list

如果服务器扩展已安装并启用,但您没有看到 前端扩展,检查前端扩展是否已安装:

jupyter labextension list

贡献

开发安装

注意:您需要NodeJS来构建扩展包。

jlpm 命令是JupyterLab的固定版本 纱线 它是随JupyterLab一起安装的。您可以使用 yarnnpm 代替 jlpm 在......下面

# Clone the repo to your local environment
# Change directory to the jupyter_mcp_tools directory
# Install package in development mode
pip install -e ".[test]"
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Server extension must be manually installed in develop mode
jupyter server extension enable jupyter_mcp_tools
# Rebuild extension Typescript source after making changes
jlpm build

您可以在不同的终端上同时查看源目录和运行JupyterLab,以查看扩展源代码的更改并自动重建扩展。

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm watch
# Run JupyterLab in another terminal
jupyter lab

运行watch命令后,每个保存的更改都将立即在本地构建,并在您正在运行的JupyterLab中可用。刷新JupyterLabs以在浏览器中加载更改(您可能需要等待几秒钟才能重建扩展)。

默认情况下 jlpm build 命令为该扩展生成源映射,以便使用浏览器开发工具更容易进行调试。要为JupyterLab核心扩展生成源映射,您可以运行以下命令:

jupyter lab build --minimize=False

开发卸载

# Server extension must be manually disabled in develop mode
jupyter server extension disable jupyter_mcp_tools
pip uninstall jupyter_mcp_tools

在开发模式下,您还需要删除由创建的符号链接 jupyter labextension develop 命令。要找到它的位置,你可以运行 jupyter labextension list 找出在哪里 labextensions 文件夹已找到。然后,您可以删除名为的符号链接 @datalayer/jupyter-mcp-tools 在该文件夹中。

测试扩展

服务器测试

此扩展正在使用 Pytest 用于Python代码测试。

安装测试依赖项(只需要一次):

pip install -e ".[test]"
# Each time you install the Python package, you need to restore the front-end extension link
jupyter labextension develop . --overwrite

要执行它们,请运行:

pytest -vv -r ap --cov jupyter_mcp_tools

前端测试

此扩展正在使用 玩笑 用于JavaScript代码测试。

要执行它们,请执行:

jlpm
jlpm test

集成测试

此扩展使用 剧作家 用于集成测试(也称为用户级测试)。 更确切地说,JupyterLab助手 加拉塔 用于在JupyterLab中处理扩展测试。

更多信息请参见 ui测试 README。

打包扩展

发布

目录标签

目录标签

Jupyter Notebook工作流自动化命令执行远程控制AI代理集成本地部署JupyterLab扩展

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

60

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP