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.
npx agentmods add instructions/oaklight/toolregistry/agents-mdgit clone --depth 1 https://github.com/Oaklight/ToolRegistryWhat 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.
| Model | Per session | Once 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 |
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.
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 |
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.
- 2d ago First seen · 197 lines · 2,147 tokens per session scan A 5be746c6bbce
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.
Other instructions, from other repositories
intelligent-terminal rust.instructions.md
Concise Rust coding conventions for this repository.
Browser4 CLAUDE.md
Instructions for platonai/Browser4, covering browser4 — project context for claude, architecture, key dispatch chain (cli → browser), batch commands and e2e test structure.
crystal CLAUDE.md
Instructions for stravu/crystal, covering crystal - multi-session claude code manager, project overview, references, implementation status: ✅ complete and ✅ implemented features.
agent-ship CLAUDE.md
Instructions for Agent-Ship/agent-ship, covering claude.md, project overview, commands, docker development (recommended) and local development (no docker).
clawock AGENTS.md
Instructions for KCNyu/clawock, covering agents.md - your workspace, every session, kcn 偏好, git hook (one-time setup per clone) and git auto-commit rules.
agents CLAUDE.md
Instructions for eloylp/agents, covering claude.md, project overview, directory structure, config model and build & run.