mcp-server-jupyter logo

mcp-server-jupyter

by ihrpr

An MCP server for managing and interacting with Jupyter notebooks programmatically. It provides tools to read, add, edit, and execute cells within Jupyter notebooks.

View on GitHub

Last updated: N/A

What is mcp-server-jupyter?

mcp-server-jupyter is a server that allows you to programmatically manage and interact with Jupyter notebooks. It provides a set of tools accessible through an API to perform actions like reading notebook content, adding new cells, editing existing cells, and executing cells.

How to use mcp-server-jupyter?

To use this server, you need to configure it within Claude Desktop by adding a new MCP server configuration. This involves specifying the command and arguments to run the server, as well as setting the UV_PROJECT_ENVIRONMENT environment variable to point to the virtual environment used by Jupyter. Then, open a notebook in JupyterLab/Jupyter Notebook and use the full path to the notebook when calling the tools from Claude Desktop. Remember to reload the notebook page in JupyterLab/Jupyter Notebook after modifications.

Key features of mcp-server-jupyter

  • Read notebook content with or without outputs

  • Read output of a specific cell

  • Add new cells (code or markdown)

  • Edit existing cell content

  • Execute a specific cell and return its output

  • Integration with Claude Desktop

Use cases of mcp-server-jupyter

  • Automated notebook analysis and reporting

  • Programmatic notebook creation and modification

  • Integration with AI assistants like Claude for notebook manipulation

  • Verifying cell execution and output programmatically

FAQ from mcp-server-jupyter

Do I need to reload the notebook after modifications?

Yes, after any modifications through Claude (add_cell, edit_cell), you need to reload the notebook page in JupyterLab/Jupyter Notebook.

Does it support automatic reload?

The current version does not support automatic reload.

How do I get the full path to my notebook?

In JupyterLab: Right-click on the notebook in the file browser → 'Copy Path'. In Jupyter Notebook: Copy the path from the URL (modify to full system path).

What environment variable is required?

The UV_PROJECT_ENVIRONMENT environment variable is required and should point to the virtual environment used by Jupyter.

What license is this project under?

This project is licensed under the MIT License.