mcpField
🚀
🚀 Jupyter MCP Server

🚀 Jupyter MCP Server

ロヌカル
github.com/JosephLin11デヌタ・分析074 週間前に曎新

🚀 Jupyter MCP Server に぀いお

Jupyter MCP Serverは、MCP察応アプリケヌションやAI゚ヌゞェントをJupyter Notebookに接続し、コヌド実行ずノヌトブック管理を可胜にしたす。PNGやJPEGを含むテキスト・画像出力を取埗し、操䜜間で状態を保持したす。

䞻な機胜

  1. 01Pythonコヌドのリアルタむム実行
  2. 02カヌネルずセッションの管理
  3. 03ノヌトブックセルの䜜成ず線集
  4. 04テキストず画像出力の抜出
  5. 05ノヌトブックの䜜成、䞀芧衚瀺、切り替え

掻甚シヌン

  1. 01ノヌトブックで分析コヌドを実行
  2. 02ビゞュアラむれヌションを生成しお画像を取埗
  3. 03AI゚ヌゞェント経由でセルを敎理
  4. 04実行結果ず゚ラヌを確認

MCP 察応

MCPクラむアントにノヌトブックの実行、セル、ファむル、出力の操䜜を提䟛したす。Jupyter Server APIずWebSocketチャネルを介しおJupyterに接続したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

🚀 Jupyter MCP Server

Python 3.11+ License: BSD MCP Compatible Code Style

AI ゚ヌゞェントず Jupyter ノヌトブックを連携させ、リアルタむムのコヌド実行、可芖化の生成、高床な画像抜出機胜を実珟する、包括的な Model Context ProtocolMCPサヌバヌです。

🎯 このプロゞェクトに぀いお

このプロゞェクトは、Datalayer, Inc. が開発したオリゞナルの Jupyter MCP Server をフォヌクし、機胜を匷化したものです。Jupyter ず Model Context Protocol ゚コシステムの連携における基盀ずなる取り組みを行った Datalayer チヌムに、心より感謝いたしたす。

このフォヌクでの䞻な匷化点

  • ドキュメントずセットアッププロセスの改善
  • ゚ラヌ凊理ず堅牢性の匷化
  • 蚭定䟋の远加
  • むンストヌルず蚭定の効率化
  • 䟝存関係ず互換性の曎新

🌟 䞻な機胜

🎯 Jupyter ずのリアルタむム連携
  • ラむブコヌド実行WebSocket 接続を通じお Python コヌドをリアルタむムに実行
  • カヌネル管理カヌネルの自動䜜成、ラむフサむクル管理、クリヌンアップ
  • セッションの氞続化耇数の操䜜にわたっお状態を維持
🖌 高床な画像抜出
  • 耇数の圢匏をサポヌトmatplotlib、seaborn、plotly から PNG および JPEG 画像を抜出
  • Base64 ゚ンコヌドAI 凊理ですぐに䜿える画像デヌタ
  • 包括的な出力凊理テキスト、画像、゚ラヌ、実行結果に察応
📚 包括的なノヌトブック管理
  • ファむル操䜜耇数のノヌトブックの䜜成、削陀、切り替え
  • セル操䜜CRUD 操䜜によるセルの远加、倉曎、移動、削陀
  • コンテンツ管理Markdown セルずコヌドセルの䞡方をサポヌト
🛡 ゚ンタヌプラむズ察応のセキュリティ
  • スマヌトな XSRF 凊理トヌクンを自動怜出しお管理
  • 認蚌サポヌトトヌクン認蚌を䜿甚する Jupyter サヌバヌず互換
  • ゚ラヌ埩旧接続の問題に察する適切なフォヌルバック

🏗 アヌキテクチャ

graph TD
    A[AI Agent/Claude] --> B[MCP Server]
    B --> C[Jupyter Server API]
    B --> D[WebSocket Channels]
    C --> E[Kernel Management]
    D --> F[Real-time Execution]
    F --> G[Output Capture]
    G --> H[Image Extraction]
    G --> I[Text Processing]
    B --> J[Notebook Files]

🛠 18 皮類の包括的なツヌル

📝 セルコンテンツ管理
  • add_execute_code_cell - Python コヌドを実行し、リアルタむムで出力
  • add_markdown_cell - 曞匏付きのドキュメントを远加
  • modify_cell - 既存のセルコンテンツを線集
  • change_cell_type - Markdown セルずコヌドセルを盞互に倉換
🖌 出力の抜出
  • get_cell_image_output - Base64 ゚ンコヌドされた画像PNG/JPEGを抜出
  • get_cell_text_output - ゚ラヌやトレヌスバックを含むすべおのテキスト出力を取埗
🗂 ノヌトブックのファむル操䜜
  • create_notebook - 新しいノヌトブックファむルを䜜成
  • delete_notebook - ノヌトブックファむルを安党に削陀
  • switch_notebook - アクティブなノヌトブックを切り替え
  • list_notebooks - 利甚可胜なノヌトブックを䞀芧衚瀺
🔍 デヌタの確認
  • list_cells - プレビュヌ付きで党セルの抂芁を衚瀺
  • read_cell - 特定のセルの党コンテンツを読み取り
  • get_notebook_info - ノヌトブックの包括的なメタデヌタを取埗

ツヌルの党ドキュメントを芋る →

🚀 クむックスタヌト

前提条件
  • Python 3.11+
  • Jupyter Notebook
  • Claude Desktop たたは互換性のある MCP クラむアント
むンストヌル
  1. リポゞトリをクロヌン

    git clone https://github.com/JosephLin11/jupyter-mcp-server.git
    cd jupyter-mcp-server
    
  2. 䟝存関係をむンストヌル

    pip install -r requirements.txt
    
  3. Jupyter Server を起動

    ./scripts/start_jupyter.sh
    
  4. Claude Desktop を蚭定 claude_desktop_config.json に远加したす

    {
      "mcpServers": {
        "jupyter": {
          "command": "python",
          "args": ["/path/to/your/jupyter-mcp-server/src/jupyter_mcp_server.py"]
        }
      }
    }
    

    💡 ヒントpython3 scripts/get_claude_config.py を実行するず、珟圚のパスに基づいた正しい蚭定を生成できたす

💡 ナヌスケヌスの䟋

📊 デヌタ可芖化パむプラむン
# 1. Create and execute visualization code
add_execute_code_cell(cell_content="""
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

# Generate sample data
data = np.random.normal(0, 1, 1000)

# Create beautiful visualization
plt.figure(figsize=(12, 8))
plt.subplot(2, 2, 1)
plt.hist(data, bins=50, alpha=0.7, color='skyblue')
plt.title('Distribution Analysis')

plt.subplot(2, 2, 2)
sns.boxplot(y=data)
plt.title('Box Plot Analysis')

plt.tight_layout()
plt.show()
""")

# 2. Extract the generated image
get_cell_image_output(cell_index=0)
🧪 科孊蚈算
# 3D surface visualization
add_execute_code_cell(cell_content="""
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(12, 9))
ax = fig.add_subplot(111, projection='3d')

# Create mesh
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# Render surface
surface = ax.plot_surface(X, Y, Z, cmap='plasma', alpha=0.9)
ax.set_title('3D Mathematical Function')
plt.colorbar(surface)
plt.show()
""")

# Extract 3D visualization
get_cell_image_output(cell_index=1)

🏆 技術的な特長

高床な WebSocket 実装
  • Jupyter カヌネルずのリアルタむム双方向通信
  • 包括的なメッセヌゞタむプ凊理execute_result、display_data、stream、error
  • 自動再接続ずフォヌルバック機構
スマヌトな出力凊理
  • Base64 ゚ンコヌドによる耇数圢匏の画像抜出PNG、JPEG
  • メタデヌタを保持した構造化出力の取埗
  • 完党なトレヌスバックをサポヌトする゚ラヌ凊理
堅牢なセキュリティモデル
  • XSRF トヌクンの自動怜出ず管理
  • 耇数の認蚌゚ンドポむントをサポヌト
  • さたざたな Jupyter 構成に察応する適切な瞮退動䜜
゚ンタヌプラむズグレヌドの゚ラヌ凊理
  • 蚭定可胜なログレベルによる包括的なロギング
  • 信頌性を高めるフォヌルバック実行モヌド
  • リ゜ヌスのクリヌンアップず接続管理

📊 代替手段ずの比范

機胜この実装jjsantos01 MCPCursor MCP
利甚可胜なツヌル🏆 18 個のツヌル10 個のツヌル810 個のツヌル
画像抜出🏆 PNG + JPEGPNG のみなし
セットアップの耇雑さ🏆 自動ブラりザヌの手動初期化CLI 匕数
バヌゞョンサポヌト🏆 すべおの Jupyter バヌゞョンJupyter 6.x のみバヌゞョンに䟝存しない
リアルタむム実行🏆 WebSocket + HTTPWebSocket ブリッゞファむルのみ
セキュリティ凊理🏆 XSRF 自動凊理基本匷化

🧪 テスト

包括的なテストスむヌトを実行したす

# Test image extraction capabilities
python tests/test_image_extraction.py

# Test notebook operations  
python tests/test_notebook_save.py

📁 プロゞェクト構成

jupyter-mcp-server/
├── src/
│   └── jupyter_mcp_server.py      # Main MCP server implementation
├── notebooks/                     # 📓 All Jupyter notebooks are created here
│   └── mcp_notebook.ipynb         # Default notebook for MCP operations
├── tests/
│   ├── test_image_extraction.py   # Image extraction tests
│   └── test_notebook_save.py      # Notebook operation tests
├── scripts/
│   ├── start_jupyter.sh           # Jupyter server startup script
│   └── get_claude_config.py       # Claude configuration generator
├── examples/
│   ├── claude_desktop_config.json # Example configuration
│   ├── mcp_notebook.ipynb         # Example notebook
│   └── new_notebook.ipynb         # Sample notebook
├── docs/
│   ├── MCP_TOOLS_SUMMARY.md       # Complete tool reference
│   ├── SETUP.md                   # Setup guide
│   └── IMAGE_EXTRACTION_README.md # Image extraction guide
├── requirements.txt               # Python dependencies
├── pyproject.toml                 # Project configuration
└── README.md                      # Project documentation

🀝 貢献

貢献を歓迎したす以䞋の手順に埓っおください

  1. リポゞトリをフォヌクしたす
  2. フィヌチャヌブランチを䜜成したすgit checkout -b feature/amazing-feature
  3. 倉曎をコミットしたすgit commit -m 'Add amazing feature'
  4. ブランチにプッシュしたすgit push origin feature/amazing-feature
  5. プルリク゚ストを䜜成したす

📄 ラむセンス

このプロゞェクトは BSD 3-Clause License の䞋でラむセンスされおいたす。詳现に぀いおは、LICENSE ファむルを参照しおください。

🌟 謝蟞

  • オリゞナルの開発基盀ずなる Jupyter MCP Server を䜜成した Datalayer, Inc. に感謝したす
  • Model Context Protocol ゚コシステムから着想を埗おいたす
  • 堅牢な Jupyter Server API を基盀ずしおいたす
  • さたざたな MCP 実装のアむデアを取り入れお匷化されおいたす
  • オヌプン゜ヌスコミュニティに特別な感謝を申し䞊げたす

📧 お問い合わせ

Joseph Lin - GitHub

プロゞェクトリンクhttps://github.com/JosephLin11/jupyter-mcp-server

オリゞナルプロゞェクトhttps://github.com/datalayer/jupyter-mcp-server


⭐ 圹に立った堎合は、このリポゞトリにスタヌを付けおください⭐

AI ずデヌタサむ゚ンスのコミュニティのために ❀ を蟌めお開発

Datalayer が開発し、Joseph Lin が機胜匷化ずメンテナンスを担圓

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。