diff --git a/apps/gateway/src/lib/create-http-response-from-mcp-tool-call-response.ts b/apps/gateway/src/lib/create-http-response-from-mcp-tool-call-response.ts index 522cdca2..2715d254 100644 --- a/apps/gateway/src/lib/create-http-response-from-mcp-tool-call-response.ts +++ b/apps/gateway/src/lib/create-http-response-from-mcp-tool-call-response.ts @@ -5,7 +5,7 @@ import type { GatewayHonoContext, McpToolCallResponse } from './types' import { cfValidateJsonSchemaObject } from './cf-validate-json-schema-object' export async function createHttpResponseFromMcpToolCallResponse( - ctx: GatewayHonoContext, + _ctx: GatewayHonoContext, { tool, deployment, @@ -21,6 +21,11 @@ export async function createHttpResponseFromMcpToolCallResponse( 500, `Internal logic error for origin adapter type "${deployment.originAdapter.type}"` ) + assert( + !toolCallResponse.isError, + 502, + `MCP tool "${tool.name}" returned an error.` + ) if (tool.outputSchema) { assert( diff --git a/readme.md b/readme.md index f8547250..5aff8857 100644 --- a/readme.md +++ b/readme.md @@ -35,6 +35,7 @@ - MCP origin server support - add support for custom headers on responses - how to handle binary bodies and responses? +- add requestId to all JSON error responses ## TODO Post-MVP