jupyterlab-commands-toolkit
A Jupyter extension that provides an AI toolkit for JupyterLab commands.
What it is and what it does
jupyterlab_commands_toolkit is a JupyterLab server extension that bridges Python code and AI assistants to JupyterLab's command system. It provides two main functions: discovering all available commands with their metadata, and executing any command programmatically. The extension is designed to integrate with jupyter-server-mcp, automatically exposing its tools to AI clients like Claude Desktop via the Model Context Protocol, making JupyterLab automation accessible to language models and other MCP-compatible tools.
The package consists of a Python server component (installed via pip) and a frontend NPM component (installed automatically with the extension). It requires only jupyter-server and jupyterlab-eventlistener as runtime dependencies, keeping installation lightweight. The extension is intended for use within a running Jupyter Server process, where it can intercept and execute commands like toggling the file browser or running notebook cells—typical operations that would otherwise require manual UI interaction.
Use it for:
- Enable AI assistants to discover and execute JupyterLab commands programmatically via the Model Context Protocol.
- Automate repetitive JupyterLab tasks (e.g., running cells, toggling panels) from server-side Python code.
- Expose JupyterLab command capabilities to external tools or workflows that integrate with jupyter-server-mcp.
- Build custom server extensions that need to interact with JupyterLab's command registry without direct UI access.
- Integrate JupyterLab automation into AI-driven notebook workflows or assistants.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Exposes JupyterLab commands to Python code and AI assistants via a server extension, enabling programmatic command discovery and execution within Jupyter environments.
Yes, if you need programmatic access to JupyterLab commands or are building AI-assisted workflows. The extension is actively maintained, has low install friction, carries a permissive BSD license, and integrates cleanly with jupyter-server-mcp. Install with caution only if your JupyterLab version is older than 4.5.0a3 or if you need to verify compatibility with your specific extensions.
Install
jupyterlab-commands-toolkit on PyPI
pip
pip install jupyterlab-commands-toolkituv
uv add jupyterlab-commands-toolkitpoetry
poetry add jupyterlab-commands-toolkitInstalling jupyterlab-commands-toolkit
Before you install
Low install friction; pure Python wheel with only two runtime dependencies (jupyter-server and jupyterlab-eventlistener). Active maintenance with recent releases; repository is not archived.
License in practice
BSD 3-Clause License permits commercial and private use with minimal restrictions; you must retain copyright notices and disclaimers in distributions.
Quickstart
pip install jupyterlab_commands_toolkit
from jupyterlab_commands_toolkit.tools import execute_command, list_all_commands
async def main():
commands = await list_all_commands()
result = await execute_command("filebrowser:toggle-main")
Must run within an initialized Jupyter Server process (e.g., via jupyter-server-mcp or another server extension); requires JupyterLab >= 4.5.0a3.
Verify before relying
- Whether the extension works with JupyterLab versions between 4.5.0a3 and the latest stable release.
- Performance characteristics when listing or executing commands with high frequency.
- Compatibility with custom JupyterLab command plugins or third-party extensions.
Package facts
| License | BSD 3-Clause License Copyright (c) 2025, Project Jupyter Team All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — jupyter-server, jupyterlab-eventlistener |
| Maintenance | actively maintained — 107 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 81,077/month — #14,252 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jupyterlab_commands_toolkit-0.1.6-py3-none-any.whl
Keywords: jupyter, jupyterlab, jupyterlab-extension
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
jupysql-pluginA JupyterLab 4 extension that integrates…
permissive · top 15,000 on PyPI
jupyter-ai-chat-commandsProvides default chat commands for Jupyter AI,…
permissive · top 15,000 on PyPI
jupyter-server-mcpExposes Python functions as tools to MCP…
permissive · top 15,000 on PyPI
jupyterlab-code-formatterA JupyterLab plugin that integrates code…
permissive · top 15,000 on PyPI
jupyter-builderProvides CLI and Python tools to build,…
permissive · top 1,000 on PyPI
jupyterlab-serverProvides REST API handlers and utilities that…
permissive · top 1,000 on PyPI
jupyter-aiJupyter AI is a JupyterLab extension that…
permissive · top 15,000 on PyPI
jupyter-ai-magicsJupyter AI Magics provides a JupyterLab…
permissive · top 15,000 on PyPI
jupyter-mcp-toolsExposes JupyterLab commands as MCP (Model…
permissive · top 15,000 on PyPI
jupyter-ai-routerProvides the core message routing layer for…
permissive · top 15,000 on PyPI