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

Параметры

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

    Jupyter server URL to connect to (e.g., 'http://localhost:8888')

  • jupyter_tokenany

    Jupyter server authentication token

  • providerstring

    Provider type

delete_cell

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

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

Параметры

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

    List of cell indices to delete (0-based)

  • include_sourceboolean

    Whether to include the source of deleted cells

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`.

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

Параметры

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

    Index of the cell to edit (0-based)

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

    Exact string to find in cell source

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

    Replacement string

  • replace_allboolean

    Replace all occurrences (default: first only)

execute_cell

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

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

Параметры

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

    Index of the cell to execute (0-based)

  • timeoutinteger

    Maximum seconds to wait for execution (0 = use config default)

  • streamboolean

    Enable streaming progress (including time indicator) updates for long-running cells

  • progress_intervalinteger

    Seconds between progress updates when stream=True

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 или данным пользователя без разрешения.

Выполняет код напрямую в ядре (не сохраняется в блокнот). По умолчанию нацелено на ядро текущего активного блокнота. Передайте 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обязательный

    Code to execute (supports magic commands with %, shell commands with !)

  • timeoutinteger

    Execution timeout in seconds

  • kernel_idany

    Target an existing kernel by ID (e.g. a raw kernel with no notebook). If omitted, uses the current notebook's kernel.

insert_cell

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

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

Параметры

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

    Target index for insertion (0-based), use -1 to append at end

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

    Type of cell to insert

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

    Source content for the cell

insert_execute_code_cell

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

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

Параметры

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

    Index of the cell to insert and execute (0-based)

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

    Code source for the cell

  • timeoutinteger

    Maximum seconds to wait for execution (0 = use config default)

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

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

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

Параметры

  • pathstring

    The starting path to list from (empty string means root directory)

  • max_depthinteger

    Maximum depth to recurse into subdirectories

  • start_indexinteger

    Starting index for pagination (0-based)

  • limitinteger

    Maximum number of items to return (0 means no limit)

  • patternstring

    Glob pattern to filter file paths

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

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

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

Параметры

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

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

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

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

Параметры

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

    Index of the cell to move (0-based)

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

    Destination index where the cell will end up (0-based)

overwrite_cell_source

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

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

Параметры

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

    Index of the cell to overwrite (0-based)

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

    New complete cell source

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

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

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

Параметры

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

    Index of the cell to read (0-based)

  • include_outputsboolean

    Include outputs in the response (only for code cells)

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

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

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

Параметры

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

    Notebook identifier to read

  • response_formatenum

    Response format: 'brief' will return first line and lines number, 'detailed' will return full cell source

    briefdetailed
  • start_indexinteger

    Starting index for pagination (0-based)

  • limitinteger

    Maximum number of items to return (0 means no limit)

restart_notebook

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

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

Параметры

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

    Notebook identifier to restart

unuse_notebook

Прекратите использование конкретного ноутбука и освободите его ресурсы.

Прекратите использование конкретного ноутбука и освободите его ресурсы.

Параметры

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

    Notebook identifier to disconnect

use_notebook

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

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

Параметры

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

    Unique identifier for the notebook

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

    Path to the notebook file, relative to the Jupyter server root (e.g. 'notebook.ipynb')

  • modeenum

    Notebook operation mode: 'connect' to connect to existing and activate it, 'create' to create new and activate it

    connectcreate
  • kernel_idstring

    Specific kernel ID to use (will create new if skipped)

Другие проверенные MCP-сервера

opgginc/opgg-mcp

opgginc/opgg-mcp

официальный

MCP-сервер для доступа AI-агентов к статистике OP.GG: League of Legends, Teamfight Tactics и Valorant. Предоставляет данные по чемпионам, сборкам, профилям игроков, мете, турнирам. Полезен разработ...

TypeScript95
ref-tools/ref-tools-mcp

ref-tools/ref-tools-mcp

MCP сервер для AI-агентов: быстрый доступ к документации API и библиотек. Оснащён поиском с фильтрацией результатов и чтением только релевантных разделов страниц - экономит токены. Подходит для Claude Code и других AI-кодинговых ассистентов.

TypeScript1140
vectorize-io/hindsight

vectorize-io/hindsight

официальный

MCP сервер Hindsight наделяет AI-агентов долговременной памятью — они учатся на опыте, а не просто запоминают диалоги. Использует биомиметические структуры данных для извлечения фактов и ментальных моделей, превосходя по точности RAG и графы знаний. Подходит для персонализации чат-ботов и создани...

Python18555
Timeweb MCP

Timeweb MCP

официальный

MCP сервер для автоматизации деплоя приложений в Timeweb Cloud. Создавайте приложения, базы данных, VPC и floating IP прямо из чата. Сервер сам определяет параметры проекта и фреймворк. Идеально для быстрого развертывания в облаке.

TypeScript25
vectara/vectara-mcp

vectara/vectara-mcp

официальный

MCP-сервер для RAG с Vectara: семантический поиск, генерация и коррекция галлюцинаций. Помогает AI-агентам выдавать фактологически точные ответы с верификацией. Совместим с Claude Desktop.

Python27
bytebase/dbhub

bytebase/dbhub

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

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

Лука Никитин