AI extensions for JupyterLab and Jupyter Notebook 7.
We are excited to see the Jupyter extension ecosystem thrive in the era of AI. The variety of ideas and implementations demonstrates the utility of the extension platform and the API stability offered by JupyterLab. This list collects over a hundred AI extensions for JupyterLab and Jupyter Notebook 7. They range from chat panels and inline completers to teaching tools and the building blocks of Jupyter AI. Each one installs into a JupyterLab or Notebook 7 you already run.
The authors include individuals, universities, research institutes and corporations. Listing an extension here is not an endorsement.
Sections group the extensions by what they do. Inside a section, each entry has a marker for how recently the project was worked on:
| Marker | Name | Last commit |
|---|---|---|
| 🟢 | active | Within 4 months |
| 🟡 | maintained | Within 12 months |
| ⚪ | quiet | 1 to 2 years ago |
Anything older lives in HISTORICAL.md, together with the archived projects and the ones whose model service has been switched off. The date is derived from the last commit on the default branch, or the latest PyPI release when there is no public repository.
marks a project maintained by Project Jupyter, in one of its official GitHub organisations.
🪐 marks a project in jupyter-ai-contrib, the community organisation where Jupyter AI v3 is built as separate packages. It is not under Project Jupyter governance.
Star counts in the table are for orientation only. Read the licence before you depend on an extension: Notebook Intelligence is GPL-3.0, and several entries have an open licence but no public repository.
This lists major projects, but each has a few alternatives listed in sections below.
| Project | What it adds | Stars | Last commit | License |
|---|---|---|---|---|
| Chat with external agents over ACP | BSD-3-Clause | |||
| Completion and chat, runs in the browser | BSD-3-Clause | |||
| Notebook Intelligence | Chat, inline edit, completion, agent mode | GPL-3.0 | ||
| Mito AI | Context aware chat and error debugging | Mixed | ||
| Jupyter AI Agents | Agent that edits and runs cells | BSD-3-Clause | ||
| genai | Magics that read your error and your dataframes, then suggest the fix | BSD-3-Clause | ||
| jupyter-copilot | GitHub Copilot inline completion | MIT | ||
| 🪐 Magic Wand | In-cell assistant with a diff view | BSD-3-Clause |
Generally these include a panel you type into and, can read and edit your notebook.
LICENSE before deploying it.LICENSE is a copyright line with no grant, and there is no public repository (runcell.dev)..agentnb files. The AI cells are answered by the Claude Agent SDK on the server. BSD-3-Clause, no public repository.jupyter-deepagents and deepagent-lab.jupyterlab-chat, so this one installs from source.Ghost text as you type, through the JupyterLab completer API.
copilot.vim language server as the backend of the JupyterLab completer. It is the simplest way to get GitHub Copilot in a notebook. Authentication on the extension server is disabled, so do not use it over SSH.Help inside the cell you are editing: a button on the cell toolbar, a magic, or a diff you accept.
$`variable` to inject kernel values and &`function` to expose Python functions as tools, inspired by fast.ai's Solveit. The author states it is an experiment and not maintained long term. GPL-3.0.Claude Code, Codex and the other CLI agents run in a terminal. These extensions connect the notebook to that agent, through a side panel, a magic or cell comments.
jupyterlab_claude_code_extension and jupyterlab_codex_extension packages and migrates their settings.%%ask magic that sends everything visible above the current cell, markdown and outputs included, to the Codex CLI..ipynb file and the notebook reloads. MIT, copyright Anthropic, and the repository it points at is not public.Built for one scientific field, one classroom or one vendor platform.
jupyter-server-mcp. MIT, no public repository.![]() smarts.bio: a protein structure answered in the chat | ![]() LLM Attributor: an answer traced back to the training data behind it | ![]() Xavier: data kept in view while code is suggested |
Plugins and libraries to build on. Few of them do anything on their own, and Jupyter AI v3 is assembled from them: installing jupyter-ai installs nine of the packages below, and its extras install six more. Every code repository in jupyter-ai-contrib is listed somewhere in this file, most of them here.
jupyter-ai-magics, built on LiteLLM.jupyterlab-chat extension. Install it alone for a chat between humans, or depend on it to write your own assistant. Try it on Binder.An agent writes to the notebook file while you have it open. By default JupyterLab keeps showing the old cells as reloading the document could lose the widget state. These extensions instead update the open notebook when the file changes.
rtc extra.rtc-jsd extra.An MCP server lets an agent that runs outside JupyterLab read and edit a notebook. It also lets an extension offer its own commands as tools.
.ipynb files for an agent that has no notebook UI of its own, written for Cursor.![]() jupyter-mcp-tools: JupyterLab commands called as MCP tools | ![]() jupyter-mcp-manager: choosing which MCP servers are available |
These are not JupyterLab extensions. They are command line tools, magics and models that a notebook user runs next to Jupyter.
Read CONTRIBUTING.md first. It has the listing criteria, including what is deliberately left out, how an entry gets its marker, and how the list was assembled.
To the extent possible under law, the contributors have waived all copyright and related or neighboring rights to this work.
7 commits
AI extensions for JupyterLab and Jupyter Notebook 7.
We are excited to see the Jupyter extension ecosystem thrive in the era of AI. The variety of ideas and implementations demonstrates the utility of the extension platform and the API stability offered by JupyterLab. This list collects over a hundred AI extensions for JupyterLab and Jupyter Notebook 7. They range from chat panels and inline completers to teaching tools and the building blocks of Jupyter AI. Each one installs into a JupyterLab or Notebook 7 you already run.
The authors include individuals, universities, research institutes and corporations. Listing an extension here is not an endorsement.
Sections group the extensions by what they do. Inside a section, each entry has a marker for how recently the project was worked on:
| Marker | Name | Last commit |
|---|---|---|
| 🟢 | active | Within 4 months |
| 🟡 | maintained | Within 12 months |
| ⚪ | quiet | 1 to 2 years ago |
Anything older lives in HISTORICAL.md, together with the archived projects and the ones whose model service has been switched off. The date is derived from the last commit on the default branch, or the latest PyPI release when there is no public repository.
marks a project maintained by Project Jupyter, in one of its official GitHub organisations.
🪐 marks a project in jupyter-ai-contrib, the community organisation where Jupyter AI v3 is built as separate packages. It is not under Project Jupyter governance.
Star counts in the table are for orientation only. Read the licence before you depend on an extension: Notebook Intelligence is GPL-3.0, and several entries have an open licence but no public repository.
This lists major projects, but each has a few alternatives listed in sections below.
| Project | What it adds | Stars | Last commit | License |
|---|---|---|---|---|
| Chat with external agents over ACP | BSD-3-Clause | |||
| Completion and chat, runs in the browser | BSD-3-Clause | |||
| Notebook Intelligence | Chat, inline edit, completion, agent mode | GPL-3.0 | ||
| Mito AI | Context aware chat and error debugging | Mixed | ||
| Jupyter AI Agents | Agent that edits and runs cells | BSD-3-Clause | ||
| genai | Magics that read your error and your dataframes, then suggest the fix | BSD-3-Clause | ||
| jupyter-copilot | GitHub Copilot inline completion | MIT | ||
| 🪐 Magic Wand | In-cell assistant with a diff view | BSD-3-Clause |
Generally these include a panel you type into and, can read and edit your notebook.
LICENSE before deploying it.LICENSE is a copyright line with no grant, and there is no public repository (runcell.dev)..agentnb files. The AI cells are answered by the Claude Agent SDK on the server. BSD-3-Clause, no public repository.jupyter-deepagents and deepagent-lab.jupyterlab-chat, so this one installs from source.Ghost text as you type, through the JupyterLab completer API.
copilot.vim language server as the backend of the JupyterLab completer. It is the simplest way to get GitHub Copilot in a notebook. Authentication on the extension server is disabled, so do not use it over SSH.Help inside the cell you are editing: a button on the cell toolbar, a magic, or a diff you accept.
$`variable` to inject kernel values and &`function` to expose Python functions as tools, inspired by fast.ai's Solveit. The author states it is an experiment and not maintained long term. GPL-3.0.Claude Code, Codex and the other CLI agents run in a terminal. These extensions connect the notebook to that agent, through a side panel, a magic or cell comments.
jupyterlab_claude_code_extension and jupyterlab_codex_extension packages and migrates their settings.%%ask magic that sends everything visible above the current cell, markdown and outputs included, to the Codex CLI..ipynb file and the notebook reloads. MIT, copyright Anthropic, and the repository it points at is not public.Built for one scientific field, one classroom or one vendor platform.
jupyter-server-mcp. MIT, no public repository.![]() smarts.bio: a protein structure answered in the chat | ![]() LLM Attributor: an answer traced back to the training data behind it | ![]() Xavier: data kept in view while code is suggested |
Plugins and libraries to build on. Few of them do anything on their own, and Jupyter AI v3 is assembled from them: installing jupyter-ai installs nine of the packages below, and its extras install six more. Every code repository in jupyter-ai-contrib is listed somewhere in this file, most of them here.
jupyter-ai-magics, built on LiteLLM.jupyterlab-chat extension. Install it alone for a chat between humans, or depend on it to write your own assistant. Try it on Binder.An agent writes to the notebook file while you have it open. By default JupyterLab keeps showing the old cells as reloading the document could lose the widget state. These extensions instead update the open notebook when the file changes.
rtc extra.rtc-jsd extra.An MCP server lets an agent that runs outside JupyterLab read and edit a notebook. It also lets an extension offer its own commands as tools.
.ipynb files for an agent that has no notebook UI of its own, written for Cursor.![]() jupyter-mcp-tools: JupyterLab commands called as MCP tools | ![]() jupyter-mcp-manager: choosing which MCP servers are available |
These are not JupyterLab extensions. They are command line tools, magics and models that a notebook user runs next to Jupyter.
Read CONTRIBUTING.md first. It has the listing criteria, including what is deliberately left out, how an entry gets its marker, and how the list was assembled.
To the extent possible under law, the contributors have waived all copyright and related or neighboring rights to this work.
7 commits