「Cursor で .ipynb を開いたら AI が効かない」——そう思って諦めていませんか。私も半年前まではそうでした。Jupyter は別ウィンドウ、Cursor はコード編集、行き来で消耗するあの感じ。
でも 2026 年の Cursor はもう別物です。Agent が .ipynb のセルを直接読み書きし、cursor-notebook-mcp を挟めば実行までまかせられる。私は 2 週間、既存の分析案件を丸ごとこの環境に移して回してみました。結論から言うと、セル間の手戻りが体感で半分以下になりました。
この記事では、Cursor で Jupyter Notebook を実務レベルで使い倒す手順を、私が実際に組んだ設定ファイルとプロンプト込みで共有します。
結論:2026年のCursor×Jupyterは3層構成で組む
先に答えを書きます。Cursor で Notebook を快適に扱うなら、以下の 3 層に分けて構築します。
- ネイティブ .ipynb 編集(Cursor Agent がセルを直接編集)
# %%セル区切りの .py ワークフロー(軽量・Git差分が読める)cursor-notebook-mcpによる実行自動化(Agent がセル実行まで担当)
この 3 層はどれか 1 つを選ぶのではなく、タスクに応じて切り替えます。探索フェーズは 1、コードレビューや共同編集は 2、機械学習パイプラインの反復は 3、という具合です。
正直、最初は「.ipynb を AI に食わせるとJSONが壊れる」という 2024 年頃の印象を引きずっていました。試したら拍子抜けするほど普通に動きます。
なぜCursorでJupyterを使うのか:VS Code版との違い
VS Code にも Jupyter 拡張はあります。ではなぜ Cursor を選ぶか。理由は Agent がセル全体を俯瞰して編集できる点にあります。
Cursor 1.0 以降、Agent は複数セルの生成と編集ができるようになり、Cursor 3 系ではさらに Composer 2.5 のマルチファイル・リファクタが Notebook にも効くようになりました。ML パイプラインでよくある「前処理セルを直したら後段の特徴量エンジニアリングも直す」みたいな連鎖修正が一発で通る。これは想像以上に効きました。
もう一つの違いは、Agent がコードセルの出力まで参照できることです。エラーメッセージを貼り付けて説明する手間が消えます。Traceback を見て次のセルを書き足してくれる。ペアプロの相手が黙って隣で試行錯誤してくれている感覚に近いです。
手順1:Cursorで.ipynbをネイティブに編集する
まずは一番シンプルな方法から。特別な設定は要りません。
セットアップ
- Cursor で
.ipynbファイルを開く - Python 拡張と Jupyter 拡張が入っていない場合は VS Code Marketplace からインストール
- カーネルを選択(右上の「Select Kernel」から
.venvなどを指定)
これだけで、セル単位の実行と Agent 編集が使えます。私の環境では uv venv で作った仮想環境をそのまま指定しています。
Agentへの指示のコツ
Notebook では「セル番号」で指示するのが安定します。たとえばこう書きます。
セル3の前処理を、欠損値を中央値ではなく KNN Imputer で補完するように書き換えて。
セル5以降で参照している X_train / X_test のカラム名は変えないこと。
セル番号+影響範囲を明示すると、余計なセルまで書き換えられる事故が減ります。ちなみに Sonnet 系モデルの方が Notebook 編集は安定する印象がありました。Cursor Router の Auto でも良いですが、大規模な書き換えを頼むときは手動で Sonnet に固定しています。
手順2:# %% セル区切りの.py で軽量ワークフロー
.ipynb は便利ですが、Git で差分が読めないという弱点があります。チームレビューを回すなら、セル区切り付きの .py を検討する価値があります。
書き方
# %% [markdown]
# # 顧客チャーン分析
# データ読み込みから前処理まで
# %%
import pandas as pd
df = pd.read_csv('data/churn.csv')
df.head()
# %%
# 欠損値確認
df.isnull().sum()
# %% を書くだけで、Cursor が自動的にセルとして認識し「Run Cell」ボタンを表示します。実行結果はインタラクティブウィンドウに出ます。
この形式のメリットは、Git diff がプレーンテキストで読めること。PR レビューで「セル5の変更意図」を追いやすくなります。私は探索フェーズは .ipynb、本番投入用のパイプラインは .py に書き直す、という分業にしています。
手順3:cursor-notebook-mcpでAgentに実行までまかせる
ここからが本記事の本題です。標準の Cursor Agent は .ipynb のセルを生成・編集はできますが、実行はできません。ユーザーが Run を押す必要があります。
この制約を外すのが cursor-notebook-mcp という MCP サーバー。GitHub の jbeno/cursor-notebook-mcp で公開されているオープンソース実装です。nbformat と nbconvert を使って Notebook を安全に操作し、ユーザーが指定したディレクトリに限定して読み書きします。
セットアップ手順
- Python 環境に pip でインストール
pip install cursor-notebook-mcp
~/.cursor/mcp.jsonに以下を追記
{
"mcpServers": {
"notebook": {
"command": "cursor-notebook-mcp",
"args": ["--allowed-dirs", "/Users/you/projects"]
}
}
}
- Cursor を再起動し、Settings → MCP で「notebook」が緑ランプになっていることを確認
--allowed-dirs は必ず指定してください。指定を忘れるとホームディレクトリ全体が操作可能になり、これは事故のもとです。私は案件ごとにディレクトリを分けて渡しています。
何が変わるか
導入前は Agent に「このセル書いて」→ 自分で Shift+Enter → 出力を Agent に共有、というループでした。導入後はこう書けます。
churn.ipynb を開いて、EDA セクションを追加して。
df.describe() と欠損値ヒートマップを実行し、
結果を見て次の前処理方針をマークダウンセルで提案して。
Agent がセル追加→実行→出力確認→次の提案、まで一気にやってくれます。私が試した Bank Churn の分析では、EDA からモデル評価まで 2 時間半で回りました。手動でやっていた頃の 1/3 くらいの時間感覚です。
注意点
実行を任せると、当然クレジット消費が跳ねます。特に大きな DataFrame を .describe() させると出力トークンが膨らむ。私は最初の 3 日で Pro の月次クレジットを 32% 溶かしてやや焦りました。
対策として、Agent には「実行前に対象セルの計算量を見積もる」ルールを .cursor/rules に追加しています。地味ですが効きます。
実務で効く3つのプロンプトパターン
2 週間運用して、繰り返し使うプロンプトが 3 つに絞られてきました。
パターン1:EDAを一気通貫で生成
{path}/data.csv を読み込むノートブックを作って。
セル構成:
1. import と読み込み
2. df.info() と df.describe()
3. 各カラムの分布(数値はヒストグラム、カテゴリはvalue_counts)
4. 欠損値の可視化(missingno)
5. 相関ヒートマップ
各セル実行後、結果を見て気になる点をマークダウンセルにメモして。
パターン2:仮説検証セルの差し込み
既存の Notebook に「セル5とセル6の間に、性別ごとのチャーン率を検証するセルを差し込んで。可視化は seaborn の countplot で」といった指示。セル番号を明示するのがコツです。
パターン3:.py への昇格
探索が終わった .ipynb を、本番用の .py に書き直す指示。「このノートブックの前処理部分を、preprocess.py に関数として切り出して。引数は DataFrame、戻り値は前処理済み DataFrame」のように依頼します。Composer 2.5 はこの手のリファクタが得意です。
使わないほうがいい3つのケース
万能ではないので、避けるべきケースも書いておきます。
1. GPU を大量に使う深層学習の反復学習。Cursor Agent に実行させると、途中で Agent が中断されるとカーネルが宙ぶらりんになります。学習ループは手動 Run が無難です。
2. 機密データを扱う分析。MCP サーバーは Agent に Notebook 内容を渡します。個人情報や顧客データが含まれる場合、企業ポリシー上グレーになりがち。ローカル LLM 版の運用を検討してください。
3. インライン可視化が絶対に必要な場面。.py + # %% 方式は可視化が別ウィンドウになります。プレゼン資料用に画像を並べたいなら .ipynb 一択です。
まとめ:今日からやる4つのアクション
ここまでの内容を、今日から実行に落とすと以下 4 つになります。
- Cursor で手元の .ipynb を 1 つ開き、Agent にセル番号指定で編集を頼んでみる(所要 5 分)
# %%セル形式の .py を新規作成し、探索フェーズを Git 差分が読める形で運用してみるcursor-notebook-mcpを pip インストールし、--allowed-dirsを指定して mcp.json に登録- .cursor/rules に「Notebook 実行前に計算量を見積もる」ルールを追加してクレジットを守る
私は最初、MCP 導入まで一気にやろうとして設定に 40 分溶かしました。あなたは 1 → 3 の順で段階的に入れたほうが挫折しません。
データ分析の現場は、コードを書く時間より「試して結果を見て次を考える」時間のほうが長いはず。その考える時間を、Cursor と Notebook の組み合わせで少し取り戻せます。
参考リンク
- Cursor Changelog — 2026年7月時点の最新機能・料金アップデート
- cursor-notebook-mcp (GitHub) — Notebook操作用MCPサーバーの実装と設定手順
- Jupyter Notebooks with LLM in Cursor IDE — Cursor×Jupyterの実践ワークフロー解説
- How to Use Cursor Jupyter Notebook (apidog) — .py +
# %%形式の解説と比較