Optional ReadonlycauseOriginal error that caused this error
ReadonlycodeApplication-specific error code
Optional ReadonlycontextAdditional context for debugging
ReadonlyerrorUnique identifier for this error instance (for tracking/support)
ReadonlyitemThe name of the item
ReadonlyitemThe type of registry item (tool, resource, prompt)
ReadonlymcpMCP error code for JSON-RPC responses
Optional ReadonlyrecoveryRecovery hint for users - guidance on how to resolve the error
OptionalstackReadonlystatusHTTP status code for REST API responses
ReadonlytimestampTimestamp when the error occurred
StaticstackThe Error.stackTraceLimit property specifies the number of stack frames
collected by a stack trace (whether generated by new Error().stack or
Error.captureStackTrace(obj)).
The default value is 10 but may be set to any valid JavaScript number. Changes
will affect any stack trace captured after the value has been changed.
If set to a non-number value, or set to a negative number, stack traces will not capture any frames.
Create a human-readable error message including cause chain.
Detailed error string with cause chain
Serialize error for logging or API response. Excludes stack trace in production for security.
Serialized error object
StaticcaptureCreates a .stack property on targetObject, which when accessed returns
a string representing the location in the code at which
Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`
The first line of the trace will be prefixed with
${myObject.name}: ${myObject.message}.
The optional constructorOpt argument accepts a function. If given, all frames
above constructorOpt, including constructorOpt, will be omitted from the
generated stack trace.
The constructorOpt argument is useful for hiding implementation
details of error generation from the user. For instance:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();
OptionalconstructorOpt: FunctionStaticduplicateCreate a RegistryError for a generic duplicate registration.
The type of item (e.g., 'Tool', 'Resource', 'Prompt')
The name of the item
StaticduplicateCreate a RegistryError for duplicate prompt registration.
StaticduplicateCreate a RegistryError for duplicate resource registration.
StaticduplicateStaticisType guard to check if an error is a AppError instance.
The error to check
True if error is a AppError
StaticisCheck if an error is a cancellation error. Handles both OperationCancelledError and native AbortError.
The error to check
True if error represents a cancellation
StaticprepareStaticpromptStaticresourceStatictoolStaticwrapWrap any error as a AppError. If already a AppError, returns it unchanged.
The error to wrap
Message to use if error has none
A AppError instance
StaticwrapCreate a AppError from an unknown error, preserving type if already AppError. Useful for catch blocks where you want to re-throw with additional context.
The error to wrap
Additional context to add
A AppError with merged context
Error for tool/resource registry operations.
Used when registering, unregistering, or looking up tools and resources fails.
Example