I’ve been working on ToolRegistry, a Python library for registering, managing, and invoking tools—from local functions to MCP/OpenAPI endpoints—in a structured, composable way.
With ToolRegistry, you can:
* Register Python functions, classes, or external tools.
* Auto-generate JSON Schemas for parameters.
* Run tools synchronously or asynchronously in parallel.
* Integrate tools over STDIO, HTTP, WebSocket, or SSE via Model Context Protocol (MCP).
* Experimental support for OpenAPI services
* Compose tools dynamically and reconstruct tool output messages.
The goal is to make it easier to build apps, agents, or systems that coordinate multiple tools flexibly—without getting bogged down in glue code.
Oaklight•5h ago
I’ve been working on ToolRegistry, a Python library for registering, managing, and invoking tools—from local functions to MCP/OpenAPI endpoints—in a structured, composable way.
With ToolRegistry, you can:
* Register Python functions, classes, or external tools. * Auto-generate JSON Schemas for parameters. * Run tools synchronously or asynchronously in parallel. * Integrate tools over STDIO, HTTP, WebSocket, or SSE via Model Context Protocol (MCP). * Experimental support for OpenAPI services * Compose tools dynamically and reconstruct tool output messages.
The goal is to make it easier to build apps, agents, or systems that coordinate multiple tools flexibly—without getting bogged down in glue code.
GitHub: [https://github.com/Oaklight/ToolRegistry](https://github.com/Oaklight/ToolRegistry) PyPI: [https://pypi.org/project/toolregistry/](https://pypi.org/project/toolregistry/) Docs: [https://toolregistry.lab.oaklight.cn](https://toolregistry.lab.oaklight.cn)
Would love feedback—ideas, issues, or use cases welcome!
Thanks for checking it out.