Skip to main content

No project description provided

Project description

🧠 jupyter-server-ai-tools

CI

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

jupyter_server_ai_tools-0.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

jupyter_server_ai_tools-0.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

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

Hashes for jupyter_server_ai_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 16a79349dcc5cf7c6adafdd6fee9fd7f2071304f1e887b83ce5b99fb810a1643
MD5 e97dfae70ee1c4926df07695d1374bc5
BLAKE2b-256 f42e9bc6f8dab389eea86c28a3365091c02bae9659da6baf4b84ac61682dd4fc

See more details on using hashes here.

File details

Details for the file jupyter_server_ai_tools-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyter_server_ai_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac2509c30dad39d4a0fd512385b7d09d10bd54b616c12864d6386bf9fab39c5b
MD5 5f79b5bbd39d73bbc5d70903eaa99de3
BLAKE2b-256 3c380af8e84534c2246d00a68d4b0b2ff4a7fd0b3d06c3e70e12a982696cabfc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page