datalayer/jupyter-mcp-server

datalayer/jupyter-mcp-server

от datalayer
Подключает AI к Jupyter Notebooks в реальном времени: создание, выполнение и редактирование ячеек, переключение между ноутбуками, вывод графиков. Оптимальное решение для автоматизации работы с данн...

Datalayer

Become a Sponsor

🪐🔧 Jupyter MCP Server

An MCP server developed for AI to connect and manage Jupyter Notebooks in real-time

Developed by Datalayer

PyPI - Version Total PyPI downloads Docker Pulls License

Jupyter MCP Server Demo

[!IMPORTANT] Breaking change in v1.0.0: You must configure MCP_TOKEN in your MCP client setup.

For setup details, see: https://jupyter-mcp-server.datalayer.tech/providers/jupyter-streamable-http-standalone/#3-configure-your-mcp-client

Update in v1.0.2: pycrdt is now supported, so installing datalayer_pycrdt is no longer required.

[!NOTE] We Need Your Feedback!

We're actively developing support for JupyterHub and Google Colab deployments. If you're using or planning to use Jupyter MCP Server with these platforms, we'd love to hear from you!

  • 🏢 JupyterHub users: Share your deployment setup and requirements
  • 🌐 Google Colab users: Help us understand your use cases and workflows

Join the conversation in our Community page - your feedback will help us prioritize features and ensure these integrations work seamlessly for your needs.

📖 Table of Contents

  • Key Features
  • MCP Overview
  • Getting Started
  • Best Practices
  • Contributing
  • Resources
Инструменты были проиндексированы:
connect_to_jupyter

Подключается к Jupyter серверу динамически по URL и токену. Этот инструмент позволяет подключаться к разным Jupyter серверам без перезапуска MCP сервера или правки конфигурационных файлов. Особенно полезен, когда: - Работаете с несколькими Jupyter серверами на разных портах с разными токенами - Токен Jupyter сервера меняется динамически - Нужно переключаться между разными экземплярами Jupyter Примеры использования: - "Подключиться к http://localhost:8888 с токеном abc123" - "Подключиться к http://localhost:8889 без аутентификации"

Параметры
  • jupyter_tokenstring | null

    Токен аутентификации сервера Jupyter

  • jupyter_urlstringобязательный

    URL сервера Jupyter для подключения (например, 'http://localhost:8888')

  • providerstring

    Тип провайдера

delete_cell

Удаляет конкретные ячейки из текущего активного ноутбука и возвращает исходный код удалённых ячеек (если include_source=True).

Параметры
  • cell_indicesinteger[]обязательный

    Список индексов ячеек для удаления (отсчет от нуля).

  • include_sourceboolean

    Включать ли источник удалённых ячеек

edit_cell_source

Выполняет точную замену (find-and-replace) в исходном коде ячейки — как инструмент Edit в редакторе.Находит old_string в ячейке и заменяет его на new_string. Совпадение ищется буквально (не regex) и может охватывать несколько строк. По умолчанию old_string должен встречаться ровно один раз; для нескольких вхождений установите replace_all=True. Возвращает diff внесённых изменений. Предпочитайте этот инструмент overwrite_cell_source для небольших точечных правок — он безопаснее, потому что неизменённые части ячейки остаются нетронутыми. Сначала вызовите read_cell, чтобы посмотреть текущий исходник и составить точный old_string.

Параметры
  • cell_indexintegerобязательный

    Индекс редактируемой ячейки (начиная с нуля)

  • new_stringstringобязательный

    Строка замены

  • old_stringstringобязательный

    Точная строка для поиска в исходном коде ячейки.

  • replace_allboolean

    Заменить все вхождения (по умолчанию: только первое)

execute_cell

Выполняет ячейку из текущего активного блокнота с таймаутом и возвращает её результаты.

Параметры
  • cell_indexintegerобязательный

    Индекс ячейки для выполнения (отсчет от нуля).

  • progress_intervalinteger

    Секунды между обновлениями прогресса, когда stream=True

  • streamboolean

    Включите потоковые обновления прогресса (включая индикатор времени) для долго выполняющихся ячеек.

  • timeoutinteger

    Максимальное количество секунд ожидания выполнения (0 = использовать значение по умолчанию из конфигурации)

execute_code

Выполняет код напрямую в ядре (не сохраняется в блокнот). По умолчанию нацелено на ядро текущего активного блокнота. Передайте kernel_id, чтобы выполнить код напрямую в конкретном ядре — включая «сырые» ядра, к которым не привязан блокнот. Рекомендуется использовать в следующих случаях: 1. Выполнение магических команд Jupyter (например, %timeit, %pip install xxx) 2. Профилирование производительности и отладка. 3. Просмотр промежуточных значений переменных (например, print(xxx), df.head()) 4. Временные вычисления и быстрые тесты (например, np.mean(df['xxx'])) 5. Выполнение shell-команд на сервере Jupyter (например, !git xxx) Ни при каких обстоятельствах не используйте этот инструмент для: 1. Импортирования новых модулей или присваивания переменных, которые влияют на последующее выполнение блокнота. 2. Выполнения опасного кода, который может навредить серверу Jupyter или данным пользователя без разрешения.

Параметры
  • codestringобязательный

    Код для выполнения (поддерживает магические команды с %, команды оболочки с !)

  • kernel_idstring | null

    Укажите существующее ядро по ID (например, сырое ядро без блокнота). Если ID не указан, используется ядро текущего блокнота.

  • timeoutinteger

    Максимальное количество секунд ожидания выполнения (0 = использовать значение по умолчанию из конфигурации)

insert_cell

Вставляет ячейку в указанную позицию из текущего активированного ноутбука.

Параметры
  • cell_indexintegerобязательный

    Целевой индекс для вставки (отсчёт с нуля), используйте -1, чтобы добавить в конец.

  • cell_sourcestringобязательный

    Исходное содержимое ячейки

  • cell_typeenumобязательный

    Тип вставляемой ячейки

insert_execute_code_cell

Вставляет ячейку по указанному индексу в текущем активном блокноте, выполняет её с таймаутом и возвращает результаты выполнения. Это упрощённый инструмент для совместного вызова insert_cell и execute_cell. Рекомендуется использовать, если нужно одновременно вставить ячейку и выполнить её.

Параметры
  • cell_indexintegerобязательный

    Индекс ячейки для вставки и выполнения (с нуля)

  • cell_sourcestringобязательный

    Исходный код для ячейки.

  • timeoutinteger

    Максимальное количество секунд ожидания выполнения (0 = использовать значение по умолчанию из конфигурации)

list_filesтолько чтение

Рекурсивно вывести список всех файлов и каталогов в файловой системе Jupyter server. Используется для изучения структуры файловой системы Jupyter server или для поиска конкретных файлов или каталогов.

Параметры
  • limitinteger

    Максимальное количество элементов для возврата (0 означает без ограничений)

  • max_depthinteger

    Максимальная глубина рекурсивного обхода подкаталогов

  • pathstring

    Начальный путь для перечисления (пустая строка означает корневой каталог)

  • patternstring

    Шаблон glob для фильтрации путей файлов

  • start_indexinteger

    Начальный индекс для пагинации (с нуля)

list_kernelsтолько чтение

Список всех доступных ядер на сервере Jupyter. Этот инструмент показывает все работающие и доступные сессии ядер на сервере Jupyter, включая их идентификаторы, имена, состояния, информацию о подключении и спецификации ядер. Полезен для мониторинга ресурсов ядер и определения конкретных ядер для подключения.

Параметры

Без параметров.

list_notebooksтолько чтение

Выведи список всех ноутбуков, которые использовались через инструмент use_notebook.

Параметры

Без параметров.

move_cell

Перемещает ячейку из source_index в target_index в текущем активном ноутбуке. Ячейка удаляется из source_index и помещается на target_index. Промежуточные ячейки сдвигаются, заполняя пробел. Тип ячейки, исходный код и выводы сохраняются. Пример: в ноутбуке [A, B, C, D] вызов move_cell(1, 3) даёт [A, C, D, B]. Используйте этот инструмент вместо ручного удаления и повторной вставки ячейки — он атомарен и сохраняет метаданные ячейки. Если нужно, сначала вызовите read_notebook, чтобы увидеть индексы ячеек.

Параметры
  • source_indexintegerобязательный

    Индекс перемещаемой ячейки (с нуля)

  • target_indexintegerобязательный

    Индекс назначения, куда попадёт ячейка (начиная с нуля).

overwrite_cell_source

Заменяет всё содержимое ячейки в текущем активном блокноте. Возвращает diff с внесёнными изменениями. Используйте эту команду для полной перезаписи ячейки. Для небольших точечных правок лучше вызывать edit_cell_source — так безопаснее при частичном редактировании.

Параметры
  • cell_indexintegerобязательный

    Индекс перезаписываемой ячейки (начиная с 0)

  • cell_sourcestringобязательный

    Новый полный исходный код ячейки

read_cellтолько чтение

Читает конкретную ячейку из текущего активного блокнота и возвращает её метаданные (индекс, тип, количество выполнений), исходный код и выводы (для ячеек с кодом)

Параметры
  • cell_indexintegerобязательный

    Индекс считываемой ячейки (начиная с нуля)

  • include_outputsboolean

    Включает выходные данные в ответ (только для ячеек кода).

read_notebookтолько чтение

Читает блокнот и возвращает индекс, исходное содержимое, тип и счетчик выполнения каждой ячейки. Используйте краткий формат для быстрого обзора структуры блокнота. Это удобно для поиска конкретных ячеек под такие операции, как удаление или вставка. Используйте подробный формат для получения детальной информации о блокноте. Это удобно для отладки и анализа. Рекомендуется сначала взять краткий формат с большим лимитом, чтобы оценить структуру блокнота, а затем переключиться на подробный формат с точным индексом и лимитом, чтобы получить детали по нужным ячейкам.

Параметры
  • limitinteger

    Максимальное количество элементов для возврата (0 означает без ограничений)

  • notebook_namestringобязательный

    Идентификатор блокнота для чтения

  • response_formatenum

    Формат ответа: «brief» вернёт первую строку и количество строк, «detailed» вернёт полный исходный код ячейки.

  • start_indexinteger

    Начальный индекс для пагинации (с нуля)

restart_notebook

Перезагружает ядро для указанного блокнота.

Параметры
  • notebook_namestringобязательный

    Идентификатор блокнота для перезапуска

unuse_notebook

Отменяет использование в конкретной записной книжке и освобождает её ресурсы.

Параметры
  • notebook_namestringобязательный

    Идентификатор блокнота для отключения

use_notebook

Используйте notebook и активируйте его для последующих операций с ячейками. Все операции с ячейками будут выполняться на текущем активированном notebook. Активация нового notebook деактивирует ранее активированный notebook. Повторно активируйте ранее активированный notebook, используя те же notebook_name и notebook_path.

Параметры
  • kernel_idstring

    Конкретный ID ядра для использования (будет создан новый, если пропущено)

  • modeenum

    Режим работы блокнота: «connect» — подключиться к существующему блокноту и активировать его, «create» — создать новый и активировать его.

  • notebook_namestringобязательный

    Уникальный идентификатор блокнота

  • notebook_pathstringобязательный

    Путь к файлу блокнота относительно корня сервера Jupyter (например, 'notebook.ipynb')

Похожие MCP-сервера

jjsantos01/jupyter-notebook-mcp

jjsantos01/jupyter-notebook-mcp

JupyterMCP - MCP-сервер, подключающий Claude AI к Jupyter Notebook (только v6.x). Claude выполняет Python-код, управляет ячейками, анализирует данные и строит графики. Полезен для AI-ассистированно...

Jupyter Notebook131
alvii147/piston-mcp

alvii147/piston-mcp

Piston MCP Server - MCP-сервер для подключения LLM к Piston API для выполнения кода. Он даёт ИИ-ассистентам безопасно запускать скрипты на разных языках в песочнице. Полезен разработчикам ИИ-агенто...

Python9
rikarazome/prolog-reasoner

rikarazome/prolog-reasoner

MCP-сервер, подключающий SWI-Prolog как логический калькулятор для LLM. Выполняет запросы на Prolog, решает комбинаторные задачи, выдаёт прозрачные цепочки рассуждений. Полезен разработчикам AI-аге...

Python11
bytebase/dbhub

bytebase/dbhub

DBHub — легковесный MCP сервер для работы с базами данных (PostgreSQL, MySQL, SQL Server и другими). Подключает несколько БД сразу, выполняет SQL-запросы и ищет объекты схемы через два компактных инструмента. Безопасный доступ с read-only режимом, SSH-туннелями и SSL — идеально для быстрого иссле...

TypeScript3493
maxim-saplin/mcp_safe_local_python_executor

maxim-saplin/mcp_safe_local_python_executor

MCP сервер для безопасного локального выполнения Python кода от LLM. Основан на LocalPythonExecutor от Hugging Face, не требует Docker, ограничивает импорты и файловые операции. Запускается через uv - замена Code Interpreter для Claude Desktop и MCP клиентов.

Python48
openlink/mcp-server-sqlalchemy

openlink/mcp-server-sqlalchemy

MCP сервер для ODBC через SQLAlchemy даёт доступ к базам: схемы, таблицы, описания, запросы SQL, SPARQL и SPASQL. Работает с Virtuoso, PostgreSQL, MySQL, SQLite. Помогает разработчикам интегрировать данные с AI.

Python24
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин