Skip to content

Protocol-agnostic tools for LLM apps

Unified management for heterogeneous tools.

Register, describe, discover, execute, and return results for native Python, MCP, OpenAPI, and future tool sources — with schema adapters for OpenAI-, Anthropic-, and Gemini-compatible APIs.

PyPI version CI License: MIT arXiv

Quick Start Function Calling Explore Ecosystem

Pick your path

Build with Python

Register normal Python callables and execute them with validation, logging, permissions, and concurrency controls.

Start here →

Connect LLM providers

Generate schemas and recover tool calls across OpenAI, Anthropic, Gemini, and OpenAI-compatible APIs.

Function calling →

Bring external tools

Import tools from MCP servers, OpenAPI specs, native Python classes, and future source adapters.

Integrations →

Serve a registry

Expose the same registry as OpenAPI or MCP with toolregistry-server, or use curated tools from toolregistry-hub.

Architecture →

Install

pip install toolregistry

Need MCP/OpenAPI integrations?

pip install "toolregistry[mcp,openapi]"

Ecosystem

Package Use it when you need
toolregistry Core registration, schema generation, execution, permissions, and metadata
toolregistry-server Serve registries as OpenAPI or MCP services
toolregistry-hub Ready-to-use tools for search, fetch, datetime, unit conversion, and more

Cite

@article{ding2025toolregistry,
  title={Toolregistry: A protocol-agnostic tool management library for function-calling llms},
  author={Ding, Peng and Stevens, Rick},
  journal={arXiv preprint arXiv:2507.10593},
  year={2025}
}