Available Registries
ToolRegistry
Manage MCP tools
ResourceRegistry
Manage resources and templates
PromptRegistry
Manage prompts
AgentRegistry
Manage agents
SkillRegistry
Manage skills
PluginRegistry
Manage plugins
HookRegistry
Manage flow hooks
ProviderRegistry
Manage DI providers
AuthRegistry
Manage auth providers
JobRegistry
Manage jobs
WorkflowRegistry
Manage workflows
Common Patterns
Lifecycle
All registries follow this lifecycle:Indexing
Registries maintain indexes for O(1) lookups:byQualifiedId: qualifiedId → entrybyName: baseName → entries[]byOwnerAndName: “ownerKey:name” → entry- Registry-specific indexes (byUri, byId, etc.)
Change Events
All registries emit change events:Adoption
Registries adopt entries from child registries:- References are shared (not cloned)
- Lineage tracking for qualified names
- Live updates via subscriptions
Export Name Resolution
Registries generate unique export names to avoid conflicts:Capabilities
Registries expose MCP capabilities:Accessing Registries
From Context Classes
From Scope
Common Methods
Most registries share these methods:Listing
Finding
Capabilities
Subscriptions
Owner Tracking
Each entry tracks its owner:- Qualified name generation
- Lineage tracking
- Access control
Lineage System
Entries track their lineage (chain of owners):- Generating qualified names
- Preventing double-prefixing
- Debugging ownership