Registry errors are thrown by the FrontMCP registry system — the internal data structure that tracks tools, resources, prompts, flows, hooks, and other entries. All registry errors are internal errors.
Thrown when a registry definition is not found by its token.
Property
Type
Value
code
string
REGISTRY_DEFINITION_NOT_FOUND
statusCode
number
500
isPublic
boolean
false
new RegistryDefinitionNotFoundError(registryName: string, tokenName: string)
Example:
import { RegistryDefinitionNotFoundError } from '@frontmcp/sdk';throw new RegistryDefinitionNotFoundError('ToolRegistry', 'my_tool');// "[ToolRegistry] Definition not found for token "my_tool""
Thrown when an entity references a dependency that is not registered.
Property
Type
Value
code
string
REGISTRY_DEPENDENCY_NOT_REGISTERED
statusCode
number
500
isPublic
boolean
false
new RegistryDependencyNotRegisteredError(entityType: string, tokenName: string, depName: string)
Example:
import { RegistryDependencyNotRegisteredError } from '@frontmcp/sdk';throw new RegistryDependencyNotRegisteredError('Tool', 'my_tool', 'DatabaseService');// "Tool "my_tool" depends on "DatabaseService", which is not registered"
Thrown when name disambiguation exceeds the maximum number of attempts.
Property
Type
Value
code
string
NAME_DISAMBIGUATION_FAILED
statusCode
number
500
isPublic
boolean
false
new NameDisambiguationError(candidate: string, maxAttempts: number)
Example:
import { NameDisambiguationError } from '@frontmcp/sdk';throw new NameDisambiguationError('my_tool', 100);// "Failed to disambiguate name "my_tool" after 100 attempts"
Thrown when a flow is not found in the flow registry.
Property
Type
Value
code
string
FLOW_NOT_REGISTERED
statusCode
number
500
isPublic
boolean
false
new FlowNotRegisteredError(flowName: string)
Example:
import { FlowNotRegisteredError } from '@frontmcp/sdk';throw new FlowNotRegisteredError('tools:call-tool');// "Flow "tools:call-tool" is not registered"
Thrown when a hook is registered with a flow that is not supported by the entry type (e.g., a tool hook on a resource class).
Property
Type
Value
code
string
INVALID_HOOK_FLOW
statusCode
number
500
isPublic
boolean
false
new InvalidHookFlowError(message: string)
Example:
import { InvalidHookFlowError } from '@frontmcp/sdk';throw new InvalidHookFlowError('Resource "MyResource" has hooks for unsupported flows: tools:call-tool');