ToolRegistry AGENTS.md

A guide for ToolRegistry, a library that registers and runs tools for AI models across providers such as OpenAI, Anthropic, and Gemini. It also connects tools from standards including MCP, OpenAPI, and LangChain.

In plain words
What is it for?
Use it when modifying tool registration, schemas, enabling or disabling tools, provider integrations, or the shared library used by ToolRegistry’s server and hub packages.
Why use it?
It explains the library’s role in a larger package ecosystem and how its mixins divide responsibilities, making changes easier to place safely.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/oaklight/toolregistry/agents-md
Clone the repo
git clone --depth 1 https://github.com/Oaklight/ToolRegistry

Made for: Codex, OpenCode.

Per session 2,147 This file is loaded in full into every session.
When invoked 2,147 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02147 $0.02147
Opus 5 $0.01073 $0.01073
Sonnet 5 $0.00429 $0.00429
Haiku 4.5 $0.00215 $0.00215

Measured 2d ago against content hash 5be746c6bbce, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ToolRegistry AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 197 lines

How it starts

The opening of the file, as written. The whole thing — 197 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md — ToolRegistry

Context file for AI coding assistants. Symlinked as CLAUDE.md.

What this project is

ToolRegistry is a protocol-agnostic tool management library for function-calling LLMs. It unifies tool registration, schema generation, and execution across multiple LLM providers (OpenAI, Anthropic, Gemini) and external ecosystems (MCP, OpenAPI, LangChain).

This is the core package in a three-package ecosystem:

Package Role Depends on
toolregistry (this) Core library: Tool model, ToolRegistry, client integrations
toolregistry-server Server infrastructure: RouteTable, OpenAPI/MCP adapters, auth, CLI toolregistry
toolregistry-hub Tool implementations + default server configuration toolregistry-server

Downstream packages are notified on release via notify-downstream.yml.

Architecture

ToolRegistry is organized around a central ToolRegistry class composed of 7 orthogonal mixins:

Mixin File Responsibility
RegistrationMixin _mixins/registration.py Register/unregister tools from functions, classes, MCP, OpenAPI
EnableDisableMixin _mixins/enable_disable.py Enable/disable tools, track reasons, metadata updates
NamespaceMixin _mixins/namespace.py Namespace prefixing, merge, spinoff sub-registries
PermissionsMixin _mixins/permissions.py Tag-based permission policies, sync/async handlers
ExecutionLoggingMixin _mixins/logging.py In-memory call history (name, args, result, duration)
AdminMixin _mixins/admin.py Web admin panel lifecycle
ChangeCallbackMixin _mixins/callbacks.py Event subscriptions (register, enable, error, etc.)

Key standalone modules:

Module Purpose
tool.py Tool, ToolMetadata, ToolTag, TOOLCALL_REASON_PROPERTY
tool_discovery.py BM25-based fuzzy tool search (ToolDiscoveryTool)
parameter_models.py JSON Schema generation from Python signatures
_rosetta.py Multi-provider schema bridge (via llm-rosetta)
truncation.py Result truncation with temp file persistence
admin/ HTTP server, REST handlers, execution log, auth, static assets
executor/ Thread/process pool execution backends
permissions/ Policy engine, handler protocol, built-in rules
config/ Declarative JSONC/YAML config loader
integrations/ Native, MCP, OpenAPI, LangChain integration packages

Read the full file on GitHub · 197 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 197 lines · 2,147 tokens per session scan A 5be746c6bbce

Subscribe to this mod's changes

ToolRegistry AGENTS.md is an instructions file published in the GitHub repository Oaklight/ToolRegistry (60 stars, last pushed 7d ago), licensed MIT. It adds 2,147 tokens to every session, about $0.0107 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.