You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 13, 2026. It is now read-only.
When using a Custom MCP tool inside an Agent/AgentFlow, initializing the tool can fail with:
Error in Agent node: Invalid MCP Server Config: Error: URL is required for SSE transport
What the code path does
In flowise-components/dist/nodes/tools/MCP/CustomMCP/CustomMCP.js, getTools() parses the mcpServerConfig JSON and always constructs the toolkit with the 'sse' transport type unless CUSTOM_MCP_PROTOCOL === 'stdio'and the config has a command:
In core.jsMCPToolkit.createClient(), the non-stdio branch throws when the config has no url:
if(this.serverParams.url===undefined){thrownewError('URL is required for SSE transport');}
The Custom MCP node's own UI placeholder defaults to the stdio shape ({"command": "npx", "args": [...]}), while the runtime default transport is SSE — so a config that omits url (or was authored from the stdio example) produces this confusing error instead of a clear "add a url key for remote servers, or set CUSTOM_MCP_PROTOCOL=stdio for stdio servers".
Questions / possible issues
Error UX: URL is required for SSE transport gives no hint about which config key to add or that CUSTOM_MCP_PROTOCOL=stdio is the alternative. A message like "serverParams.url is required for remote (SSE/streamable HTTP) servers; for stdio servers set CUSTOM_MCP_PROTOCOL=stdio and provide command/args" would save users real time.
UI flow (needs confirmation): the "Custom MCP Server" option in the UI — does the selection flow always include a url in the generated mcpServerConfig? If a user picks that option but the config produced/edited lacks url, the above error fires at Agent runtime. If the UI can produce a config without url, that's a UI bug; if it's purely a pasted-config shape issue, the improved error message covers it.
Repro
Add a Custom MCP node with {"command": "npx", "args": ["-y", "some-server"]} (no url, no CUSTOM_MCP_PROTOCOL env).
Summary
When using a Custom MCP tool inside an Agent/AgentFlow, initializing the tool can fail with:
What the code path does
In
flowise-components/dist/nodes/tools/MCP/CustomMCP/CustomMCP.js,getTools()parses themcpServerConfigJSON and always constructs the toolkit with the'sse'transport type unlessCUSTOM_MCP_PROTOCOL === 'stdio'and the config has acommand:In
core.jsMCPToolkit.createClient(), the non-stdio branch throws when the config has nourl:The Custom MCP node's own UI placeholder defaults to the stdio shape (
{"command": "npx", "args": [...]}), while the runtime default transport is SSE — so a config that omitsurl(or was authored from the stdio example) produces this confusing error instead of a clear "add aurlkey for remote servers, or set CUSTOM_MCP_PROTOCOL=stdio for stdio servers".Questions / possible issues
URL is required for SSE transportgives no hint about which config key to add or thatCUSTOM_MCP_PROTOCOL=stdiois the alternative. A message like "serverParams.url is required for remote (SSE/streamable HTTP) servers; for stdio servers set CUSTOM_MCP_PROTOCOL=stdio and providecommand/args" would save users real time.urlin the generatedmcpServerConfig? If a user picks that option but the config produced/edited lacksurl, the above error fires at Agent runtime. If the UI can produce a config withouturl, that's a UI bug; if it's purely a pasted-config shape issue, the improved error message covers it.Repro
{"command": "npx", "args": ["-y", "some-server"]}(nourl, noCUSTOM_MCP_PROTOCOLenv).Environment