본문 바로가기

development/MCP

Claude Desktop과 VSCode에 n8n MCP 서버 연결하기

AI 개발 환경에서 워크플로우 자동화 도구인 n8n을 활용하기 위해 Model Context Protocol(MCP) 서버를 Claude Desktop과 VSCode에 연결하는 방법을 상세히 알아보겠습니다. 두 환경의 설정 방식이 다르므로 각각의 특징과 해결 과정을 설명하겠습니다.


MCP와 n8n이란?

 

mcp logo

Model Context Protocol(MCP)는 AI 모델이 외부 도구와 서비스에 접근할 수 있도록 하는 개방형 표준입니다.

오늘 다룰 n8n은 시각적 워크플로우 자동화 플랫폼으로, 다양한 서비스를 연결하여 복잡한 자동화 작업을 수행할 수 있습니다.

n8n logo

n8n MCP 서버를 통해 다음과 같은 기능을 AI 환경에서 직접 사용할 수 있습니다:

  • 525개의 n8n 노드 검색 및 탐색
  • 워크플로우 템플릿 검색 및 다운로드
  • 노드 설정 및 검증
  • AI 자동화 워크플로우 생성

Claude Desktop에 n8n MCP 서버 연결하기

1단계: Docker를 통한 초기 설정 시도

처음에는 Docker 컨테이너를 직접 실행하는 방식으로 시도했습니다:

docker run --name n8n-mcp -d \
  -e MCP_MODE=stdio \
  -e LOG_LEVEL=error \
  -e DISABLE_CONSOLE_OUTPUT=true \
  ghcr.io/czlonkowski/n8n-mcp:latest

하지만 이 방법은 실패했습니다. 컨테이너가 "stdin closed, shutting down..." 메시지와 함께 즉시 종료되었습니다.

2단계: 문제 분석 및 해결

문제의 원인:

  • MCP 서버는 stdio 모드에서 표준 입력/출력을 통해 통신해야 함
  • Docker 데몬 모드(-d)에서는 stdin이 연결되지 않음
  • Claude가 직접 프로세스를 관리해야 함

해결 방법: Docker 컨테이너를 직접 실행하지 않고, Claude의 설정 파일을 통해 관리하도록 변경했습니다.

3단계: 설정 파일 편집

설정 파일 위치 확인:

find ~ -name "*claude*config*" 2>/dev/null

발견된 설정 파일 편집:

nano "/Users/eunseon/Library/Application Support/Claude/claude_desktop_config.json"

최종 설정 내용:

{
  "mcpServers": {
    "n8n-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "MCP_MODE=stdio",
        "-e",
        "LOG_LEVEL=error",
        "-e",
        "DISABLE_CONSOLE_OUTPUT=true",
        "ghcr.io/czlonkowski/n8n-mcp:latest"
      ]
    }
  }
}

4단계: Claude Desktop 재시작

설정 파일 수정 후 Claude Desktop 앱을 완전히 재시작:

pkill -f Claude

재시작 후 MCP 서버가 "running" 상태로 정상 연결되었습니다.


VSCode에 n8n MCP 서버 연결하기

VSCode의 MCP 설정은 Claude Desktop과 다른 방식으로 진행됩니다.

1단계: MCP 서버 추가 명령어 실행

VSCode에서 Command Palette를 열고 MCP 서버 추가:

  1. Ctrl+Shift+P (또는 Cmd+Shift+P)
  2. MCP: Add Server 명령어 실행

2단계: 서버 타입 선택

여러 옵션 중에서 선택해야 합니다:

  • Command (stdio)
  • HTTP (HTTP or Server-Sent Events)
  • NPM Package
  • Pip Package
  • Docker Image (첫 번째 시도)

3단계: Docker Image 방식의 실패

처음에 "Docker Image" 옵션을 선택했지만 다음 오류가 발생했습니다:

Docker image ghcr.io/czlonkowski/n8n-mcp:latest not found in Docker Hub registry

문제 원인: VSCode가 Docker Hub 레지스트리에서만 이미지를 검색하여 GitHub Container Registry(ghcr.io)를 인식하지 못함

4단계: Command (stdio) 방식으로 해결

"Command (stdio)" 옵션 선택 후 다음 정보 입력:

Command:

docker run --rm -i -e MCP_MODE=stdio -e LOG_LEVEL=error -e DISABLE_CONSOLE_OUTPUT=true ghcr.io/czlonkowski/n8n-mcp:latest

Server ID:

n8n-mcp

5단계: 연결 확인

설정 완료 후 VSCode에서 모든 n8n MCP 도구들이 정상적으로 표시되었습니다:

  • get_database_statistics
  • list_nodes
  • search_nodes
  • get_node_documentation
  • validate_workflow
  • 기타 15개 도구

두 환경의 차이점 분석

Claude Desktop 특징

  • 설정 방식: JSON 설정 파일 직접 편집
  • 명령어 구조: command와 args 배열로 분리
  • 관리 방식: Claude가 프로세스 생명주기 직접 관리
  • 재시작 필요: 설정 변경 후 앱 재시작 필수

VSCode 특징

  • 설정 방식: GUI 기반 대화형 설정
  • 명령어 구조: 전체 명령어를 한 줄로 입력
  • 레지스트리 제한: Docker Hub만 지원 (GitHub Container Registry 미지원)
  • 실시간 적용: 설정 완료 즉시 적용

문제 해결 팁

공통 문제

  1. Docker 데몬 모드 사용 금지: MCP 서버는 대화형 모드로 실행해야 함
  2. 환경변수 필수: MCP_MODE=stdio, LOG_LEVEL=error 등 설정 필요
  3. 재시작 필요: 설정 변경 후 해당 애플리케이션 재시작

Claude Desktop 관련

  1. 설정 파일의 JSON 구문 오류 주의
  2. args 배열에서 각 인수를 개별 요소로 분리
  3. macOS에서 설정 파일 경로: ~/Library/Application Support/Claude/

VSCode 관련

  1. Docker Image 옵션 대신 Command (stdio) 사용 권장
  2. GitHub Container Registry 이미지는 전체 명령어로 실행
  3. Extensions View에서 MCP 서버 상태 실시간 모니터링 가능

 

n8n MCP 서버를 Claude Desktop과 VSCode에 성공적으로 연결했습니다. 두 환경 모두 동일한 Docker 이미지를 사용하지만 설정 방식과 제약사항이 다릅니다.

Claude Desktop은 설정 파일 기반의 정밀한 제어가 가능하며, VSCode는 GUI 기반의 직관적인 설정을 제공합니다. 두 환경에서 모두 525개의 n8n 노드와 268개의 AI 도구에 접근할 수 있어, 강력한 워크플로우 자동화 기능을 AI 환경에서 직접 활용할 수 있습니다.

이제 양쪽 환경에서 n8n의 풍부한 생태계를 활용하여 더욱 정교하고 강력한 AI 자동화 워크플로우를 구축할 수 있습니다.