Skip to content

Commit 8c4a902

Browse files
docs
1 parent 27cabf2 commit 8c4a902

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

README.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,34 @@
1414

1515
[![Github Actions Status](https://github.com/datalayer/jupyter-mcp-tools/workflows/Build/badge.svg)](https://github.com/datalayer/jupyter-mcp-tools/actions/workflows/build.yml)
1616

17-
Jupyter MCP Tools.
18-
1917
This extension is composed of a Python package named `jupyter_mcp_tools`
2018
for the server extension and a NPM package named `@datalayer/jupyter-mcp-tools`
2119
for the frontend extension.
2220

21+
It enables the use of JupyterLab commands as MCP tools.
22+
23+
![](https://assets.datalayer.tech/jupyter-mcp-tools.gif)
24+
25+
This extension is used by [jupyter-mcp-server](https://github.com/datalayer/jupyter-mcp-server) to enable JupyterLab commands such as opening notebooks through MCP tools.
26+
27+
## Execution Modes
28+
29+
The extension supports two execution modes for JupyterLab commands:
30+
31+
### Local Mode
32+
- **Direct Execution**: Commands are executed directly within the JupyterLab frontend using the built-in command registry
33+
- **No Network Required**: Immediate execution without WebSocket communication
34+
- **Use Case**: Testing commands and direct UI interaction within JupyterLab itself
35+
- **Implementation**: Calls `app.commands.execute()` directly in the browser
36+
37+
### Remote Mode
38+
- **WebSocket Communication**: Commands are sent via WebSocket to the backend server extension
39+
- **External Access**: Enables external MCP clients to execute JupyterLab commands remotely
40+
- **Use Case**: Integration with AI agents and MCP clients like [jupyter-mcp-server](https://github.com/datalayer/jupyter-mcp-server)
41+
- **Implementation**: Messages are transmitted through WebSocket protocol to backend handlers
42+
43+
The remote mode is what makes this extension valuable for MCP integration - it allows AI agents to trigger JupyterLab commands (like opening notebooks, executing cells, etc.) from outside the JupyterLab environment through a standardized protocol.
44+
2345
## Requirements
2446

2547
- JupyterLab >= 4.0.0

0 commit comments

Comments
 (0)