{"record":{"id":"b510e3f6fc4c64e9","repo":"Kong/insomnia","slug":"mcp-server-url-is-required","errorCode":null,"errorMessage":"MCP server url is required","messagePattern":"MCP server url is required","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/insomnia/src/main/mcp/transport-streamable-http.ts","lineNumber":30,"sourceCode":"import type { Dispatcher } from 'undici';\n\nimport { type ConnectionContext, getFetchDispatcher, writeEventLogAndNotify, writeTimeline } from '~/main/mcp/common';\nimport { MCPAuthError, type McpOAuthClientProvider } from '~/main/mcp/oauth-client-provider';\nimport type { McpAuthEventWithoutBase, OpenMcpHTTPClientConnectionOptions } from '~/main/mcp/types';\n\n// Extend undici RequestInit to include dispatcher, it's in node.js fetch but not in dom fetch.\ninterface NodeRequestInit extends RequestInit {\n  dispatcher?: Dispatcher;\n}\n\nexport const createStreamableHTTPTransport = async (\n  context: ConnectionContext,\n  options: OpenMcpHTTPClientConnectionOptions,\n  authProvider: McpOAuthClientProvider,\n) => {\n  const { url, headers } = options;\n  if (!url) {\n    throw new Error('MCP server url is required');\n  }\n\n  const reduceArrayToLowerCaseKeyedDictionary = (acc: Record<string, string>, { name, value }: RequestHeader) => ({\n    ...acc,\n    [name.toLowerCase() || '']: value || '',\n  });\n  const lowerCasedEnabledHeaders = headers\n    .filter(({ name, disabled }) => Boolean(name) && !disabled)\n    .reduce(reduceArrayToLowerCaseKeyedDictionary, {});\n\n  const mcpServerUrl = new URL(url);\n  const transport = new StreamableHTTPClientTransport(mcpServerUrl, {\n    requestInit: {\n      headers: lowerCasedEnabledHeaders,\n    },\n    fetch: (url, init) => wrappedFetch(url, init || {}, context, authProvider),\n    reconnectionOptions: {\n      maxReconnectionDelay: 30_000,","sourceCodeStart":12,"sourceCodeEnd":48,"githubUrl":"https://github.com/Kong/insomnia/blob/d9bb2b0142600f21309832daea3317942d285984/packages/insomnia/src/main/mcp/transport-streamable-http.ts#L12-L48","documentation":"Error \"MCP server url is required\" thrown in Kong/insomnia.","triggerScenarios":"Thrown at packages/insomnia/src/main/mcp/transport-streamable-http.ts:30 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d9bb2b0142600f21309832daea3317942d285984","analyzedAt":"2026-08-26T18:04:05.187Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}