n8n-io/n8n · error · UserError
MCP server "${server.name}": URL blocked by SSRF policy - ${
Error message
MCP server "${server.name}": URL blocked by SSRF policy - ${result.error.message} What it means
Error "MCP server "${server.name}": URL blocked by SSRF policy - ${result.error.message}" thrown in n8n-io/n8n.
Source
Thrown at packages/@n8n/instance-ai/src/mcp/mcp-client-manager.ts:244
if (!server.url) continue;
let parsed: URL;
try {
parsed = new URL(server.url);
} catch {
throw new UserError(`MCP server "${server.name}": invalid URL "${server.url}"`);
}
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
throw new UserError(
`MCP server "${server.name}": only http(s) URLs are allowed, got "${parsed.protocol}"`,
);
}
if (this.ssrfValidator) {
const result = await this.ssrfValidator.validateUrl(server.url);
if (!result.ok) {
throw new UserError(
`MCP server "${server.name}": URL blocked by SSRF policy - ${result.error.message}`,
);
}
}
}
}
private async connectAndListTools(
configs: McpServerConfig[],
clientKey: string,
requireApproval: boolean,
logger: Logger,
source: string,
): Promise<McpRegularToolsResult> {
const client = new McpClient(
buildNativeMcpConfigs(configs, requireApproval, this.options.onToolCallSettled),
);
this.clientsByKey.set(clientKey, client);View on GitHub (pinned to 5ac6606e81)
When it happens
Trigger: Thrown at packages/@n8n/instance-ai/src/mcp/mcp-client-manager.ts:244 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/1b8f6b1b99cd12db.
Report an issue: GitHub.