MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

A
Antigravity Jupiter Notebook MCP

A Jupyter notebook MCP server for [Antigravity](https://antigravity.codes) — lets AI agents read, edit, and execute `.ipynb` notebooks directly inside your workspace.

Created 2/21/2026
Updated about 10 hours ago
Repository documentation and setup instructions

antigravity-nb

A Jupyter notebook MCP server for Antigravity — lets AI agents read, edit, and execute .ipynb notebooks directly inside your workspace.

What it does

  • Exposes 10 tools over the Model Context Protocol (stdio transport)
  • Antigravity agents can open notebooks, read/edit/insert/delete cells, run them cell-by-cell or as tagged pipeline stages, and restart the kernel
  • Paths are sandboxed to your workspace root — only .ipynb files are allowed

Install

From GitHub (recommended)

pip install git+https://github.com/Ian747-tw/Antigravity-Jupiter-Notebook-MCP.git

For local development

git clone https://github.com/Ian747-tw/Antigravity-Jupiter-Notebook-MCP.git
cd antigravity-nb
pip install -e .

Add to Antigravity

1. Locate your configuration file

Open your Antigravity configuration file. It is usually found at:

~/.gemini/antigravity/mcp_config.json

Or go to Settings → MCP Servers inside Antigravity.

2. Add the server

Append the following to your mcpServers object:

{
  "mcpServers": {
    "antigravity-nb": {
      "command": "antigravity-nb",
      "args": ["serve-agent", "--workspace-root", "${workspaceFolder}"]
    }
  }
}

3. Reload

Restart Antigravity or trigger Refresh MCP Servers to discover the new tools.

Verify

Ask the agent:

"List the tools available from antigravity-nb" "Open a notebook and run the first cell"

Once connected, Antigravity discovers all 10 tools automatically. You can then ask it things like:

"Run the preprocess stage in pipeline.ipynb and show me the outputs" "Edit cell 2 in analysis.ipynb to use pandas instead of a plain list" "Run all cells in notebook.ipynb and tell me if any failed"

Troubleshooting

Kernel not found / ModuleNotFoundError

If you see ModuleNotFoundError when running a cell, the notebook is executing in a kernel that doesn't have your packages installed. Check available kernels and install one that matches your environment:

# List installed kernels
jupyter kernelspec list

# Install the current environment as a kernel
python -m ipykernel install --user --name myenv

Then pass kernel_name when calling run_cell or run_range, or restart Antigravity and select the correct kernel.

Pipeline tags

To use the run_pipeline tool, tag your cells in the notebook metadata. In JupyterLab: View → Cell Toolbar → Tags, then add a tag like preprocess, train, or eval to each cell.

The agent can then run specific stages in order while maintaining kernel state across them:

"Run the train and eval stages in model.ipynb"

Debug logging

Run the server manually and pipe stderr to a file to see all tool calls and errors:

antigravity-nb serve-agent --workspace-root . 2>debug.log
tail -f debug.log

Available tools

| Tool | Description | |---|---| | open_notebook | Open a notebook and return cell count + pipeline stages | | list_cells | List all cells with index, type, tags, and source preview | | read_cell | Read the full source and outputs of one cell | | edit_cell | Replace a cell's source (auto-checkpoints before editing) | | insert_cell | Insert a new cell at a given index | | delete_cell | Delete a cell (auto-checkpoints before deleting) | | run_cell | Execute one code cell and return outputs | | run_range | Execute a range of cells [start, end] inclusive | | run_pipeline | Execute cells grouped by tag-based pipeline stages | | restart_kernel | Restart the Jupyter kernel, clearing all in-memory state |

Checkpoints

edit_cell and delete_cell write a timestamped backup before making changes:

notebook.checkpoint_20250610_143022.ipynb

Pass checkpoint=false to skip if you don't need it.

CLI

The CLI is also available for scripting:

# 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()

Security

  • Only .ipynb files are allowed
  • All paths are resolved and checked against --workspace-root; any path outside it is rejected
  • The server runs as the same user that launched it — don't point it at sensitive directories

Requirements

  • Python 3.10+
  • jupyter_client >= 8.0.0
  • A Jupyter kernel installed for your target language (e.g. pip install ipykernel for Python)

License

MIT

Quick Setup
Installation guide for this server

Install Package (if required)

uvx antigravity-jupiter-notebook-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "ian747-tw-antigravity-jupiter-notebook-mcp": { "command": "uvx", "args": [ "antigravity-jupiter-notebook-mcp" ] } } }