From 7ed87f7eb377bc140159cf480565c6e32c588e43 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 18:44:28 +0000 Subject: [PATCH] Fix NotFoundError handling in ErrorHandlingMiddleware Add NotFoundError to the list of exceptions that map to MCP Resource not found error (code -32001) instead of Internal error (code -32603). Co-authored-by: Jeremiah Lowin --- src/fastmcp/server/middleware/error_handling.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fastmcp/server/middleware/error_handling.py b/src/fastmcp/server/middleware/error_handling.py index 0a71a24ea..176240584 100644 --- a/src/fastmcp/server/middleware/error_handling.py +++ b/src/fastmcp/server/middleware/error_handling.py @@ -9,6 +9,8 @@ from typing import Any from mcp import McpError from mcp.types import ErrorData +from fastmcp.exceptions import NotFoundError + from .middleware import CallNext, Middleware, MiddlewareContext @@ -90,7 +92,7 @@ class ErrorHandlingMiddleware(Middleware): return McpError( ErrorData(code=-32602, message=f"Invalid params: {str(error)}") ) - elif error_type in (FileNotFoundError, KeyError): + elif error_type in (FileNotFoundError, KeyError, NotFoundError): return McpError( ErrorData(code=-32001, message=f"Resource not found: {str(error)}") )