Skip to main content

Module registry

Module registry 

Source
Expand description

The tool registry: one registry serving the root agent, workflow steps and subagents, with three tiers and dispatch precedence internal > code > MCP. Every tool carries JSON Schemas for input and output and a grant (who may call it). Internal tools are contracts with a built-in implementation by default, overridable by a mapped MCP tool (tools.overrides) and disable-able (tools.disabled); mapping-only contracts (code.run, knowledge.*, search.*) are unavailable until mapped (or until a server advertises the profile’s tool names).

The registry knows what a tool is and where it goes (Route); the runtime executes built-ins (they mutate runtime state), the turn worker calls MCP tools itself, and mapped tools are executed by whoever holds the server connection (Registry::map_args / Registry::map_result).

Modules§

internal
The internal tool contracts: name, description, input and output JSON Schemas, whether a built-in implementation exists (mapping-only contracts are code.run, knowledge.*, search.*), and the default grants.

Structs§

Grant
Who may call a tool. These flags gate the INTERNAL tools — the ones that reach agentd’s own state — so a caller they do not name is refused. Code and MCP tools are not gated by them: an operator who wired a server in has already made that decision, and a subagent narrowed by an explicit allow list is held to that list instead.
Mapping
An override mapping: which server’s tool stands in for an internal contract, plus the optional argument and result transforms that reconcile the two shapes. Both transforms are compiled at startup, so a mapping that cannot be applied is a config error rather than a call-time surprise.
Registry
The registry.
ServerTools
A connected MCP server’s advertised tools (input to Registry::build).
ToolSpec
One registered tool.

Enums§

Caller
The caller asking for definitions / permission.
Impl
How a tool is implemented.
Route
Where a call goes.
ToolClass
The tier a tool belongs to.

Functions§

pattern_matches
memory.* / workflow.run / * style pattern match.