jupyter-mcp-server — Claude Code MCP server
This MCP server lets an AI agent operate Jupyter notebooks, run cells, handle several notebooks, and receive text, tables, or images.
claude mcp add jupyter-mcp-server -- uvx better-jupyter-mcp-serverWhat jupyter-mcp-server does
jupyter-mcp-server exposes notebook tools through MCP. An agent can connect to or create a notebook, inspect its source, list cells, read their contents, insert or remove cells, replace code, and execute selected cells. It also provides a combined append-and-run action and a temporary execution path that leaves no code in the notebook.
The quick setup uses uvx better-jupyter-mcp-server and requires Python 3.12+ together with uv. A Jupyter Server must be running first; its URL and authentication token are obtained with jupyter server list and supplied in the agent’s rules or prompt. Image results depend on the client supporting multimodal MCP responses.
What it helps with
- connect several Jupyter notebooks to an agent
- inspect and edit notebook cells
- run code and return cell output
- append executable code to a notebook
- test intermediate values without saving a cell
Example prompts for the agent
- Connect to the project notebook and run the cell that calculates summary statistics.
- Locate the data-loading cell, replace its code, and execute it again.
- Run a temporary snippet to inspect a variable without writing it into the notebook.
How to install jupyter-mcp-server
Platform CLI
claude mcp add jupyter-mcp-server -- uvx better-jupyter-mcp-serveruvx runs the command named after the package; if the README names another one, use uvx --from better-jupyter-mcp-server <command>
Platform CLI
codex mcp add jupyter-mcp-server -- uvx better-jupyter-mcp-serveruvx runs the command named after the package; if the README names another one, use uvx --from better-jupyter-mcp-server <command>
Config file
{
"mcpServers": {
"jupyter-mcp-server": {
"command": "uvx",
"args": [
"better-jupyter-mcp-server"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from better-jupyter-mcp-server <command>
Config file
{
"servers": {
"jupyter-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"better-jupyter-mcp-server"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from better-jupyter-mcp-server <command>
Platform CLI
gemini mcp add jupyter-mcp-server uvx better-jupyter-mcp-serveruvx runs the command named after the package; if the README names another one, use uvx --from better-jupyter-mcp-server <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about jupyter-mcp-server
How do I install jupyter-mcp-server in Claude Code?
Run claude mcp add jupyter-mcp-server -- uvx better-jupyter-mcp-server.
What does jupyter-mcp-server do?
It gives an MCP client control over Jupyter notebooks and cells. The agent can edit and execute code, while receiving text, table, or image output.
What does jupyter-mcp-server need before it can run?
Use Python 3.12+, uv, and a running Jupyter Server. Provide its URL and token through the agent’s rules or prompt; image output also requires a client that can handle multimodal responses.