Jupythunder について
Jupythunderは、ClaudeなどのMCPクライアントとJupyter Notebookをつなぎ、自然言語で操作できるようにするミドルウェアです。ノートブックやセルの管理、Pythonコードの実行、データ分析に対応します。
主な機能
- 01自然言語の依頼をPythonに変換
- 02URLとトークンでJupyterに接続
- 03ノートブックの作成とオープン
- 04セルの表示と実行
- 05データ分析と可視化
- 06コード状態に関する質問
活用シーン
- 01分析コードの生成と確認
- 02ノートブックの新規作成や継続
- 03セル単位または全体の実行
- 04統計やグラフによるデータ探索
MCP 対応
MCPサーバーとして動作し、MCPクライアントにJupyter接続、ノートブック管理、コード実行、問い合わせ機能を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

Jupythunder
Jupythunder は、LLM チャットインターフェース(Claude)と Jupyter Notebook を接続するミドルウェアです。このプロジェクトでは、ユーザーがより自然言語に近い形で Jupyter Notebook を操作できます。
主な機能
- 自然言語からコードへの変換:LLM が、ユーザーが自然言語で記述した内容を正しい Python コードに変換します
- Jupyter リモート接続:ユーザーが指定した Jupyter Notebook の URL(トークン付き)を使用したリモート接続に対応しています
- コード実行:変換したコードを Jupyter Notebook で実行し、結果を返します
- コードに関する質問:
/questionコマンドを使用して、定義済みの関数や変数などの情報を問い合わせられます - 状態管理:接続状態とセッション情報を管理します
- ノートブックファイル管理:.ipynb ファイルの作成、開く操作、セル管理、保存に対応しています
- 自然言語によるデータ分析:自然言語のリクエストを通じたデータ分析と可視化のワークフロー
- セルの照会と実行:特定のセルの内容を表示し、特定のセルを実行したり、すべてのセルを順番に実行したりできます
インストール
前提条件
- Python 3.10 以降
- Jupyter Notebook
- Claude for Desktop(または別の MCP クライアント)
インストール手順
-
リポジトリをクローンします:
git clone https://github.com/username/jupythunder.git cd jupythunder -
依存関係をインストールします:
pip install -r requirements.txt
使い方
1. Jupyter Notebook サーバーを起動する
別のターミナルで Jupyter Notebook サーバーを起動します:
jupyter notebook
ログで URL とトークンを確認します(例:http://localhost:8888/?token=abcdef1234567890)。
2. MCP サーバーを起動する
python jupythunder_server.py
3. Claude for Desktop を設定する
MCP サーバーを Claude for Desktop の claude_desktop_config.json ファイルに追加します:
{
"mcpServers": {
"jupythunder": {
"command": "/absolute/path/python",
"args": ["/absolute/path/jupythunder_server.py"]
}
}
}
重要:Python とスクリプトファイルには、絶対パスを使用する必要があります。
4. Claude for Desktop を再起動する
設定を変更した後、Claude for Desktop を再起動します。
5. 使用例
-
Jupyter に接続する:
Connect to Jupyter Notebook. URL is http://localhost:8888/tree?token=abcdef1234567890 -
新しいノートブックを作成する:
/notebook:data_analysis_notebook -
既存のノートブックを開く:
/open:data_analysis_notebook -
自然言語でデータ分析を依頼する:
Generate random data -
データ分析と可視化:
Show statistical analysis results for the generated data Visualize the correlation between age and income on a graph -
コードの記述と実行:
def calculate_savings(income, expense): return income - expense df['savings'] = calculate_savings(df['income'], df['expenses']) df.head() -
関数情報の検索:
/question: What functions are currently defined? -
ノートブックの内容を検索する:
What is the current notebook content? -
特定のセルの検索と実行:
Show the content of the first cell Execute the second cell -
すべてのセルを実行する:
ノートブック内のすべてのセルを順番に実行してください
機能の詳細
ノートブック管理機能
- 新しいノートブックを作成:
/notebook:notebook_nameコマンドで新しいノートブックを作成します - 既存のノートブックを開く:
/open:notebook_nameコマンドで既存のノートブックを開きます - ノートブックの内容を表示:現在のノートブックのセル構成を確認します
セル管理機能
- セルの内容を表示:特定のセルのコードまたは Markdown の内容を確認します
- 特定のセルを実行:必要なセルを選択して実行します
- すべてのセルを実行:ノートブック内のすべてのセルを順番に実行します
- Markdown セルを追加:自然言語による説明が Markdown セルとして自動的に追加されます
- コードセルを追加:変換された Python コードがコードセルとして追加されます
- 実行結果を保存:コードの実行結果がノートブックに自動的に保存されます
自然言語によるデータ分析機能
- データ生成:「ランダムなデータを生成して」のような自然言語のリクエストでテストデータを生成します
- 統計分析:「データの要約統計量を表示して」のようなリクエストでデータを分析します
- データ可視化:「年齢分布のグラフを描いて」のような自然言語のリクエストで可視化します
- 相関分析:「変数間の相関を分析して」のようなリクエストで関係性を分析します
コマンド一覧
| コマンド | 説明 | 例 |
|---|---|---|
/notebook:name | 新しいノートブックを作成 | /notebook:data_analysis |
/open:name | 既存のノートブックを開く | /open:test |
/question:content | コードに関する質問 | /question:function list |
/help | ヘルプを表示 | /help |
トラブルシューティング
MCP サーバー jupythunder に接続できません:spawn pythonENOENT
このエラーは、Python の実行ファイルが見つからない場合に発生します。次の方法で解決してください。
-
Python の絶対パスを使用する:
{ "mcpServers": { "jupythunder": { "command": "/absolute/path/python", "args": ["/absolute/path/jupythunder_server.py"] } } }次のコマンドで Python の絶対パスを確認できます:
which python # macOS/Linux where python # Windows -
python3 コマンドを使用する:
{ "mcpServers": { "jupythunder": { "command": "python3", "args": ["/absolute/path/jupythunder_server.py"] } } }
Jupyter への接続に失敗する
- Jupyter サーバーが実行中か確認してください
- 指定した URL とトークンが正しいか確認してください
- ファイアウォールの設定を確認してください
ノートブックの作成またはオープンに失敗する
- Jupyter サーバーへの書き込み権限があるか確認してください
- ノートブック名に特殊文字が含まれていないことを確認してください
- 同じ名前のノートブックがすでに存在するか確認してください
セルの実行に関する問題
- コードに構文エラーがないか確認してください
- 必要な変数や関数が前のセルで定義されているか確認してください
- ノートブックに実行結果が表示されない場合は、サーバーを再起動してください
プロジェクト構成
jupythunder/
├── jupythunder_server.py # Main server implementation
├── jupythunder_client.py # Jupyter API client
├── tools.py # MCP tool implement
├── utils.py # Utility functions
└── requirements.txt # Project dependencies
主なコンポーネント
- FastMCP サーバー:MCP プロトコルの処理
- JupyterClient クラス:Jupyter API との連携とノートブック管理
- ツール:接続、実行、クエリ、ノートブック管理用のツール
- コマンド処理:特殊コマンドの解析
- 状態管理:ライフスパンコンテキストの管理
- 自然言語処理:自然言語のリクエストを Python コードに変換
- セル管理:セル内容の表示、実行、結果の保存を行う関数
今後の改善
- LLM との統合:実際の LLM を使用して自然言語変換機能を強化
- データ可視化の拡張:さまざまな可視化形式に対応
- ノートブックテンプレート:データ分析や機械学習など、用途に応じたテンプレートを提供
- ファイルのアップロード:データファイルのアップロードと自動分析に対応
- 共同作業機能:マルチユーザー対応と共有機能
- インタラクティブウィジェット:Jupyter ウィジェットへの対応を強化
- GPU アクセラレーション:ディープラーニングタスク向けの GPU アクセラレーションに対応
依存関係
- mcp[cli] >= 1.5.0:MCP プロトコルの実装
- requests >= 2.31.0:HTTP リクエスト処理
- websocket-client >= 1.6.0:WebSocket 通信
- python-dotenv >= 1.0.0:環境変数の管理
- urllib3 >= 2.0.0:HTTP クライアント
ライセンス
MIT License
Jupythunder(韓国語)
Jupythunder は、LLM チャットインターフェース(Claude)と Jupyter Notebook をつなぐミドルウェアです。このプロジェクトを利用すると、ユーザーは自然言語に近い方法で Jupyter Notebook と対話できます。
主な機能
- 自然言語からコードへの変換:ユーザーが自然言語に近い方法で記述したコードを、LLM が適切な Python コードに変換
- Jupyter リモート接続:ユーザーが指定した Jupyter Notebook の URL(トークンを含む)を通じたリモート接続に対応
- コード実行:変換したコードを Jupyter Notebook で実行し、結果を返す
- コードに関する質問:
/questionコマンドを使って、定義済みの関数や変数などの情報を照会 - 状態管理:接続状態とセッション情報を管理
- ノートブックファイル管理:.ipynb ファイルの作成、オープン、セル管理、保存に対応
- 自然言語によるデータ分析:自然言語のリクエストによるデータ分析と可視化のワークフロー
- セルの表示と実行:特定のセルの内容表示、特定セルの実行、全セルの順次実行に対応
インストール方法
前提条件
- Python 3.10 以上
- Jupyter Notebook
- Claude for Desktop(またはその他の MCP クライアント)
インストール手順
-
リポジトリを複製:
git clone https://github.com/username/jupythunder.git cd jupythunder -
依存関係をインストール:
pip install -r requirements.txt
使用方法
1. Jupyter Notebook サーバーを起動する
別のターミナルで Jupyter Notebook サーバーを起動します:
jupyter notebook
ログで URL とトークンを確認してください(例:http://localhost:8888/?token=abcdef1234567890)。
2. MCP サーバーを起動する
python jupythunder_server.py
3. Claude for Desktop を設定する
Claude for Desktop の claude_desktop_config.json ファイルに MCP サーバーを追加します:
{
"mcpServers": {
"jupythunder": {
"command": "/절대/경로/python",
"args": ["/절대/경로/jupythunder_server.py"]
}
}
}
重要:Python とスクリプトファイルには絶対パスを使用してください。
4. Claude for Desktop を再起動する
設定を変更した後、Claude for Desktop を再起動します。
5. 使用例
-
Jupyter に接続:
Jupyter Notebook에 연결해줘. URL은 http://localhost:8888/tree?token=abcdef1234567890 -
新しいノートブックを作成:
/notebook:데이터분석_노트북 -
既存のノートブックを開く:
/open:데이터분석_노트북 -
自然言語でデータ分析を依頼:
랜덤 데이터를 생성해줘 -
データ分析と可視化:
생성된 데이터에 대한 통계 분석 결과를 보여줘 나이와 수입의 상관관계를 그래프로 시각화해줘 -
コードを作成して実行:
def calculate_savings(income, expense): return income - expense df['저축액'] = calculate_savings(df['수입'], df['지출']) df.head() -
関数情報を取得:
/question: 지금 정의된 함수가 뭐가 있지? -
ノートブックの内容を取得:
현재 노트북의 내용이 어떻게 되어 있어? -
特定のセルを取得して実行:
첫번째 셀의 내용을 보여줘 두번째 셀을 실행해줘 -
すべてのセルを実行:
ノートブックのすべてのセルを順番に実行してください
主な機能の詳細説明
ノートブック管理機能
- 新しいノートブックを作成:
/notebook:노트북이름コマンドで新しいノートブックを作成します。 - 既存のノートブックを開く:
/open:노트북이름コマンドで既存のノートブックを開きます。 - ノートブックの内容を取得:現在作業中のノートブックのセル構成を確認できます。
セル管理機能
- セルの内容を取得:特定のセルのコードまたはマークダウンの内容を確認できます。
- 特定のセルを実行:必要なセルだけを選択して実行できます。
- すべてのセルを実行:ノートブックのすべてのセルを順番に実行できます。
- マークダウンセルを追加:自然言語による説明がマークダウンセルとして自動的に追加されます。
- コードセルを追加:変換された Python コードがコードセルとして追加されます。
- 実行結果を保存:コードの実行結果がノートブックに自動的に保存されます。
自然言語によるデータ分析機能
- データ生成:「ランダムデータを生成」のような自然言語での依頼に応じて、テストデータを生成します。
- 統計分析:「データの要約統計を表示して」などの依頼に応じて、データを分析します。
- データ可視化:「年齢の分布をグラフにして」のような自然言語での依頼に応じて、データを可視化します。
- 相関分析:「変数間の相関関係を分析して」のような依頼に応じて、変数間の関係を分析します。
コマンド一覧
| コマンド | 説明 | 例 |
|---|---|---|
/notebook:이름 | 新しいノートブックを作成 | /notebook:데이터분석 |
/open:이름 | 既存のノートブックを開く | /open:test |
/question:내용 | コードに関する質問 | /question:함수 목록 |
/help | ヘルプを表示 | /help |
トラブルシューティング
could not connect to MCP server jupythunder: spawn pythonENOENT
Python 実行ファイルが見つからない場合に発生するエラーです。次の方法で解決できます。
-
Python の絶対パスを使用:
{ "mcpServers": { "jupythunder": { "command": "/절대/경로/python", "args": ["/절대/경로/jupythunder_server.py"] } } }Python の絶対パスは、次のコマンドで確認できます。
which python # macOS/Linux where python # Windows -
python3 コマンドを使用:
{ "mcpServers": { "jupythunder": { "command": "python3", "args": ["/절대/경로/jupythunder_server.py"] } } }
Jupyter に接続できない
- Jupyter サーバーが起動していることを確認してください
- 指定した URL とトークンが正しいことを確認してください
- ファイアウォールの設定を確認してください
ノートブックを作成または開けない
- Jupyter サーバーへの書き込み権限があることを確認してください
- ノートブック名に特殊文字が含まれていないことを確認してください
- 同じ名前のノートブックがすでに存在していないことを確認してください
セルの実行に関する問題
- コードに構文エラーがないことを確認してください
- 前のセルで必要な変数や関数が定義されていることを確認してください
- 実行結果がノートブックに表示されない場合は、サーバーを再起動してみてください
プロジェクト構成
jupythunder/
├── jupythunder_server.py # 메인 서버 구현
├── jupythunder_client.py # Jupyter API 클라이언트
├── tools.py # MCP 도구 구현
├── utils.py # 유틸리티 함수
└── requirements.txt # 프로젝트 의존성
主な構成要素
- FastMCP サーバー:MCP プロトコルを処理
- JupyterClient クラス:Jupyter API とのやり取りとノートブックの管理
- ツール:接続、実行、取得、ノートブック管理のためのツール
- コマンド処理:特別なコマンド構文を解析
- 状態管理:ライフスパンコンテキストを管理
- 自然言語処理:自然言語による依頼を Python コードに変換
- セル管理:セルの内容の取得、実行、実行結果の保存機能
今後の改善項目
- LLM との統合:実際の LLM を使用した自然言語変換機能を強化
- データ可視化の拡張:さまざまな種類の可視化に対応
- ノートブックテンプレート:データ分析、機械学習など、目的別のテンプレートを提供
- ファイルのアップロード:データファイルのアップロードと自動分析機能
- コラボレーション機能:複数ユーザーへの対応と共有機能
- インタラクティブウィジェット:Jupyter ウィジェットのサポートを強化
- GPU アクセラレーション:ディープラーニングの作業向けに GPU アクセラレーションをサポート
依存関係
- mcp[cli] >= 1.5.0:MCP プロトコルの実装
- requests >= 2.31.0:HTTP リクエストの処理
- websocket-client >= 1.6.0:WebSocket 通信
- python-dotenv >= 1.0.0:環境変数の管理
- urllib3 >= 2.0.0:HTTP クライアント
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。