datalayer/jupyter-mcp-server

🪐 🔧 Model Context Protocol (MCP) Server for Jupyter.

🪐🔧 Jupyter MCP Server

무엇인가요 – AI 에이전트(Claude, Cursor, VS Code 확장 등)가 실시간으로 실행 중인 Jupyter 환경과 통신할 수 있도록 하는 Model Context Protocol (MCP)를 구현한 오픈소스 서버입니다. 이 서버는 Jupyter 노트북(또는 JupyterHub, Datalayer 호스팅 노트북, Kaggle, Colab 등)과 MCP 호환 클라이언트 사이에 위치하며, 노트북 파일, 셀, 커널 실행을 LLM이 호출할 수 있는 구조화된 도구로 노출합니다.

왜 중요한가요 – 현대의 AI 어시스턴트는 코드, 데이터, 시각화 출력에 실시간 접근이 필요합니다. 안정적인 프로토콜을 통해 노트북을 노출함으로써 에이전트는 다음을 가능하게 합니다:

  • 노트북 변경 사항을 즉시 감시 가능
  • 셀을 프로그래밍 방식으로 실행하거나 편집 가능
  • 멀티모달 출력(플롯, 이미지, 테이블)을 검색 가능
  • 사용자가 연결을 끊어도 GPU 기반 클라우드 등의 원격 사전에서 작업을 계속 유지 가능

주요 기능

  • 실시간 협업 – 연결된 에이전트는 노트북의 변경 사항을 즉시 반영합니다.
  • 스마트 실행 – 이전 실행이 실패한 경우, 출력 피드백을 사용해 셀을 자동으로 재실행합니다.
  • 컨텍스트 인식 도구 – 서버는 열린 노트북, 커널 목록, 셀 실행 등 모든 작업에 대해 실시간 설명을 생성하여 MCP 클라이언트가 자동으로 탐지할 수 있습니다.
  • 멀티모달 지원 – 텍스트, 이미지, 플롯을 구조화된 데이터로 반환합니다.
  • 다중 사전 백엔드 – 로컬 Jupyter 서버 또는 Datalayer, Kaggle, Google Colab, Modal, E2B, CoreWeave, Cloudflare 등 클라우드 사전에서 코드를 실행할 수 있습니다.
  • OAuth 2.1 인증 – 에이전트는 브라우저 로그인으로 리디렉션되며, 사용자의 비밀번호를 전혀 보지 않고, notebooks:read, code:execute와 같은 범위 토큰을 받습니다.
  • 관측성 – OpenTelemetry 훅을 통해 도구 호출 및 커널 실행을 추적할 수 있습니다.
  • JupyterLab 통합 – JupyterLab 모드를 활성화하면 네이티브 Lab 명령어가 MCP 도구로 사용 가능합니다.

일반적인 워크플로우

  1. Jupyter 시작 (로컬, JupyterHub, 또는 호스팅된 Datalayer 노트북).
  2. Jupyter MCP Server 실행 (uvx, Docker, 또는 Jupyter Server 확장으로).
  3. MCP 클라이언트 구성 – 예: Claude Desktop, VS Code 확장, 또는 cline CLI – 서버의 엔드포인트와 인증 변수를 지정합니다.
  4. 클라이언트는 서버의 도구 목록을 탐지한 후, LLM이 notebook_open, cell_insert, execute_cell 등의 명령을 내리고 결과를 즉시 수신합니다.

시작하기 (빠른 방법)

# 서버와 JupyterLab 스택 설치
pip install jupyterlab jupyter-collaboration jupyter-mcp-tools ipykernel

# JupyterLab 시작 (MY_TOKEN을 보안 토큰으로 교체)
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0

# uvx로 서버 실행 (Docker 필요 없음)
uvx jupyter-mcp-server@latest \
  --env JUPYTER_URL=http://localhost:8888 \
  --env JUPYTER_TOKEN=MY_TOKEN \
  --env ALLOW_IMG_OUTPUT=true

이후, 어떤 MCP 호환 클라이언트든 http://localhost:8888 (또는 호스팅된 엔드포인트 https://mcp.datalayer.run/mcp)로 연결하고 브라우저 기반 OAuth 흐름을 따르세요.

설치 옵션

  • Python 패키지 – pip install jupyter-mcp-server (PyPI 최신 버전).
  • Docker 이미지 – docker pull datalayer/jupyter-mcp-server (공식 이미지, 자동 다운로드).
  • 호스팅 서비스 – Datalayer는 로컬 프로세스 없이 사용 가능한 관리형 엔드포인트(https://mcp.datalayer.run/mcp)를 제공합니다.

지원되는 사전 변형 (SANDBOX_VARIANT로 선택하고, 선택적 추가 항목 필요):

변형 설치 추가 주요 환경 변수
jupyter-server (기본값) – JUPYTER_URL, JUPYTER_TOKEN
datalayer jupyter-mcp-server[datalayer] CODE_SANDBOX_URL, CODE_SANDBOX_TOKEN, SANDBOX_ENVIRONMENT
kaggle jupyter-mcp-server[kaggle] Kaggle 자격 증명
google-colab – CODE_SANDBOX_URL, CODE_SANDBOX_ID, CODE_SANDBOX_PROXY_TOKEN
modal jupyter-mcp-server[modal] Modal API 키
… (e2b, coreweave, cloudflare, daytona, monty 등) 해당 추가 항목 각각의 API 키

라이선스 – BSD 3‑Clause (허용성 높고 상용 사용에 적합).

누가 사용할 수 있나요

  • AI 어시스턴트 개발자 – 노트북 읽기/쓰기, 코드 실행, 플롯 검색이 필요한 에이전트를 개발하는 사람.
  • 데이터 과학자 – LLM이 노트북을 자동으로 편집하면서도 전체 감사 트레일을 유지하고 싶은 사람.
  • 플랫폼 제공자 (Datalayer, Kaggle 등) – 제3자 AI 도구가 호스팅된 노트북과 상호작용할 수 있는 표준 방식을 제공하고 싶은 사람.
  • 연구자 – 코드, 데이터, 시각화 출력을 결합한 멀티모달 LLM 워크플로우를 탐색하는 사람.

더 알아보기

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트