Overview
Tool and prompt errors are thrown when a tool or prompt cannot be found or when execution fails. Not-found errors are public and safe to expose to clients, while execution errors are internal and hide implementation details.
Error Reference
Thrown when a requested tool is not registered in the server.
| Property | Type | Value |
|---|
code | string | TOOL_NOT_FOUND |
statusCode | number | 404 |
isPublic | boolean | true |
new ToolNotFoundError(toolName: string)
Example:
import { ToolNotFoundError } from '@frontmcp/sdk';
const tool = registry.get(name);
if (!tool) {
throw new ToolNotFoundError(name);
}
Thrown when a tool’s execute() method throws an unexpected error. This is an internal error — the original error details are hidden from clients.
| Property | Type | Value |
|---|
code | string | TOOL_EXECUTION_ERROR |
statusCode | number | 500 |
isPublic | boolean | false |
originalError | Error | undefined | The underlying cause |
new ToolExecutionError(toolName: string, originalError?: Error)
Example:
import { ToolExecutionError } from '@frontmcp/sdk';
try {
await tool.execute(input);
} catch (error) {
throw new ToolExecutionError('my_tool', error);
}
ToolExecutionError extends InternalMcpError. Clients receive a generic message with an errorId for support correlation, not the original stack trace.
PromptNotFoundError
Thrown when a requested prompt is not registered in the server.
| Property | Type | Value |
|---|
code | string | PROMPT_NOT_FOUND |
statusCode | number | 404 |
isPublic | boolean | true |
new PromptNotFoundError(promptName: string)
Example:
import { PromptNotFoundError } from '@frontmcp/sdk';
throw new PromptNotFoundError('summarize');
// "Prompt not found: summarize"
PromptExecutionError
Thrown when a prompt’s execute() method throws an unexpected error. This is an internal error.
| Property | Type | Value |
|---|
code | string | PROMPT_EXECUTION_FAILED |
statusCode | number | 500 |
isPublic | boolean | false |
promptName | string | The prompt that failed |
originalError | Error | undefined | The underlying cause |
new PromptExecutionError(promptName: string, cause?: Error)
Example:
import { PromptExecutionError } from '@frontmcp/sdk';
try {
await prompt.execute(args);
} catch (error) {
throw new PromptExecutionError('summarize', error);
}