{
  "id": "c0f8b717-f01e-4d6d-8008-8a414255a3b6",
  "slug": "ref/khub/common-n8n-mcp-오류-진단-체크리스트-트러블슈팅",
  "doc_type": "ref",
  "title": "n8n MCP 오류 진단 체크리스트 & 트러블슈팅",
  "title_en": null,
  "one_liner": "# n8n MCP 오류 진단 체크리스트 ## MCP 서버 연결 실패 시 - [ ] 워크플로우가 Publish 상태인가? (Save만으로는 프로덕션 URL 비활성) - [ ] Production URL 사용 중인가? (/mcp/ 경로, -test 아님) - [ ] 인증 토큰이 클라이언트",
  "summary_bullets": [],
  "body_md": "# n8n MCP 오류 진단 체크리스트\n\n## MCP 서버 연결 실패 시\n- [ ] 워크플로우가 Publish 상태인가? (Save만으로는 프로덕션 URL 비활성)\n- [ ] Production URL 사용 중인가? (/mcp/ 경로, -test 아님)\n- [ ] 인증 토큰이 클라이언트-서버 간 일치하는가?\n- [ ] SSE 엔드포인트 테스트: curl -H \"Accept: text/event-stream\" <MCP_URL>/sse\n\n## MCP Tool 호출 무한 대기 시\n- [ ] Sub-workflow에 JavaScript Code 노드 포함? → Python 또는 내장 노드 대체 (GitHub #19902 버그)\n- [ ] Code 노드 로직 60초 이내 완료되는가? (Task Runner 타임아웃)\n- [ ] Sub-workflow 독립 실행 시 정상 완료되는가?\n- [ ] 전체 실행 시간 5분 이내? (MCP 하드 타임아웃)\n\n## 파라미터 에코백 (입력값만 그대로 반환)\n- [ ] Tool Code 노드에서 fetch() 사용 시도? → Cloud에서 불가. HTTP Request 노드 사용\n- [ ] Sub-workflow가 존재하고 Active 상태인가?\n- [ ] MCP Trigger의 Tool 연결이 올바른가? (노드 연결선 확인)\n\n## Supabase API 호출 실패\n- [ ] apikey + Authorization: Bearer 두 헤더 모두 설정?\n- [ ] Content-Type: application/json 포함?\n- [ ] RLS 정책이 해당 작업 허용? (빈 결과 = RLS 차단 가능)\n- [ ] 내장 Supabase 노드 대신 HTTP Request 노드 사용? (403 버그 #17020 우회)\n- [ ] service_role 키 만료/로테이션 확인\n\n## Webhook 프로덕션 URL 미작동\n- [ ] 워크플로우 Publish 확인 (v2에서 Save ≠ Publish)\n- [ ] URL에 -test 포함 여부 확인\n- [ ] 같은 path+method의 다른 워크플로우 충돌 확인\n\n## Code 노드 타임아웃 (\"Task request timed out after 60 seconds\")\n- [ ] 로직 경량화 (무거운 처리는 Sub-workflow 분리)\n- [ ] 대량 데이터는 Loop/SplitInBatches로 1건씩 처리\n- [ ] 외부 API 호출 시 HTTP Request 노드 사용 (Code 노드 내 HTTP 불가)\n\n## 워크플로우 Import/Export 시\n- [ ] 대상에 필요한 Credential 미리 생성\n- [ ] Credential 이름 일치 (ID가 아닌 이름 매핑)\n- [ ] v2 워크플로우를 v1에 임포트하면 실패\n- [ ] JSON에서 하드코딩된 API키/instanceId 제거\n\n## Cloud 워크플로우 조용한 실패\n- [ ] 메모리 제한 초과: Loop 1건씩 처리\n- [ ] Executions 탭에서 실행 기록 확인\n- [ ] 월별 실행 횟수 한도 확인 (Starter 2,500회)\n- [ ] Cloudflare 100초 타임아웃: Respond to Webhook → 비동기 처리\n\n## 핵심 GitHub Issues 추적\n- #19902: MCP + JS Code 노드 행 (Sub-workflow 사용 시)\n- #17020: Supabase 노드 403 (충돌 인증 헤더)\n- #17428: MCP Client SSE 핸들링\n- #16989: MCP 파라미터 전달 제한\n- #19882: 장기 가동 후 트리거 등록 실패\n\n## 커뮤니티 검증 MCP 템플릿\n- n8n.io/workflows/3641: MCP Supabase Agent (CRUD)\n- n8n.io/workflows/3675: MCP Supabase + RAG + Multi-Tenant\n- n8n.io/workflows/3638: Custom API MCP Server",
  "related_slugs": [],
  "faq": [],
  "jsonld": null,
  "keywords": [],
  "source_id": "b4dd4122-0d87-403b-982b-c2c2f3751726",
  "video_url": null,
  "duration_sec": null,
  "thumbnail_url": null,
  "image_url": null,
  "caption": null,
  "solution_slug": null,
  "captured_at": null,
  "width": null,
  "height": null,
  "created_at": "2026-08-24T11:53:44.5731+00:00",
  "updated_at": "2026-08-24T11:53:44.5731+00:00",
  "visibility": "public",
  "source_stage": "1",
  "anonymized": true,
  "source_key": "legacy-khub",
  "origin": "ingest",
  "locked": false,
  "locked_by": null,
  "locked_at": null,
  "gate_state": {
    "g1": {
      "hits": [],
      "pass": true
    },
    "g2": {
      "pass": true,
      "total": 35,
      "issues": [
        "숫자·규격 같은 검증 가능한 구체가 부족합니다",
        "핵심 요약 불릿이 3개 미만입니다",
        "Q&A 쌍이 3개 미만입니다"
      ],
      "applies": true
    },
    "g3": {
      "pass": true,
      "required": false
    },
    "stage": "1",
    "decided_at": "2026-08-24T11:53:44.334Z"
  },
  "raw_id": "a8d90d69-22f9-4ee9-ac02-c319c6e19634",
  "search_text": "n8n MCP 오류 진단 체크리스트 & 트러블슈팅  # n8n MCP 오류 진단 체크리스트 ## MCP 서버 연결 실패 시 - [ ] 워크플로우가 Publish 상태인가? (Save만으로는 프로덕션 URL 비활성) - [ ] Production URL 사용 중인가? (/mcp/ 경로, -test 아님) - [ ] 인증 토큰이 클라이언트  # n8n MCP 오류 진단 체크리스트\n\n## MCP 서버 연결 실패 시\n- [ ] 워크플로우가 Publish 상태인가? (Save만으로는 프로덕션 URL 비활성)\n- [ ] Production URL 사용 중인가? (/mcp/ 경로, -test 아님)\n- [ ] 인증 토큰이 클라이언트-서버 간 일치하는가?\n- [ ] SSE 엔드포인트 테스트: curl -H \"Accept: text/event-stream\" <MCP_URL>/sse\n\n## MCP Tool 호출 무한 대기 시\n- [ ] Sub-workflow에 JavaScript Code 노드 포함? → Python 또는 내장 노드 대체 (GitHub #19902 버그)\n- [ ] Code 노드 로직 60초 이내 완료되는가? (Task Runner 타임아웃)\n- [ ] Sub-workflow 독립 실행 시 정상 완료되는가?\n- [ ] 전체 실행 시간 5분 이내? (MCP 하드 타임아웃)\n\n## 파라미터 에코백 (입력값만 그대로 반환)\n- [ ] Tool Code 노드에서 fetch() 사용 시도? → Cloud에서 불가. HTTP Request 노드 사용\n- [ ] Sub-workflow가 존재하고 Active 상태인가?\n- [ ] MCP Trigger의 Tool 연결이 올바른가? (노드 연결선 확인)\n\n## Supabase API 호출 실패\n- [ ] apikey + Authorization: Bearer 두 헤더 모두 설정?\n- [ ] Content-Type: application/json 포함?\n- [ ] RLS 정책이 해당 작업 허용? (빈 결과 = RLS 차단 가능)\n- [ ] 내장 Supabase 노드 대신 HTTP Request 노드 사용? (403 버그 #17020 우회)\n- [ ] service_role 키 만료/로테이션 확인\n\n## Webhook 프로덕션 URL 미작동\n- [ ] 워크플로우 Publish 확인 (v2에서 Save ≠ Publish)\n- [ ] URL에 -test 포함 여부 확인\n- [ ] 같은 path+method의 다른 워크플로우 충돌 확인\n\n## Code 노드 타임아웃 (\"Task request timed out after 60 seconds\")\n- [ ] 로직 경량화 (무거운 처리는 Sub-workflow 분리)\n- [ ] 대량 데이터는 Loop/SplitInBatches로 1건씩 처리\n- [ ] 외부 API 호출 시 HTTP Request 노드 사용 (Code 노드 내 HTTP 불가)\n\n## 워크플로우 Import/Export 시\n- [ ] 대상에 필요한 Credential 미리 생성\n- [ ] Credential 이름 일치 (ID가 아닌 이름 매핑)\n- [ ] v2 워크플로우를 v1에 임포트하면 실패\n- [ ] JSON에서 하드코딩된 API키/instanceId 제거\n\n## Cloud 워크플로우 조용한 실패\n- [ ] 메모리 제한 초과: Loop 1건씩 처리\n- [ ] Executions 탭에서 실행 기록 확인\n- [ ] 월별 실행 횟수 한도 확인 (Starter 2,500회)\n- [ ] Cloudflare 100초 타임아웃: Respond to Webhook → 비동기 처리\n\n## 핵심 GitHub Issues 추적\n- #19902: MCP + JS Code 노드 행 (Sub-workflow 사용 시)\n- #17020: Supabase 노드 403 (충돌 인증 헤더)\n- #17428: MCP Client SSE 핸들링\n- #16989: MCP 파라미터 전달 제한\n- #19882: 장기 가동 후 트리거 등록 실패\n\n## 커뮤니티 검증 MCP 템플릿\n- n8n.io/workflows/3641: MCP Supabase Agent (CRUD)\n- n8n.io/workflows/3675: MCP Supabase + RAG + Multi-Tenant\n- n8n.io/workflows/3638: Custom API MCP Server",
  "embedding": null,
  "embedded_at": null,
  "embedding_hash": null,
  "backlinks": [],
  "html_url": "https://bizspring.ai/kb/ref/khub/common-n8n-mcp-오류-진단-체크리스트-트러블슈팅",
  "markdown_url": "https://bizspring.ai/kb/ref/khub/common-n8n-mcp-오류-진단-체크리스트-트러블슈팅.md"
}