vscode-notebook-mcp
vscode-notebook-mcp
Eine VS Code-Erweiterung, die die Jupyter-Notebooks in Ihrem VS Code-Editor für MCP-kompatible KI-Agenten (z. B. Claude Code) bereitstellt. Der Agent liest, bearbeitet und führt Zellen mit demselben Kernel aus, den auch VS Code verwendet.
Status: Pre-Alpha, Einzelentwickler-Projekt. Von Grund auf neu erstellt; kein Fork.
Tools (12)
Erkennung
Tool | Beschreibung |
| Listet alle geöffneten Notebooks mit URI, Dateiname, Zellanzahl und dem aktiven Notebook auf |
| Listet Zellen mit Index, Typ, Sprache, Vorschau und Ausführungsstatus auf |
| Vollständiger Quellcode einer Zelle |
| Ausgaben einer Zelle (Text, Fehler, Bilder als base64) |
Zellmanipulation
Tool | Beschreibung |
| Fügt eine Code- oder Markdown-Zelle an einer beliebigen Position ein; optional mit Ausführung |
| Ersetzt den Inhalt einer bestehenden Zelle |
| Löscht eine Zelle anhand des Index |
Ausführung
Tool | Beschreibung |
| Führt eine bestehende Code-Zelle aus und gibt die Ausgaben zurück |
| Löscht die Ausgaben einer einzelnen Zelle |
| Löscht die Ausgaben aller Zellen |
Kernel
Tool | Beschreibung |
| Sprache, Status, Notebook-URI |
| Programmgesteuert über |
Alle Tools akzeptieren eine optionale notebook_uri (wenn weggelassen → wird das aktive Notebook verwendet) und ein response_format ("markdown" oder "json").
Related MCP server: lsp-mcp
Einrichtung
Installieren Sie die Jupyter-Erweiterung in VS Code, falls noch nicht geschehen.
Erstellen und starten Sie diese Erweiterung:
npm install npm run buildÖffnen Sie dann diesen Ordner in VS Code und drücken Sie F5, um einen Extension Development Host mit geladener Erweiterung zu starten.
Fügen Sie dies Ihrer MCP-Client-Konfiguration hinzu:
{ "mcpServers": { "notebook": { "url": "http://127.0.0.1:49777/mcp" } } }Öffnen Sie eine
.ipynb-Datei im Extension Development Host. Achten Sie auf die🪐 :49777-Anzeige in der Statusleiste.
Konfiguration
Einstellung | Standard | Beschreibung |
|
| Bevorzugter Port. Erhöht sich automatisch, falls belegt (bis zu +99). |
Befehle
Notebook MCP: Restart ServerNotebook MCP: Show Server Info
Architektur
┌─────────────────────────────────────────────────────────┐
│ VS Code window │
│ │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Jupyter extension (ms-toolsai.jupyter) │ │
│ │ │ │
│ │ Notebook document ◄──► Kernel ──► Outputs │ │
│ └───────────────────────────────────────────────────┘ │
│ ▲ │
│ │ vscode.NotebookEdit, │
│ │ notebook.cell.execute, │
│ │ jupyter.kernels.getKernel │
│ │ │
│ ┌───────────────────────┴───────────────────────────┐ │
│ │ This extension │ │
│ │ │ │
│ │ HTTP server :49777 ──► MCP tools (12) │ │
│ │ (StreamableHTTPServerTransport) │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│ HTTP (MCP protocol)
▼
┌───────────────────────────────┐
│ AI agent │
│ (Claude Code, Cursor, etc.) │
└───────────────────────────────┘Implementierungshinweise
Schreibvorgänge erfolgen über
vscode.NotebookEdit+vscode.WorkspaceEdit, wodurch Rückgängig/Wiederherstellen erhalten bleibt.Ausführung sendet
notebook.cell.executeund wartet durch Abfragen voncell.executionSummary.successauf einenboolean-Wert (VS Code erstellt die Zusammenfassung, sobald die Ausführung beginnt, abersuccesswird erst dann zu einemboolean, wenn der Kernel fertig ist).Eingefügte Zellen werden mit einer Metadaten-ID markiert, damit der Executor sie wiederfinden kann, nachdem sich der Index durch andere gleichzeitige Bearbeitungen verschoben hat.
Multi-Notebook: Jedes Tool akzeptiert
notebook_uri. Auflösung: explizite URI → Suche invscode.workspace.notebookDocuments(oder öffnen); andernfalls Rückgriff aufvscode.window.activeNotebookEditor.
Entwicklung
npm install
npm run build # esbuild bundle
npm run watch # rebuild on change
npm run typecheck # tsc --noEmit
npm test # vitest (no tests yet)Drücken Sie F5 in VS Code, um den Extension Development Host zu starten.
Referenzen
Andere Projekte, die in eine ähnliche Richtung gehen:
datalayer/jupyter-mcp-server — MCP-Server, der über HTTP/WebSocket mit einem laufenden Jupyter-Server kommuniziert.
olavocarvalho/vscode-runtime-notebook-mcp — ähnliche Architektur wie dieses Projekt (VS Code Notebook API + eingebetteter HTTP-MCP-Server).
Ich habe dies von Grund auf neu erstellt, um zu lernen und Spielraum für Designanpassungen und die Entwicklung neuer Funktionen zu haben.
Lizenz
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Read and write your Fresh Jots notes from Claude, Cursor, and any MCP client.
System-of-record notebook for AI coding agents: pages, datastores, tasks, skills over MCP.
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to read, edit, execute cells, and capture outputs from Jupyter notebooks directly within VS Code or Cursor via the Model Context Protocol.6 npm16MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with VS Code's language server protocol features (definitions, references, diagnostics) and debugger (breakpoints, stepping, variable inspection) via an MCP server.9 npm1MIT
- AlicenseNot gradedqualityAmaintenanceVS Code extension that bridges local Jupyter Notebooks with AI Agents via MCP, enabling direct control of the active notebook tab.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables external agents to run, edit, create, and manage the Jupyter notebook the user is actively editing in VS Code, headlessly and without approval dialogs. Works with any MCP client and is Jupyter-optional for document operations.1MIT