Notebook MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JUPYTER_TOKEN | Yes | The authentication token for the Jupyter server | |
| JUPYTER_BASE_URL | No | The base URL of the Jupyter server | http://localhost:8888 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| notebook_analyzeC | Analyze a notebook and return structured cell info and dependency edges. |
| notebook_contextC | Return a focused, dependency-aware context slice for a given cell. |
| notebook_export_scriptC | Export notebook code to a best-effort deterministic Python script. |
| notebook_stateC | Compute best-effort execution state for each cell using execution_count + dependency edges. |
| notebook_rerun_planC | Recommend a rerun plan (best-effort offline) for a focus cell. |
| jupyter_list_sessionsB | List Jupyter Server sessions (requires JUPYTER_BASE_URL and optional JUPYTER_TOKEN). |
| jupyter_get_kernelC | Get kernel metadata from Jupyter Server. |
| jupyter_executeC | Execute code on a Jupyter kernel via Jupyter Server websocket channels. Requires:
|
| jupyter_execution_submitD | – |
| jupyter_execution_statusD | – |
| jupyter_execution_outputD | – |
| jupyter_execution_cancelD | – |
| jupyter_inspectC | Inspect an expression on a kernel using user_expressions (repr + type). Requires:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have distinct purposes (e.g., execute vs. inspect vs. analyze), but jupyter_execute and jupyter_execution_submit could be confused, and jupyter_execution_output overlaps somewhat with jupyter_inspect.
Uses two prefixes (jupyter_, notebook_) inconsistently; within jupyter_ group, some are verbs (execute, get_kernel) and others are noun phrases (execution_cancel, execution_output), breaking the pattern.
13 tools is well-scoped for a Jupyter notebook server, covering execution, kernel inspection, session management, and notebook analysis without being overwhelming.
Covers core notebook interactions (execute, analyze, export, state) but lacks tools for creating or deleting notebooks/kernels, and no direct session shutdown.