反重力铌
Jupyter笔记本MCP服务器 反重力 --允许AI代理读取、编辑和执行 .ipynb 笔记本电脑直接放在你的工作空间里。
它做什么
- 暴露 10工具 在...之上 模型上下文协议 (stdio传输)
- 反重力代理可以打开笔记本,读取/编辑/插入/删除单元格,逐个单元格或作为标记的管道阶段运行它们,并重新启动内核
- 路径被沙盒化到您的工作区根目录——仅
.ipynb允许文件
安装
来自GitHub(推荐)
pip install git+https://github.com/Ian747-tw/Antigravity-Jupiter-Notebook-MCP.git为了地方发展
git clone https://github.com/Ian747-tw/Antigravity-Jupiter-Notebook-MCP.git
cd antigravity-nb
pip install -e .添加到反重力
1.找到您的配置文件
打开您的反重力配置文件。它通常位于:
~/.gemini/antigravity/mcp_config.json或前往 设置→ MCP服务器 反重力内部。
2.添加服务器
将以下内容添加到您的 mcpServers 对象:
{
"mcpServers": {
"antigravity-nb": {
"command": "antigravity-nb",
"args": ["serve-agent", "--workspace-root", "${workspaceFolder}"]
}
}
}3.重新加载
重新启动反重力或触发 刷新MCP服务器 发现新的工具。
验证
问代理人:
“列出antigravity nb提供的工具” “打开笔记本并运行第一个单元格”
一旦连接,Antigravity会自动发现所有10个工具。然后你可以问它这样的问题:
“在pipeline.ipynb中运行预处理阶段,并向我显示输出” “编辑analysis.ipynb中的单元格2以使用pandas而不是纯列表” “运行notebook.ipynb中的所有单元格,如果有任何单元格失败,请告诉我”
故障排除
找不到内核/ModuleNotFoundError
如果你看到 ModuleNotFoundError 当运行一个单元时,笔记本电脑正在一个没有安装软件包的内核中执行。检查可用的内核并安装一个与您的环境匹配的内核:
# List installed kernels
jupyter kernelspec list
# Install the current environment as a kernel
python -m ipykernel install --user --name myenv然后通过 kernel_name 通话时 run_cell 或 run_range,或重新启动Antigravity并选择正确的内核。
管道标签
要使用 run_pipeline 工具,在笔记本元数据中标记您的单元格。在JupyterLab中: View → 单元格工具栏→ Tags,然后添加一个标签,如下所示 preprocess, train,或 eval 每个细胞。
然后,代理可以按顺序运行特定阶段,同时维护它们之间的内核状态:
“在model.ipynb中运行训练和评估阶段”
调试记录
手动运行服务器并将stderr管道传输到一个文件,以查看所有工具调用和错误:
antigravity-nb serve-agent --workspace-root . 2>debug.log
tail -f debug.log可用工具
| 工具 | 说明 |
|---|---|
open_notebook | 打开笔记本,返回细胞计数+流水线阶段 |
list_cells | 列出所有具有索引、类型、标记和源预览的单元格 |
read_cell | 读取一个单元格的完整源代码和输出 |
edit_cell | 替换单元格的源代码(编辑前自动检查点) |
insert_cell | 在给定索引处插入新单元格 |
delete_cell | 删除单元格(删除前自动检查点) |
run_cell | 执行一个代码单元并返回输出 |
run_range | 执行一系列单元格 [start, end] 包容性 |
run_pipeline | 执行按基于标记的管道阶段分组的单元格 |
restart_kernel | 重启Jupyter内核,清除所有内存状态 |
检查点
edit_cell 和 delete_cell 在进行更改之前写一个带时间戳的备份:
notebook.checkpoint_20250610_143022.ipynb通过 checkpoint=false 如果你不需要,就跳过。
命令行界面
CLI也可用于脚本编写:
# Run a single cell
antigravity-nb run-cell notebook.ipynb 3
# Run a range of cells
antigravity-nb run-range notebook.ipynb 2 7
# Run a tagged pipeline
antigravity-nb run-pipeline notebook.ipynb
antigravity-nb run-pipeline notebook.ipynb --stage preprocess --stage train
# Edit a cell from a file
antigravity-nb edit-cell notebook.ipynb 5 --source-file ./new_cell.py
# List pipeline stages
antigravity-nb list-stages notebook.ipynb
# Start the MCP server manually
antigravity-nb serve-agent --workspace-root .Python API
from antigravity_nb import NotebookAdapter, KernelSession, NotebookRunner
nb = NotebookAdapter("pipeline.ipynb")
ks = KernelSession(nb)
runner = NotebookRunner(nb, ks)
ks.start()
nb.update_cell(0, "print('hello')")
result = runner.run_cell(0)
print(result.outputs)
nb.save()
ks.shutdown()安全
- 仅
.ipynb允许文件 - 所有路径都已解析并检查
--workspace-root;它之外的任何路径都被拒绝 - 服务器以启动它的同一用户的身份运行——不要将其指向敏感目录
需求
- Python 3.10+
jupyter_client >= 8.0.0- 为目标语言安装的Jupyter内核(例如。
pip install ipykernelPython)
许可证
麻省理工学院
