No project description provided
Project description
🧠 jupyter-server-ai-tools
A Jupyter Server extension for discovering and aggregating callable tools from other extensions.
This project provides a structured way for extensions to declare tools using ToolDefinition
objects, and for agents or other consumers to retrieve those tools — with optional metadata validation.
✨ Features
-
✅ Simple, declarative
ToolDefinition
API -
✅ Automatic metadata inference from function signature and docstring
-
✅ Tool discovery across all installed Jupyter extensions
-
✅ Clean separation between metadata and callable execution
📦 Install
pip install jupyter_server_ai_tools
To install for development:
git clone https://github.com/Abigayle-Mercer/jupyter-server-ai-tools.git
cd jupyter-server-ai-tools
pip install -e ".[lint,test]"
Usage
Expose tools in your own extensions:
from jupyter_server_ai_tools.models import ToolDefinition
def greet(name: str):
"""Say hello to someone."""
return f"Hello, {name}!"
def jupyter_server_extension_tools():
return [ToolDefinition(callable=greet)]
Discover tools from all extensions:
from jupyter_server_ai_tools.tool_registry import find_tools
tools = find_tools(extension_manager)
🧪 Running Tests
pip install -e ".[test]"
pytest
🧼 Linting and Formatting
pip install -e ".[lint]"
bash .github/workflows/lint.sh
Tool Output Example
Given the greet()
tool above, find_tools(return_metadata_only=True)
will return:
[
{
"name": "greet",
"description": "Say hello to someone.",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string" }
},
"required": ["name"]
}
}
]
Impact
This system enables:
- Extension authors to register tools with minimal effort
- Agent builders to dynamically discover and bind tools
- Optional schema enforcement when needed
- Future compatibility with MCP and OpenAPI-based agents
🧹 Uninstall
pip uninstall jupyter_server_ai_tools
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jupyter_server_ai_tools-0.1.0.tar.gz
.
File metadata
- Download URL: jupyter_server_ai_tools-0.1.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
16a79349dcc5cf7c6adafdd6fee9fd7f2071304f1e887b83ce5b99fb810a1643
|
|
MD5 |
e97dfae70ee1c4926df07695d1374bc5
|
|
BLAKE2b-256 |
f42e9bc6f8dab389eea86c28a3365091c02bae9659da6baf4b84ac61682dd4fc
|
File details
Details for the file jupyter_server_ai_tools-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: jupyter_server_ai_tools-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ac2509c30dad39d4a0fd512385b7d09d10bd54b616c12864d6386bf9fab39c5b
|
|
MD5 |
5f79b5bbd39d73bbc5d70903eaa99de3
|
|
BLAKE2b-256 |
3c380af8e84534c2246d00a68d4b0b2ff4a7fd0b3d06c3e70e12a982696cabfc
|