Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions CHANGELOG.md

This file was deleted.

15 changes: 10 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ To get started with development, you'll need to set up your environment.
make test
```

5. **Build Python Package/Docker Image:**
```bash
# Build the Python package
make build
# Build the Docker image
make build-docker
```

## (Optional) Manual Agent Testing

1. **Build Python Package:**
Expand Down Expand Up @@ -93,11 +101,8 @@ To get started with development, you'll need to set up your environment.
"jupyter-mcp-server"
],
"env": {
"DOCUMENT_URL": "http://localhost:8888",
"DOCUMENT_TOKEN": "MY_TOKEN",
"DOCUMENT_ID": "notebook.ipynb",
"RUNTIME_URL": "http://localhost:8888",
"RUNTIME_TOKEN": "MY_TOKEN",
"JUPYTER_URL": "http://localhost:8888",
"JUPYTER_TOKEN": "MY_TOKEN",
"ALLOW_IMG_OUTPUT": "true"
}
}
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,11 +207,10 @@ Then, configure your client:

> [!TIP]
> 1. **Port Configuration**: Ensure the `port` in your Jupyter URLs matches the one used in the `jupyter lab` command. For simplified config, set this in `JUPYTER_URL`.
> 2. **Server Separation**: The different URL and token variables exist because some deployments separate notebook storage (`DOCUMENT_*`) from kernel execution (`RUNTIME_*`). Use `JUPYTER_URL` and `JUPYTER_TOKEN` when both services are on the same server, or set individual variables for advanced deployments.
> 2. **Server Separation**: Use `JUPYTER_URL` when both services are on the same server, or set individual variables for advanced deployments. The different URL variables exist because some deployments separate notebook storage (`DOCUMENT_URL`) from kernel execution (`RUNTIME_URL`).
> 3. **Authentication**: In most cases, document and runtime services use the same authentication token. Use `JUPYTER_TOKEN` for simplified config or set `DOCUMENT_TOKEN` and `RUNTIME_TOKEN` individually for different credentials.
> 4. **Notebook Path**: The `DOCUMENT_ID` parameter specifies the path to the notebook you want to connect to. It should be relative to the directory where JupyterLab was started.
> - **Optional:** If you omit `DOCUMENT_ID`, the MCP client can automatically list all available notebooks on the Jupyter server, allowing you to select one interactively via your prompts.
> - **Flexible:** Even if you set `DOCUMENT_ID`, the MCP client can still browse, list, switch to, or even create new notebooks at any time.
> 4. **Notebook Path**: The `DOCUMENT_ID` parameter specifies the path to the notebook the MCP client default to connect. It should be relative to the directory where JupyterLab was started. If you omit `DOCUMENT_ID`, the MCP client can automatically list all available notebooks on the Jupyter server, allowing you to select one interactively via your prompts.
> 5. **Image Output**: Set `ALLOW_IMG_OUTPUT` to `false` if your LLM does not support mutimodel understanding.

For detailed instructions on configuring various MCP clients—including [Claude Desktop](https://jupyter-mcp-server.datalayer.tech/clients/claude_desktop), [VS Code](https://jupyter-mcp-server.datalayer.tech/clients/vscode), [Cursor](https://jupyter-mcp-server.datalayer.tech/clients/cursor), [Cline](https://jupyter-mcp-server.datalayer.tech/clients/cline), and [Windsurf](https://jupyter-mcp-server.datalayer.tech/clients/windsurf) — see the [Clients documentation](https://jupyter-mcp-server.datalayer.tech/clients).

Expand Down Expand Up @@ -244,7 +243,7 @@ Looking for blog posts, videos, or other materials about Jupyter MCP Server?

👉 Visit the [**Resources section**](https://jupyter-mcp-server.datalayer.tech/resources) in our documentation for more!

<a href="https://star-history.com/#/repos/datalayer/jupyter-mcp-server&type=Date">
<a href="https://star-history.com/#datalayer/jupyter-mcp-server&type=Date">
<img src="https://api.star-history.com/svg?repos=datalayer/jupyter-mcp-server&type=Date" alt="Star History Chart">
</a>

Expand Down
25 changes: 7 additions & 18 deletions docs/docs/contribute/index.mdx
Original file line number Diff line number Diff line change
@@ -1,23 +1,12 @@
# Contribute

## Develop

Clone the repository and install the dependencies.

```bash
git clone https://github.com/datalayer/jupyter-mcp-server
cd jupyter-mcp-server
pip install -e .
```

Build the Docker image from source.

```bash
make build-docker
```

## Contribute

We invite you to contribute by [opening issues](https://github.com/datalayer/jupyter-mcp-server/issues) and submitting [pull requests](https://github.com/datalayer/jupyter-mcp-server/pulls).

We welcome contributions of all kinds, including:
- 🐛 Bug fixes
- 📝 Improvements to existing features or documentation
- ✨ New feature development

Your contributions help us improve the project and make it more useful for everyone!

See more in [CONTRIBUTING.md](https://github.com/datalayer/jupyter-mcp-server/blob/main/CONTRIBUTING.md)
6 changes: 6 additions & 0 deletions docs/docs/releases/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
## 0.16.x - 13 Oct 2025

- [Merge the three execute tools into a single unified tool](https://github.com/datalayer/jupyter-mcp-server/pull/111)
- [Docs: update readme and contributing](https://github.com/datalayer/jupyter-mcp-server/pull/112)
- CI: build Auto Releases CI/CD: [#114](https://github.com/datalayer/jupyter-mcp-server/pull/114), [#115](https://github.com/datalayer/jupyter-mcp-server/pull/115), [#119](https://github.com/datalayer/jupyter-mcp-server/pull/119), [#120](https://github.com/datalayer/jupyter-mcp-server/pull/120)
- [fix negative index](https://github.com/datalayer/jupyter-mcp-server/pull/116)
- [fix ressources and prompts list](https://github.com/datalayer/jupyter-mcp-server/pull/117)
- [Refactor: separate and simplify the server.py](https://github.com/datalayer/jupyter-mcp-server/pull/123)
- [Feat/add JUPYTER_URL and JUPYTER_TOKEN](https://github.com/datalayer/jupyter-mcp-server/pull/125)

## 0.15.x - 08 Oct 2025

Expand Down
Loading