Metadata-Version: 2.5
Name: ajlab
Version: 0.1.12
Summary: Agent ready JupyterLab
Project-URL: Homepage, https://github.com/jtpio/ajlab
Project-URL: Repository, https://github.com/jtpio/ajlab
Project-URL: Issues, https://github.com/jtpio/ajlab/issues
Author: Jeremy Tuloup
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: agent,ai,jupyter,jupyterlab
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Jupyter
Classifier: Framework :: Jupyter :: JupyterLab
Classifier: Framework :: Jupyter :: JupyterLab :: 4
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: jupyter-docprovider>=3.0.0
Requires-Dist: jupyter-server-mcp>=0.3.0
Requires-Dist: jupyter-server-ydoc>=3.0.0
Requires-Dist: jupyterlab-commands-toolkit>=0.2.0
Requires-Dist: jupyterlab>=4.6.1
Description-Content-Type: text/markdown

# ajlab

Agent-ready JupyterLab.

![](./screenshot.png)

`ajlab` is a small meta-package that installs JupyterLab plus a few extensions
useful for agent workflows, and ships some defaults under `etc/jupyter/labconfig`.

## What's included

Minimum versions (see [`pyproject.toml`](./pyproject.toml)):

- `jupyterlab >=4.6.1`
- `jupyter-docprovider >=3.0.0` and `jupyter-server-ydoc >=3.0.0`
- `jupyter-server-mcp >=0.3.0`
- `jupyterlab-commands-toolkit >=0.2.0`

## Default settings

- Hidden files shown in the file browser.

## Install

```bash
pip install ajlab
```

## Run

Once installed, start JupyterLab with:

```bash
jupyter lab
```

## Configure agents

Agent connectivity is provided by [`jupyter-server-mcp`][mcp], which runs inside
JupyterLab and exposes an MCP endpoint (default port `3001`) that any MCP client
can connect to.

The recommended way to connect a client is the stdio proxy, which auto-discovers
the running Jupyter MCP server and bridges stdio to its HTTP endpoint. It keeps
working unchanged when several Jupyter servers run side by side or when the port
is assigned dynamically. The proxy is installed alongside `ajlab`, so to wire it
up to Claude Code from a JupyterLab terminal:

```bash
claude mcp add jupyter -- jupyter-server-mcp-proxy
```

From an environment where `jupyter-server-mcp-proxy` is not on the `PATH`, run it
with `uvx` instead:

```bash
claude mcp add jupyter -- uvx --from jupyter-server-mcp jupyter-server-mcp-proxy
```

Alternatively, for a single server on a fixed port, connect directly over HTTP:

```bash
claude mcp add --transport http jupyter http://localhost:3001/mcp
```

See the [`jupyter-server-mcp` README][mcp] for tool registration via
`jupyter_config.py` and snippets for other MCP clients.

[mcp]: https://github.com/jupyter-ai-contrib/jupyter-server-mcp

## License

BSD-3-Clause
