1. Conduid
  2. AI
  3. Toolregistry
MCP server · AI

Toolregistry

ToolRegistry: A Protocol-Agnostic Tool Management Library for Function-Calling LLMs (OpenAI, Anthropic, Gemini, LangChain, MCP)

61Good

Scored 6 hours ago · breakdown

About Toolregistry

Toolregistry is an MCP server published by Oaklight in the AI category: toolRegistry: A Protocol-Agnostic Tool Management Library for Function-Calling LLMs (OpenAI, Anthropic, Gemini, LangChain, MCP).

The repository has 66 stars and 9 forks, with the last commit 2 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/Oaklight/ToolRegistry

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Toolregistry

Powered by Claude · Grounded in docs

I know everything about Toolregistry. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 6 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.18.1v0.18.1 · 16 Sep 2026Fixed Admin panel reverse proxy support** — `API_BASE` now uses the full page URL instead of just the origin, so the admin panel works correctly when served behind a reverse proxy at a sub-path (e.g. `/admin/openapi/`). Previously, API…
v0.18.0v0.18.0 · 15 Sep 2026Highlights `call_deferred` proxy tool** — invoke deferred tools by name at runtime, enabling lazy tool loading for registries with many tools Frozen dataclasses** — `Tool` and `ToolMetadata` are now immutable (`frozen=True`), preventing…
v0.17.0v0.17.0 · 10 Sep 2026What's Changed chore(vendor): update httpclient 0.4.5→0.4.7, httpserver 0.2.1→0.3.0 by @Oaklight in https://github.com/Oaklight/ToolRegistry/pull/242 feat: emit additionalProperties for **kwargs functions by @Oaklight in…
v0.16.0v0.16.0 · 25 Aug 2026What's New Admin Execution Log Warnings (#237) Tool execution warnings (`logger.warning()`) are now captured and surfaced in the admin dashboard's execution log. Previously, intermediate warnings during successful tool calls were only…
v0.15.0v0.15.0 · 6 Aug 2026What's Changed fix: sanitize Pydantic v2 artifacts (anyOf, nullable, title) from get_schema() output by @clementine-oaklight[bot] in https://github.com/Oaklight/ToolRegistry/pull/216 fix: shared AsyncRuntime for sync→async bridging (#217)…

README

ToolRegistry

PyPI version GitHub release CI arXiv

English Version | 中文版

A protocol-agnostic tool management library for function-calling LLMs.

Documentation · arXiv Paper

Ecosystem

Package Description PyPI Docs
toolregistry Core library — tool registration, schema generation, execution PyPI Docs
toolregistry-server Server adapters — expose tools via OpenAPI & MCP PyPI Docs
toolregistry-hub Ready-to-use tools — calculator, web search, file ops, etc. PyPI Docs
toolregistry (core)
       ↓
toolregistry-server (tool server)
       ↓
toolregistry-hub (tool collection + server config)

Features

  • Protocol-agnostic — register tools from native Python functions/classes, MCP servers, OpenAPI specs, or LangChain tools through a unified interface
  • Multi-provider schemas — generate tool schemas for OpenAI, Anthropic, and Gemini via llm-rosetta
  • Concurrent execution — thread and process pool backends with per-tool timeout and concurrency control
  • Permission system — tag-based policies (READ_ONLY, DESTRUCTIVE, NETWORK, etc.) with allow/deny/ask rules
  • Tool metadata & tags — classify tools with ToolTag, ToolMetadata, namespace support, and source tracking
  • Admin panel — built-in Web UI for monitoring tools, permissions, and runtime config (i18n: EN/ZH)
  • Think-augmented calling — inject chain-of-thought reasoning into tool calls (arXiv:2601.18282)
  • Declarative config — load tool sources from JSONC/YAML config files
  • Zero-dependency core — HTTP client, YAML parser, JSON Schema resolver all vendored; only pydantic and llm-rosetta as runtime deps

Quick Start

from toolregistry import ToolRegistry

registry = ToolRegistry()

@registry.register
def add(a: float, b: float) -> float:
    """Add two numbers together."""
    return a + b

# Use with any LLM provider
schemas = registry.get_schemas(api_format="openai-chat")  # or "anthropic", "gemini"
result = registry["add"](1, 2)  # 3.0

See the Usage Guide for MCP, OpenAPI, LangChain integrations and more.

Installation

Requires Python >= 3.10.

pip install toolregistry                   # core
pip install toolregistry[mcp]              # + MCP support
pip install toolregistry[langchain]        # + LangChain support
pip install toolregistry-hub               # ready-to-use tools (separate package)

Citation

@software{toolregistry2025,
  title={ToolRegistry: A Protocol-Agnostic Tool Management Library for OpenAI-Compatible LLM Applications},
  author={Peng Ding},
  year={2025},
  url={https://github.com/Oaklight/ToolRegistry},
  note={A Python library for unified tool registration, execution, and management across multiple protocols in OpenAI-compatible LLM applications}
}

@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}
}

License

MIT — see LICENSE for details.

README fetched from the repository 6 hours ago. The original is authoritative.

Questions

About Toolregistry

How do I install Toolregistry?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Toolregistry safe to use with an AI agent?

Its trust score is 61 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Toolregistry still maintained?

Yes — the latest release is v0.18.1 (16 Sep 2026), and the last commit was 2 days ago. The repository has 66 stars and 20 open issues.