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 도구로 사용 가능합니다.
일반적인 워크플로우
- Jupyter 시작 (로컬, JupyterHub, 또는 호스팅된 Datalayer 노트북).
- Jupyter MCP Server 실행 (
uvx, Docker, 또는 Jupyter Server 확장으로). - MCP 클라이언트 구성 – 예: Claude Desktop, VS Code 확장, 또는
clineCLI – 서버의 엔드포인트와 인증 변수를 지정합니다. - 클라이언트는 서버의 도구 목록을 탐지한 후, 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 워크플로우를 탐색하는 사람.
더 알아보기
- 전체 문서: https://jupyter-mcp-server.datalayer.tech
- API 참조 (자동 생성 도구 목록): https://jupyter-mcp-server.datalayer.tech/mcp
- 커뮤니티 디스코드: https://discord.gg/YQFwvmSSuR
- 소스 코드 및 릴리스: https://github.com/datalayer/jupyter-mcp-server
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트