From 7175ee0e1dd6fe8c67d54761dbfd140287c07de7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20L=C3=BCdemann?= Date: Thu, 26 Feb 2026 12:25:43 +0100 Subject: [PATCH] fix(mcp): detect non-standard OAuth errors from servers returning HTTP 400 --- packages/api/src/mcp/MCPConnectionFactory.ts | 4 ++++ packages/api/src/mcp/connection.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/api/src/mcp/MCPConnectionFactory.ts b/packages/api/src/mcp/MCPConnectionFactory.ts index a8f631614d..bad0c9ae73 100644 --- a/packages/api/src/mcp/MCPConnectionFactory.ts +++ b/packages/api/src/mcp/MCPConnectionFactory.ts @@ -455,6 +455,10 @@ export class MCPConnectionFactory { if (message.includes('authentication required') || message.includes('unauthorized')) { return true; } + // Check for missing authorization values (e.g., Amazon Ads MCP returns HTTP 400 with this) + if (message.includes('no authorization')) { + return true; + } } return false; diff --git a/packages/api/src/mcp/connection.ts b/packages/api/src/mcp/connection.ts index 5744059708..5a3a5fb32c 100644 --- a/packages/api/src/mcp/connection.ts +++ b/packages/api/src/mcp/connection.ts @@ -1131,6 +1131,10 @@ export class MCPConnection extends EventEmitter { if (message.includes('authentication required') || message.includes('unauthorized')) { return true; } + // Check for missing authorization values (e.g., Amazon Ads MCP returns HTTP 400 with this) + if (message.includes('no authorization')) { + return true; + } } return false;