21 lines
721 B
Python
21 lines
721 B
Python
"""
|
|
Custom exceptions for PAL MCP tools.
|
|
|
|
These exceptions allow tools to signal protocol-level errors that should be surfaced
|
|
to MCP clients using the `isError` flag on `CallToolResult`. Raising one of these
|
|
exceptions ensures the low-level server adapter marks the result as an error while
|
|
preserving the structured payload we pass through the exception message.
|
|
"""
|
|
|
|
|
|
class ToolExecutionError(RuntimeError):
|
|
"""Raised to indicate a tool-level failure that must set `isError=True`."""
|
|
|
|
def __init__(self, payload: str):
|
|
"""
|
|
Args:
|
|
payload: Serialized error payload (typically JSON) to return to the client.
|
|
"""
|
|
super().__init__(payload)
|
|
self.payload = payload
|