Skip to main content

Overview

Validation errors are thrown when input parameters fail schema validation, when tool output doesn’t match the expected schema, when an HTTP method doesn’t match, or when a required prompt argument is missing.

Error Reference

InvalidInputError

Thrown when input parameters fail Zod schema validation. This is a public error — validation details are included in the response to help clients fix their requests.
PropertyTypeValue
codestringINVALID_INPUT
statusCodenumber400
isPublicbooleantrue
validationErrorsanyZod validation error details
new InvalidInputError(message?: string, validationErrors?: any)
Example:
import { InvalidInputError } from '@frontmcp/sdk';

throw new InvalidInputError('Validation failed', {
  field: 'email',
  reason: 'Invalid format',
});

InvalidOutputError

Thrown when a tool’s output does not match the declared output schema. This is an internal error — schema details are not exposed to clients.
PropertyTypeValue
codestringINVALID_OUTPUT
statusCodenumber500
isPublicbooleanfalse
new InvalidOutputError(errorId?: string)
If a custom errorId (e.g., a request ID) is provided, it is included in the public message for correlation. Otherwise, a generic message is returned. Example:
import { InvalidOutputError } from '@frontmcp/sdk';

throw new InvalidOutputError('req_abc123');
// Client sees: "Output validation failed. Please contact support with error ID: req_abc123"

InvalidMethodError

Thrown when a request uses the wrong HTTP method (e.g., GET instead of POST).
PropertyTypeValue
codestringINVALID_METHOD
statusCodenumber400
isPublicbooleantrue
new InvalidMethodError(method: string, expected: string)
Example:
import { InvalidMethodError } from '@frontmcp/sdk';

throw new InvalidMethodError('GET', 'POST');
// "Invalid method "GET". Expected "POST""

MissingPromptArgumentError

Thrown when a required prompt argument is not provided by the caller.
PropertyTypeValue
codestringMISSING_PROMPT_ARGUMENT
statusCodenumber400
isPublicbooleantrue
new MissingPromptArgumentError(argName: string)
Example:
import { MissingPromptArgumentError } from '@frontmcp/sdk';

throw new MissingPromptArgumentError('topic');
// "Missing required argument: topic"