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.1.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

jupyter_server_ai_tools-0.1.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_server_ai_tools-0.1.1.tar.gz.

File metadata

  • Download URL: jupyter_server_ai_tools-0.1.1.tar.gz
  • Upload date:
  • Size: 11.2 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.1.tar.gz
Algorithm Hash digest
SHA256 91a9b05fb6da9c14ddbb536d6141b79b02d7516ee7b22b336dcdc3c76364efb8
MD5 efcf14382f8f90cf8848cbb2c6de9338
BLAKE2b-256 d803fec1ffc0c0271c750496a2b05b3c71e7c121fb0ecb29c75d8a6705a75850

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jupyter_server_ai_tools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3547c9105db8b9486abed8357b19860bcd92fac2d72c43ded1c4f6fefaacfbaa
MD5 16ad97c795936c531d29a2524c1a5134
BLAKE2b-256 9e533efd98d6ca9dd05f325ebde2937372f6378348f05429cf64768f192e4995

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