diff --git a/src/main/services/MCPService.ts b/src/main/services/MCPService.ts index aa41751595..88d19d03f0 100644 --- a/src/main/services/MCPService.ts +++ b/src/main/services/MCPService.ts @@ -162,7 +162,23 @@ class McpService { } else if (server.type === 'sse') { const options: SSEClientTransportOptions = { eventSourceInit: { - fetch: (url, init) => fetch(url, { ...init, headers: server.headers || {} }) + fetch: async (url, init) => { + const headers = { ...(server.headers || {}), ...(init?.headers || {}) } + + // Get tokens from authProvider to make sure using the latest tokens + if (authProvider && typeof authProvider.tokens === 'function') { + try { + const tokens = await authProvider.tokens() + if (tokens && tokens.access_token) { + headers['Authorization'] = `Bearer ${tokens.access_token}` + } + } catch (error) { + Logger.error('Failed to fetch tokens:', error) + } + } + + return fetch(url, { ...init, headers }) + } }, requestInit: { headers: server.headers || {}