使用N8N MCP Server时提前收到取消响应,如何防止连接超时?
解决Github Copilot Agent连接N8N MCP Server提前取消响应的问题
调整VS Code端超时配置
- 在VS Code设置中搜索Copilot Agent相关超时参数,找到
github.copilot.agent.timeout(若存在),将默认值(通常30000毫秒)调整为更大数值,比如120000毫秒(2分钟)。 - 若通过
settings.json修改,添加或更新配置:"github.copilot.agent.timeout": 120000 - 同步检查VS Code代理超时设置,将
http.proxyTimeout也适当调大,避免代理层提前断开连接。
配置N8N MCP Server的超时参数
- 修改N8N MCP Server的配置文件(
.env或config.js),调整服务端超时相关设置:- 环境变量方式(
.env文件):N8N_MCP_SERVER_TIMEOUT=120000 N8N_MCP_SERVER_KEEPALIVE_TIMEOUT=60000 - 配置文件方式:找到服务器超时配置项,将
timeout和keepAliveTimeout设置为对应数值,确保服务端不会主动中断未完成的请求。
- 环境变量方式(
- 修改完成后重启N8N MCP Server使配置生效。
启用TCP连接保活机制
- 在VS Code的
settings.json中启用TCP保活:"http.enableTCPKeepAlive": true, "http.tcpKeepAliveInitialDelay": 30000 - 在N8N MCP Server端(以Node.js环境为例),给服务器实例配置保活参数:
定期发送保活包,避免中间网络设备因长时间无数据传输断开连接。server.keepAliveTimeout = 60000; server.headersTimeout = 65000;
拆分长耗时任务
- 若服务器处理的任务耗时过长,将大任务拆分为多个小任务分批次请求。比如把10分钟的处理任务拆分为5个2分钟的子任务,每个子任务完成后再发起下一个请求,确保单次连接时长在超时阈值内。
- 在Copilot Agent的调用逻辑中添加任务拆分逻辑,适配短连接请求模式。
检查中间网络设备限制
- 确认本地路由器、防火墙的TCP连接超时设置,部分家用设备默认超时为5分钟,需调整为10分钟以上。
- 企业网络环境下,联系IT部门确认是否有网络设备限制长连接时长,必要时申请调整。
内容的提问来源于stack exchange,提问作者Gary Wasserman




