Skip to main content

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 → entry
  • byName: baseName → entries[]
  • byOwnerAndName: “ownerKey:name” → entry
  • Registry-specific indexes (byUri, byId, etc.)

Change Events

All registries emit change events:
Subscribe to changes:

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

Lookup methods vary by registry — see the per-registry reference for exact signatures:

Capabilities

Subscriptions

Owner Tracking

Each entry tracks its owner:
Owners are used for:
  • Qualified name generation
  • Lineage tracking
  • Access control

Lineage System

Entries track their lineage (chain of owners):
Used for:
  • Generating qualified names
  • Preventing double-prefixing
  • Debugging ownership