Notebook Intelligence
@notebook-intelligence
Overview
What is Notebook Intelligence?
Notebook Intelligence (NBI) is an AI coding assistant and extensible AI framework for JupyterLab. It works with GitHub Copilot, any LLM provider, or local models via Ollama, boosting JupyterLab user productivity with in‑line code generation, auto‑complete, and a chat interface.
How to use Notebook Intelligence?
Install the extension with pip install notebook-intelligence (requires JupyterLab ≥ 4.0.0) and restart JupyterLab. Configure the LLM provider and model through the Settings dialog, via the command palette, or by editing the config file at ~/.jupyter/nbi-config.json.
Key features of Notebook Intelligence
- AI code generation with inline chat and auto‑complete
- Chat interface using GitHub Copilot or any LLM provider
- Supports local models via Ollama
- Integrates with MCP servers (stdio and SSE transports)
- Configurable MCP participant grouping and tool approval
- Secure GitHub token storage using system keyring
Use cases of Notebook Intelligence
- Accelerate notebook coding with AI suggestions and completions
- Automate repetitive tasks through MCP server tools (e.g., filesystem operations)
- Build custom AI agents and extensions for JupyterLab
- Use a mix of cloud and local LLM models without switching editors
- Create new notebooks, add markdown/code cells via built‑in NBI tools
FAQ from Notebook Intelligence
Does Notebook Intelligence require JupyterLab?
Yes, Notebook Intelligence requires JupyterLab version 4.0.0 or higher.
How do I configure the LLM provider?
Use the Notebook Intelligence Settings dialog (accessible from JupyterLab’s Settings menu or the /settings chat command) or manually edit ~/.jupyter/nbi-config.json. API keys for custom providers are stored in that config file.
What MCP transports does Notebook Intelligence support?
It supports both Standard Input/Output (stdio) and Server‑Sent Events (SSE) transports. MCP support is currently limited to server tools.
How are GitHub tokens stored?
Notebook Intelligence uses the system keyring via the keyring package. To remember a token, launch JupyterLab with --NotebookIntelligence.github_access_token=remember; to forget it, use forget.
Can I control which MCP tools are auto‑approved?
Yes. In the mcp.tools configuration of nbi-config.json, use the "alwaysAllow" key with a list of tool names to auto‑approve those specific tools.