ðªâš Jupyter MCP Server
ããŒã«ã«ðªâš Jupyter MCP Server ã«ã€ããŠ
Jupyter MCP ãµãŒããŒã¯ãAI ãšãŒãžã§ã³ããJupyter ããŒãããã¯ããªã¢ã«ã¿ã€ã ã«æäœããããŒã«ã«ãŸãã¯ã¯ã©ãŠãã®ã³ãŒããµã³ãããã¯ã¹ã§ã³ãŒããå®è¡ã§ããããã«ããŸããããŒã¿ãµã€ãšã³ã¹ãåæã®äœæ¥è åãã§ãæ¢åã® Jupyter ã«ã»ã«ããã¹ãããããšããDatalayer ã®ãã¹ãçãå©çšããããšãã§ããŸãã
äž»ãªæ©èœ
- 01ããŒãããã¯ã®ã»ã«ã®ãªã¢ã«ã¿ã€ã èªã¿åããšç·šé
- 02ããã¹ããç»åãå«ãåºåä»ãã®ã³ãŒãå®è¡
- 03ã»ã«ã®å®è¡çµæã«åºã¥ãåå®è¡æã®èª¿æŽ
- 04è€æ°ã®ã³ãŒããµã³ãããã¯ã¹ããã¯ãšã³ãã®åãæ¿ã
- 05ããã³ããã«ããããŒãããã¯ã»ã«ã®åŒçš
掻çšã·ãŒã³
- 01éããŠããããŒãããã¯ã®ããŒã¿ãAI ãšãŒãžã§ã³ãã§åæ
- 02ããŒã«ã«ã® JupyterLab ã§ã®ã³ãŒãå®è¡ãšãããã°
- 03ããŒãããã¯ã®å®è¡ãã¯ã©ãŠããµã³ãããã¯ã¹ãžç§»è¡
MCP 察å¿
æ¬ãããžã§ã¯ãã¯ãããŒãããã¯ã®éãã»ç·šéã»å®è¡ãè¡ãããŒã«ãš jupyter-cite ããã³ããã MCP ã¯ã©ã€ã¢ã³ãã«å ¬éãã MCP ãµãŒããŒã§ããStreamable HTTP ãš STDIO ã®ãã©ã³ã¹ããŒãã«å¯Ÿå¿ããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ðªð§ Jupyter MCP Server
AI ã Jupyter ããŒãããã¯ã«ãªã¢ã«ã¿ã€ã ã§æ¥ç¶ããŠç®¡çã§ããããã«éçºããã MCP ãµãŒããŒã§ããããã«ãCode Sandbox ãããŒã«ã«ããã¯ã©ãŠãïŒDatalayerãKaggleãGoogle ColabãModalãDaytonaãE2BãCoreWeaveãCloudflare ãªã©ïŒãžã¹ã±ãŒã«ã§ããŸãã
Datalayer ãéçºããŠããŸãããã² Discord ã«ãåå ãã ããã
ð ããã¥ã¡ã³ã  · ð§ ããŒã«  · ð¬ ã³ãã¥ããã£
ããã»ã¹ãå®è¡ããå¿
èŠã¯ãããŸããã Datalayer ããã®ãµãŒããŒããã¹ãããããã«ãªããŸããã
https://mcp.datalayer.run/mcp ãããã¹ãŠã®ãšãŒãžã§ã³ããšããŒãããã¯ã«å¯Ÿå¿ããåäžã®ãšã³ããã€ã³ãã§ãã
ãã©ãŠã¶ãŒãããµã€ã³ã€ã³ãããšãŒãžã§ã³ãã«èš±å¯ããæäœãæ¿èªãããšããšãŒãžã§ã³ããåæãããåŸããµãŒããŒäžã§äœæ¥ãç¶ããŸãã
â ãã¹ãå Jupyter MCP Server
1 ã€ã®ã³ãã³ãã§ Claude Code ã«æ¥ç¶ã§ãã/datalayer:notebookã/datalayer:runã/datalayer:status ãå©çšã§ããŸãã
/plugin marketplace add datalayer/jupyter-mcp-server
/plugin install datalayer
â Claude Code çš Datalayer ãã©ã°ã€ã³
ç¡æã®ãªãŒãã³ãœãŒã¹ãBSD 3-Clause â ã¢ã«ãŠã³ãäžèŠã§ãããŒã«ã«ãŸã㯠JupyterHub ãªã©ããã§ã«å©çšããŠããä»»æã® Jupyter ã«æ¥ç¶ã§ããŸãã
Datalayer ãéçºã»ä¿å®ããŠããŸããåããµãŒããŒããGPU Code Sandbox ãšæ°žç¶çãªå®è¡ç°å¢ãåããåžžæçšŒåã®ããŒãããã¯ãæ¯ããŠãããããããŒãããœã³ã³ãéããŠããšãŒãžã§ã³ãã¯ããŒã¿ã䜿ã£ãäœæ¥ãç¶ããããŸãã
ã³ããŒïŒããŒã¹ãããããŒã¯ã³ã¯ãããŸããã ãã®ãµãŒããŒã«æªèªèšŒã§æ¥ç¶ãããšãŒãžã§ã³ãã«ã¯ãèªèšŒå
ãéç¥ããããã©ãŠã¶ãŒãéããŸããããã§ãèªèº«ãšã㊠Datalayer ã«ãµã€ã³ã€ã³ããŸãããšãŒãžã§ã³ãã«ãã¹ã¯ãŒããæž¡ãããšã¯ãããŸããããšãŒãžã§ã³ãã«ã¯ãæ¿èªããç¯å²ã«éå®ãããããŒã¯ã³ãæž¡ãããŸãããŸããã»ãã®ãšãŒãžã§ã³ãã«åœ±é¿ãäžããã«ãåå¥ã®ãšãŒãžã§ã³ããšã®æ¥ç¶ãè§£é€ã§ããŸãã
åãšãŒãžã§ã³ããã§ããããšã¯ã2ã€ã®åå¥ã®å€æã§æ±ºãŸããŸããæ¿èªããã¹ã³ãŒãïŒnotebooks:readãnotebooks:writeãcode:executeãdata:readïŒã«ãã£ãŠå®è¡ã§ããæäœã®çš®é¡ã決ãŸãããèªèº«ã® Datalayer æš©éã«ãã£ãŠãã¢ã¯ã»ã¹ã§ããããŒãããã¯ã決ãŸããŸãããšãŒãžã§ã³ããããèªèº«ã«ã¢ã¯ã»ã¹æš©ã®ãªãããŒãããã¯ã«ã¢ã¯ã»ã¹ããããšã¯ã§ããŸããã
ããŒãœãã«ã¢ã¯ã»ã¹ããŒã¯ã³ãåŒãç¶ãå©çšã§ããCLI ãã¹ã¯ãªããã«ã¯ããã·ã³ãã«ãªæ¹æ³ã§ãã â OAuth ãš ID
code-sandboxes ã®ããŒãžã§ã³ã jupyter-mcp-server ã«åãããŠåºå®ããŠãã ããã code-sandboxes 1.1.1 ã§ãµã³ãããã¯ã¹ã®ããªã¢ã³ã jupyter 㯠jupyter-server ã«æ¹åãããŠããã2ã€ã®ããã±ãŒãžã§ååãäžèŽãããå¿
èŠããããŸãã
ã䜿ãã® jupyter-mcp-server | ã€ã³ã¹ããŒã«ããããŒãžã§ã³ |
|---|---|
| >= 1.5.0 | code-sandboxes >= 1.1.1 |
| < 1.5.0 | code-sandboxes <= 1.0.9 |
# On 1.5.0 or later
pip install "jupyter-mcp-server>=1.5.0" "code-sandboxes>=1.1.1"
# Staying on an earlier jupyter-mcp-server
pip install "jupyter-mcp-server<1.5.0" "code-sandboxes<=1.0.9"
å€ããµãŒããŒã«æ°ãã code-sandboxes ãã€ã³ã¹ããŒã«ãããšãã€ã³ã¹ããŒã«èªäœã¯æ£åžžã«å®äºããŸãããæåã®å®è¡æã« Unknown sandbox variant: jupyter ãšãããšã©ãŒãçºçããŸãã
â ãªãªãŒã¹ããŒã
Jupyter MCP Server 2 㯠MCP Python SDK 2ïŒmcp>=2,<3ïŒäžã§åäœããŸãããã㯠SDK ã®åã®ã¡ãžã£ãŒãªãªãŒã¹ã§ãããµãŒããŒã®èµ·åæ¹æ³ãèšå®æ¹æ³ãããŒã«ãæ¥ç¶ãã MCP ã¯ã©ã€ã¢ã³ãã«å€æŽã¯ãããŸããããããŸã§ã©ãããåã¯ã©ã€ã¢ã³ããšã®éã§ãããã³ã«ãããŽã·ãšãŒããããŸãã倿Žãããã®ã¯ Python ç°å¢ã§ãã
ã䜿ãã® jupyter-mcp-server | mcp SDK |
|---|---|
| >= 2.0.0 | mcp >= 2 |
| < 2.0.0 | mcp < 2 |
äž¡æ¹ã®ããŒãžã§ã³ã¯ããã±ãŒãžå
ã§åºå®ãããŠãããããpip ãé©åã«åŠçããŸããmcp<2 ãåŒãç¶ãåºå®ããŠããå¥ã®ããã±ãŒãžãç°å¢ã«å«ãŸããŠããå Žåã¯ããã®ããã±ãŒãžãæŽæ°ããããŸã§ jupyter-mcp-server<2 ã䜿ãç¶ããå¿
èŠããããŸããSDK ã䜿ã£ãŠæ¡åŒµæ©èœãã«ã¹ã¿ã ããŒã¯ã³æ€èšŒæ©èœãäœæããå Žåã¯ãã€ã³ããŒãåã®å€æŽã«ã€ããŠãªãªãŒã¹ããŒããã芧ãã ããã
--provider 㯠--document-provider ã«å€æŽãããŸããïŒç°å¢å€æ° PROVIDER â DOCUMENT_PROVIDERïŒã
ãã®ãªãã·ã§ã³ãéžæããã®ã¯ãããŒãããã¯ã®ããã¥ã¡ã³ãã®ä¿åå
ã ãã§ãããJupyter Server ã®ã³ã©ãã¬ãŒã·ã§ã³ API ã«ã¯ jupyterãDatalayer ã® spacer ã«ã¯ datalayer ãæå®ããŸããäžæ¹ã以åã®ååãšãã«ãããã¹ãã§ã¯ãã³ãŒãã®å®è¡å
ãéžæããããã«èŠããŠããŸãããå®è¡å
ã¯ã--sandbox-variantïŒjupyter-serverãdatalayerãdaytonaãe2bãcoreweaveãcloudflareãkaggleãgoogle-colabãmontyãmodalïŒã§åå¥ã«éžæããŸãã
v1.3.2 ã§ã¯ãäœãå£ããŸããã--provider ã¯åŒãç¶ããšã€ãªã¢ã¹ãšããŠåãä»ããããPROVIDER ãåŒãç¶ãèªã¿èŸŒãŸããŸãããŸãã"provider" ãå«ã /connect ãã€ããŒããåŒãç¶ãèªèãããŸããéœåã®ãããšãã«æ°ããååãžç§»è¡ããŠãã ãããå€ãååã¯éæšå¥šã§ãããåé€ãããŠã¯ããŸããã

- äž»ãªæ©èœ
- MCP ã®æŠèŠ
- ã¯ããã«
- ãµã³ãããã¯ã¹ã®çš®é¡
- ãã¹ããã©ã¯ãã£ã¹
- ã³ã³ããªãã¥ãŒã·ã§ã³
- ãªãœãŒã¹
ð äž»ãªæ©èœ
- â¡ ãªã¢ã«ã¿ã€ã å¶åŸ¡ïŒ ããŒãããã¯ã®å€æŽããçºçãããã°ããããã«ç¢ºèªã§ããŸãã
- ð ã¹ããŒããªå®è¡ïŒ ã»ã«ã®åºåãã£ãŒãããã¯ã«åºã¥ããã»ã«ã®å®è¡ã倱æããå Žåã«èªåã§èª¿æŽããŸãã
- ð§ ã³ã³ããã¹ããèæ ®ïŒ ããŒãããã¯å šäœã®ã³ã³ããã¹ããçè§£ããããé¢é£æ§ã®é«ãããåããå®çŸããŸãã
- ð ãã«ãã¢ãŒãã«å¯Ÿå¿ïŒ ç»åããããããããã¹ããªã©ãããŸããŸãªåºå圢åŒã«å¯Ÿå¿ããŸãã
- ð è€æ°ã®ããŒãããã¯ã«å¯Ÿå¿ïŒ è€æ°ã®ããŒãããã¯ãã·ãŒã ã¬ã¹ã«åãæ¿ããããŸãã
- ðš JupyterLab ãšã®çµ±åïŒ ããŒãããã¯ã®èªåãªãŒãã³ãªã©ãUI ãšã®çµ±åã匷åããŸãã
- ð€ MCP äºæïŒ Claude DesktopãCursorãWindsurf ãªã©ããããã MCP ã¯ã©ã€ã¢ã³ãã§åäœããŸãã
- ð å¯èŠ³æž¬æ§ïŒ OpenTelemetry çµ±åãåããããã¯ã·ã¹ãã ãå èµããããŒã«åŒã³åºããã«ãŒãã«ã®å®è¡ããã¬ãŒã¹ã§ããŸãã
ãããã Jupyter ãããã€ã¡ã³ãïŒããŒã«ã«ãJupyterHub ãªã©ïŒãšäºææ§ãããã Datalayer ããã¹ãããããŒãããã¯ã«ã察å¿ããŠããŸããDatalayer ã®ã³ãŒããµã³ãããã¯ã¹ã«ã¯ GPU ãæèŒãããŠãããæ¥ç¶ãåããŠãå®è¡ãç¶ç¶ããŸãã
ð§ MCP ã®æŠèŠ
ð§ ããŒã«ã®æŠèŠ
åããŒã«ã®ãã©ã¡ãŒã¿ãŒãã¹ããŒããæ»ãå€ã¯ãå®è¡äžã®ãµãŒããŒã®ã©ã€ã ã¹ãããã·ã§ããããçæããã jupyter-mcp-server.datalayer.tech/mcp ã§å ¬éãããŠããŸãããã®ããããã®ãã¡ã€ã«ã«ã³ããŒãã衚ã®ããã« ã³ãŒããšé£ãéãããšã¯ãããŸããã
ããŒã«ã¯æ¬¡ã® 4 ã€ã®ã°ã«ãŒãã«åãããŠããŸãã
- ãµãŒããŒãšã³ãŒããµã³ãããã¯ã¹ â Jupyter ã®ãã¡ã€ã«ã·ã¹ãã ãåç §ããã«ãŒãã«ãäžèŠ§è¡šç€ºããå®è¡æã«ãµãŒããŒãžæ¥ç¶ããã³ãŒããµã³ãããã¯ã¹ãèµ·åãéžæãçµäºããŸãã
- ããŒããã㯠â ããŒãããã¯ãéããäœæãããåãæ¿ãããäžèŠ§è¡šç€ºãããèªã¿åããã«ãŒãã«ãåèµ·åãããè§£æŸããæäœãè¡ããŸãã
- ã»ã« â ã»ã«ã®èªã¿åããæ¿å ¥ãåé€ãç§»åãäžŠã¹æ¿ããç·šéããåå¥ãŸãã¯äžæ¬ã§è¡ããåºåãã¯ãªã¢ããŸãã
- å®è¡ â ã¢ã¯ãã£ããªããã¯ãšã³ãã§ã»ã«ãŸãã¯ä»»æã®ã³ãŒããå®è¡ããŸãããµã³ãããã¯ã¹ã察å¿ããŠããå Žåã¯ããã«ãã¢ãŒãã«åºåãšã¹ããªãŒãã³ã°ãå©çšã§ããŸãã
ãµã³ãããã¯ã¹ããŒã«ã«ã¯ããªãã·ã§ã³ã® jupyter_mcp_sandboxes æ¡åŒµæ©èœãå¿
èŠã§ãã詳ããã¯
ãµã³ãããã¯ã¹ã®çš®é¡ãã芧ãã ããã
JupyterLab ãšã®çµ±å
JupyterLab ã¢ãŒããæå¹ãªå Žåã«ã®ã¿å©çšã§ããŸããããã©ã«ãã§æå¹ã§ãã
JupyterLab ã¢ãŒãã§ã¯ããµãŒããŒã¯
jupyter-mcp-tools ãéã㊠JupyterLab ã³ãã³ãã MCP ããŒã«ãšããŠå
¬éããŸãã
ããã©ã«ãã§ã¯ notebook_run-all-cells ãš notebook_get-selected-cell ãå©çšã§ããallowed_jupyter_mcp_tools ã§ããã«è¿œå ã®ããŒã«ãéžæã§ããŸããå
šãªã¹ããšèšå®æ¹æ³ã«ã€ããŠã¯ã
远å ããŒã«ã®ããã¥ã¡ã³ããã芧ãã ããã
ð ããã³ããã®æŠèŠ
ãã®ãµãŒããŒã¯ MCP ã®
ããã³ããæ©èœãå®è£
ããŠããŸãã
jupyter-cite ã¯ãã³ãŒãã£ã³ã° IDE ãã³ãã³ãã©ã€ã³ã§ã® @ ãšåãããã«ãããŒãããã¯å
ã®ç¹å®ã®ã»ã«ãåŒçšããŸããå
¥åãã©ã¡ãŒã¿ãŒãšè¿ãããå
容ã«ã€ããŠã¯ã
ããã³ããã®ããã¥ã¡ã³ããã芧ãã ããã
ð ã¯ããã«
Streamable HTTP ãã©ã³ã¹ããŒããJupyter Server æ¡åŒµæ©èœãšããŠã®å®è¡ãé«åºŠãªèšå®ãå«ãå
æ¬çãªã»ããã¢ããæé ã«ã€ããŠã¯ãããã¥ã¡ã³ããã芧ãã ããããŸãã¯ã以äžã®æé ã§ JupyterLab ãš STDIO ãã©ã³ã¹ããŒãã䜿ã£ãŠããã«å§ããããŸãã
1. ç°å¢ãã»ããã¢ãããã
pip install jupyterlab jupyter-collaboration jupyter-mcp-tools ipykernel
ç°å¢ãæ£ããèšå®ãããŠããããšã確èªããã«ã¯ãæ¬¡ã®æé ãå®è¡ããŸãã
- JupyterLab ã§ããŒãããã¯ãéããŸã
- ä»»æã®ã»ã«ïŒã³ãŒããŸã㯠MarkdownïŒã«å 容ãå ¥åããŸã
- ã¿ãã®ã€ã³ãžã±ãŒã¿ãŒã確èªããŸããããŒãããã¯åã®æšªã«ãÃãã衚瀺ãããæªä¿åã®å€æŽãããããšã瀺ããŸã
- æ°ç§åŸ ã¡ãŸãããÃããæåã§ä¿åããªããŠãèªåçã«ãâãã«å€ãããŸã
ãã®èªåä¿åã®åäœã¯ããªã¢ã«ã¿ã€ã ã³ã©ãã¬ãŒã·ã§ã³æ©èœãæ£ããåäœããŠããããšã確èªãããã®ã§ãMCP ãµãŒããŒãšã®çµ±åã«äžå¯æ¬ ã§ãã
2. JupyterLab ãèµ·åãã
# Start JupyterLab on port 8888, allowing access from any IP and setting a token
jupyter lab --port 8888 --IdentityProvider.token MY_TOKEN --ip 0.0.0.0
äžèšã® JupyterLab ã§ã¯ãªããJupyterHub ãéããŠããŒãããã¯ãå®è¡ããŠããå Žåã¯ãJupyterHub ã»ããã¢ããã¬ã€ããåç §ããŠãã ããã
3. 䜿çšãã MCP ã¯ã©ã€ã¢ã³ããèšå®ãã
次ã«ããµãŒããŒã«æ¥ç¶ãããã MCP ã¯ã©ã€ã¢ã³ããèšå®ããŸããäž»ãªæ¹æ³ã¯ 2 ã€ãããŸããããŒãºã«æãåã£ãæ¹æ³ãéžæããŠãã ããã
- ðŠ
uvxã䜿çšããïŒã¯ã€ãã¯ã¹ã¿ãŒãã«ããããïŒïŒuvã䜿çšãã軜éã§é«éãªæ¹æ³ã§ããããŒã«ã«éçºãåããŠäœ¿çšããæ¹ã«æé©ã§ãã - ð³
Dockerã䜿çšããïŒæ¬çªç°å¢ã«ããããïŒïŒ äžè²«æ§ã®ããåé¢ãããç°å¢ã確ä¿ããã³ã³ããåæ¹åŒã§ãæ¬çªç°å¢ãè€éãªã»ããã¢ããã«æé©ã§ãã
ðŠ uvx ã䜿çšããïŒã¯ã€ãã¯ã¹ã¿ãŒãïŒ
ãŸããuv ãã€ã³ã¹ããŒã«ããŸãã
pip install uv
uv --version
# should be 0.6.14 or higher
詳ããã¯ãuv ã®ã€ã³ã¹ããŒã«ãåç §ããŠãã ããã
次ã«ãã¯ã©ã€ã¢ã³ããèšå®ããŸãã
{
"mcpServers": {
"jupyter": {
"command": "uvx",
"args": ["jupyter-mcp-server@latest"],
"env": {
"JUPYTER_URL": "http://localhost:8888",
"JUPYTER_TOKEN": "MY_TOKEN",
"ALLOW_IMG_OUTPUT": "true"
}
}
}
}
ð³ Docker ã䜿çšããïŒæ¬çªç°å¢ïŒ
macOS ããã³ Windows ã®å ŽåïŒ
{
"mcpServers": {
"jupyter": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "JUPYTER_URL",
"-e", "JUPYTER_TOKEN",
"-e", "ALLOW_IMG_OUTPUT",
"datalayer/jupyter-mcp-server:latest"
],
"env": {
"JUPYTER_URL": "http://host.docker.internal:8888",
"JUPYTER_TOKEN": "MY_TOKEN",
"ALLOW_IMG_OUTPUT": "true"
}
}
}
}
Linux ã®å ŽåïŒ
{
"mcpServers": {
"jupyter": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "JUPYTER_URL",
"-e", "JUPYTER_TOKEN",
"-e", "ALLOW_IMG_OUTPUT",
"--network=host",
"datalayer/jupyter-mcp-server:latest"
],
"env": {
"JUPYTER_URL": "http://localhost:8888",
"JUPYTER_TOKEN": "MY_TOKEN",
"ALLOW_IMG_OUTPUT": "true"
}
}
}
}
- ããŒãã®èšå®ïŒJupyter ã® URL ã®
portããjupyter labã³ãã³ãã§äœ¿çšããããŒããšäžèŽããŠããããšã確èªããŠãã ãããèšå®ãç°¡ç¥åããã«ã¯ãJUPYTER_URLã«èšå®ããŸãã - ãµãŒããŒã®åé¢ïŒäž¡æ¹ã®ãµãŒãã¹ãåããµãŒããŒäžã«ããå Žåã¯
JUPYTER_URLã䜿çšããŸããé«åºŠãªãããã€ã§ã¯ãåå¥ã®å€æ°ãèšå®ããŸãããããã€ã«ãã£ãŠã¯ããŒãããã¯ã®ã¹ãã¬ãŒãžïŒDOCUMENT_URLïŒãšã«ãŒãã«ã®å®è¡ïŒCODE_SANDBOX_URLïŒãåé¢ããããããURL 倿°ãè€æ°çšæãããŠããŸãã - èªèšŒïŒã»ãšãã©ã®å Žåãããã¥ã¡ã³ããµãŒãã¹ãšã³ãŒããµã³ãããã¯ã¹ãµãŒãã¹ã§ã¯åãèªèšŒããŒã¯ã³ã䜿çšããŸããèšå®ãç°¡ç¥åããã«ã¯
JUPYTER_TOKENã䜿çšããç°ãªãèªèšŒæ å ±ã䜿ãå Žåã¯DOCUMENT_TOKENãšCODE_SANDBOX_TOKENãåå¥ã«èšå®ããŸãã - ããŒãããã¯ã®ãã¹ïŒ
DOCUMENT_IDãã©ã¡ãŒã¿ãŒã¯ãMCP ã¯ã©ã€ã¢ã³ããããã©ã«ãã§æ¥ç¶ããããŒãããã¯ã®ãã¹ãæå®ããŸããJupyterLab ãèµ·åãããã£ã¬ã¯ããªããã®çžå¯Ÿãã¹ã«ããå¿ èŠããããŸããDOCUMENT_IDãçç¥ãããšãMCP ã¯ã©ã€ã¢ã³ã㯠Jupyter ãµãŒããŒäžã§å©çšå¯èœãªãã¹ãŠã®ããŒãããã¯ãèªåçã«äžèŠ§è¡šç€ºã§ããŸããããã³ãããéããŠã察話çã«ããŒãããã¯ãéžæã§ããŸãã - ç»åã®åºåïŒLLM ããã«ãã¢ãŒãã«ãªçè§£ã«å¯Ÿå¿ããŠããªãå Žåã¯ã
ALLOW_IMG_OUTPUTãfalseã«èšå®ããŠãã ããã
Claude DesktopãVS CodeãCursorãClineãWindsurf ãªã©ãããŸããŸãª MCP ã¯ã©ã€ã¢ã³ãã®èšå®æé ã«ã€ããŠè©³ããã¯ãMCP ã¯ã©ã€ã¢ã³ãã®èšå®ãåç §ããŠãã ããã
ð§© ãµã³ãããã¯ã¹ã®ããªãšãŒã·ã§ã³
ããã©ã«ãã§ã¯ãã³ãŒã㯠code-sandboxes ã® jupyter-server ããªã¢ã³ããä»ããŠãJupyter ServerïŒSANDBOX_VARIANT=jupyter-serverïŒäžã§å®è¡ãããŸããSANDBOX_VARIANT ã«å¥ã®å€ãèšå®ãããšãéžæããããªã¢ã³ããã«ãŒãã«ãå
¬éããŠããå Žåããµã³ãããã¯ã¹ã®ãã¬ãŒã³ãªã«ãŒãã«ã¯ã©ã€ã¢ã³ããä»ããŠå¥ã® code-sandboxes ãšã³ãžã³ã䜿çšããããããåãããŒãããã¯ããŒã«ã§è¿œå ã®ããã¯ãšã³ãäžã§ãã³ãŒããå®è¡ã§ããŸãã
衚èšã«å€§æåã»å°æåãåºåãæåã®å³å¯ãªæå®ã¯ãããŸãããgoogle_colabãgoogle-colabãGOOGLE-COLAB ã¯ãã¹ãŠåãããªã¢ã³ãã瀺ããŸãã以äžã«ç€ºãåç§°ãæ£åŒãªåç§°ã§ãã
ãµã³ãããã¯ã¹æ©èœã¯ããªãã·ã§ã³ã® jupyter_mcp_sandboxes æ¡åŒµæ©èœã«ãã£ãŠæäŸãããŸãããµã³ãããã¯ã¹ã®ã©ã€ããµã€ã¯ã«ããŒã«ïŒlaunch_sandboxãlist_sandboxesãuse_sandboxãterminate_sandboxïŒãå
¬éããå ŽåããŸã㯠jupyter-server 以å€ã®ãµã³ãããã¯ã¹ããªã¢ã³ããå®è¡ããå Žåã¯ãpip install jupyter_mcp_sandboxes ã§ã€ã³ã¹ããŒã«ããŠãã ããã
| ãšã³ãžã³ | SANDBOX_VARIANT | 远å ã€ã³ã¹ããŒã« | äž»ãªå€æ° | ããã¥ã¡ã³ã |
|---|---|---|---|---|
| Jupyter ServerïŒããã©ã«ãïŒ | jupyter-server | â | JUPYTER_URLãJUPYTER_TOKEN | ã»ããã¢ãã |
| JupyterHub | jupyter-server | â | CODE_SANDBOX_URLãCODE_SANDBOX_TOKEN | ã»ããã¢ãã |
| Datalayer | datalayer | jupyter-mcp-server[datalayer] | CODE_SANDBOX_URLãCODE_SANDBOX_TOKENãSANDBOX_ENVIRONMENT | ã»ããã¢ãã |
| Kaggle | kaggle | jupyter-mcp-server[kaggle] | Kaggle ã®èªèšŒæ
å ±ããŸãã¯ã€ã³ã¿ã©ã¯ãã£ãã¢ãŒãçšã® CODE_SANDBOX_URL | ã»ããã¢ãã |
| Google Colab | google-colab | jupyter-mcp-server | CODE_SANDBOX_URLãCODE_SANDBOX_IDãCODE_SANDBOX_PROXY_TOKEN | ã»ããã¢ãã |
| Monty | monty | jupyter-mcp-server[monty] | â | ã»ããã¢ãã |
| Modal | modal | jupyter-mcp-server[modal] | Modal ã®èªèšŒæ å ± | ã»ããã¢ãã |
| Daytona | daytona | jupyter-mcp-server[daytona] | DAYTONA_API_KEYããŸã㯠DAYTONA_JWT_TOKEN + DAYTONA_ORGANIZATION_ID | ã»ããã¢ãã |
| E2B | e2b | jupyter-mcp-server[e2b] | E2B_API_KEY | ã»ããã¢ãã |
| CoreWeave | coreweave | jupyter-mcp-server[coreweave] | CWSANDBOX_API_KEY | ã»ããã¢ãã |
| Cloudflare | cloudflare | jupyter-mcp-server[cloudflare] | CLOUDFLARE_SANDBOX_API_URLãCLOUDFLARE_SANDBOX_API_KEY | ã»ããã¢ãã |
åãšã³ãžã³ã®ããŒãžã«ã¯ãå¿ èŠãªèªèšŒæ å ±ãå©çšå¯èœãªã¢ã¯ã»ã©ã¬ãŒã¿ãŒã®ãªãã·ã§ã³ãå®éã«åäœããã¯ã©ã€ã¢ã³ãèšå®ãæ²èŒãããŠããŸããjupyter-mcp-server.datalayer.tech/code-sandboxes ããã芧ãã ããã
𧪠ãã¹ã
ãã¹ãã¹ã€ãŒããå®è¡ããŸãã
pytest tests/
ãã¹ãã«å¿ èŠãªç°å¢å€æ°ïŒ
- ããã©ã«ãã®ããŒã«ã«ãã¹ãã¹ã€ãŒãã§ã¯äžèŠã§ãã
ãªãã·ã§ã³ã®ç°å¢å€æ°ïŒ
TEST_MCP_SERVERïŒã¹ã¿ã³ãã¢ãã³ MCP ãµãŒããŒã¢ãŒãã®ãã¹ããåãæ¿ããŸãïŒtrueïŒfalseãããã©ã«ãã¯trueïŒãTEST_JUPYTER_SERVERïŒJupyter æ¡åŒµæ©èœã¢ãŒãã®ãã¹ããåãæ¿ããŸãïŒtrueïŒfalseãããã©ã«ãã¯trueïŒãDATALAYER_API_KEYïŒDatalayer ã¯ã©ãŠãã®ã¹ã¢ãŒã¯ãã¹ãïŒçµ±åãã¹ãã§ã®ã¿å¿ èŠã§ããDATALAYER_RUN_URLïŒdatalayer ãšã³ãžã³ã®ãã¹ãã§äœ¿çšãããä»»æã®ã«ã¹ã¿ã Datalayer ã³ãŒããµã³ãããã¯ã¹ URL ã§ããSANDBOX_ENVIRONMENTïŒä»»æã®ã¯ã©ãŠãç°å¢ã®äžæžãèšå®ã§ãïŒäŸïŒai-agents-envïŒã
â ãã¹ããã©ã¯ãã£ã¹
- é«åºŠãªãã«ãã¢ãŒãã«çè§£æ©èœãæå€§éã«æŽ»çšããããããã«ãã¢ãŒãã«å ¥åã«å¯Ÿå¿ãã LLMïŒGemini 2.5 Pro ãªã©ïŒãšããåãããŠãã ããã
- ç»åããŒã¿ãè¿ãããã®å 容ãè§£æã§ãã MCP ã¯ã©ã€ã¢ã³ãïŒCursorãGemini CLI ãªã©ïŒã䜿çšããŠãã ãããäžéšã®ã¯ã©ã€ã¢ã³ãã¯ãã®æ©èœã«å¯Ÿå¿ããŠããªãå ŽåããããŸãã
- è€éãªã¿ã¹ã¯ïŒããŒã¿ãµã€ãšã³ã¹ã®ã¯ãŒã¯ãããŒå šäœãªã©ïŒã¯ãè€æ°ã®ãµãã¿ã¹ã¯ïŒããŒã¿ã¯ãªãŒãã³ã°ãç¹åŸŽéãšã³ãžãã¢ãªã³ã°ãã¢ãã«ã®ãã¬ãŒãã³ã°ãã¢ãã«ã®è©äŸ¡ãªã©ïŒã«åå²ããã¹ãããããšã«å®è¡ããŠãã ããã
- æç¢ºã«æ§æãããããã³ãããšã«ãŒã«ãæç€ºããŠãã ããïŒð ããã³ãããã³ãã¬ãŒãã確èªããŠãå§ããŠã¿ãŸãããïŒã
- ã§ããã ãå€ãã®ã³ã³ããã¹ãïŒã€ã³ã¹ããŒã«æžã¿ã®ããã±ãŒãžãæ¢åã®ããŒã¿ã»ããã®ãã£ãŒã«ãã®èª¬æãçŸåšã®äœæ¥ãã£ã¬ã¯ããªã詳现ãªã¿ã¹ã¯èŠä»¶ãªã©ïŒãæç€ºããŠãã ããã
ð€ ã³ã³ããªãã¥ãŒã·ã§ã³
ããããçš®é¡ã®ã³ã³ããªãã¥ãŒã·ã§ã³ãæè¿ããŸããããšãã°ã次ã®ãããªãã®ããããŸãã
- ð ãã°ä¿®æ£
- ð æ¢åæ©èœã®æ¹å
- ð§ æ°æ©èœã®éçº
- ð ããã¥ã¡ã³ãã®æ¹åãšããã³ãããã³ãã¬ãŒã
éçºãå§ããŠã³ã³ããªãã¥ãŒã·ã§ã³ãæåºããããã®è©³ããæé ã«ã€ããŠã¯ãã³ã³ããªãã¥ãŒã·ã§ã³ã¬ã€ããã芧ãã ããã
ã³ã³ããªãã¥ãŒã¿ãŒ
ð ãªãœãŒã¹
Jupyter MCP Server ã«é¢ããããã°èšäºãåç»ããã®ä»ã®è³æããæ¢ãã§ããïŒ
ð ããã¥ã¡ã³ãã®ãªãœãŒã¹ã»ã¯ã·ã§ã³ãã芧ãã ããã
ãã®ãããžã§ã¯ããã圹ã«ç«ã¡ãŸãããããã² âïž ãä»ããŠãã ããã
â€ïž ã蟌ã㊠Datalayer ãå¶äœããŸããã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã
