본문으로 건너뛰기

n8n MCP 서버에 접근하기

n8n에 내장된 MCP 서버를 통해 지원되는 MCP 클라이언트를 여러분의 n8n 워크플로에 연결할 수 있습니다.

이 서버를 사용하면 Lovable이나 Claude Desktop과 같은 클라이언트가 n8n 인스턴스에 안전하게 연결할 수 있습니다. 연결 후, 해당 클라이언트는 다음 작업을 수행할 수 있습니다:

  • MCP 사용 가능으로 표시된 워크플로를 검색
  • 워크플로의 메타데이터 및 트리거 정보 확인
  • 공개된 워크플로를 트리거하고 실행

인스턴스 수준 MCP 접근과 MCP Server Trigger 노드의 차이점

인스턴스 수준 MCP 접근을 사용하면 각 n8n 인스턴스당 하나의 연결을 생성하고 중앙 집중식 인증을 설정하며, 어떤 워크플로를 접근할 수 있을지 선택할 수 있습니다. 활성화된 워크플로는 개별적으로 구성하지 않아도 쉽게 찾아 실행할 수 있습니다.

반면, MCP Server Trigger 노드는 단일 워크플로 내부에서 구성됩니다. 이 노드는 해당 워크플로 내의 도구만 MCP에 노출하며, 특정 워크플로 내에서 MCP 서버 동작을 맞춤화하고 싶을 때 유용합니다.

인스턴스 수준 MCP 접근 사용 시 주의사항

  • AI 클라이언트를 통해 워크플로를 작성하거나 편집하는 방법은 아닙니다. 워크플로는 계속해서 n8n에서만 만들고 수정할 수 있습니다.
  • 인스턴스 내 모든 워크플로를 자동으로 노출하지 않습니다. 먼저 인스턴스 수준에서 MCP를 활성화한 후, 각 워크플로에 대해 개별적으로 활성화해야 합니다.
  • MCP 클라이언트별로 접근 범위를 구분하지 않습니다. 연결된 모든 클라이언트는 MCP 접근을 위해 활성화된 모든 워크플로를 볼 수 있습니다.

MCP 접근 활성화

Cloud 및 셀프 호스팅 인스턴스용

  1. 설정 > 인스턴스 수준 MCP로 이동합니다.
  2. MCP 접근 활성화를 토글합니다(인스턴스 소유자 또는 관리자 권한 필요).

enable-mcp-access.png

활성화 후 다음 항목을 확인할 수 있습니다:

  1. MCP 클라이언트에 공개된 워크플로 목록
  2. 연결된 OAuth 클라이언트 목록
  3. 인스턴스 수준 접근을 활성화/비활성화하는 주요 MCP 스위치
  4. MCP 클라이언트 연결에 대한 자세한 설명을 보여주는 연결 세부정보 버튼

mcp_page_content.png

비활성화: 주요 MCP 스위치를 끄면 됩니다.

셀프 호스팅 사용자용: 완전히 비활성화

이 기능을 완전히 제거하려면 다음 환경 변수를 설정하세요:

N8N_DISABLED_MODULES=mcp

이 설정은 MCP 엔드포인트를 제거하고 관련 UI 요소를 모두 숨깁니다.

MCP 인증 설정

연결 세부정보 팝업 메뉴는 MCP 클라이언트에 두 가지 인증 옵션을 제공합니다:

  • OAuth2
  • 액세스 토큰(Access Token)

mcp_connect_menu.png

OAuth2 사용

OAuth 탭에서 인스턴스 서버 URL을 복사하여 MCP 클라이언트를 구성하세요. 연결 후, 클라이언트는 n8n으로 리다이렉트되어 인증을 요청합니다.

클라이언트 접근 취소

연결된 MCP 클라이언트의 접근 권한을 취소하려면:

  1. 설정 > 인스턴스 수준 MCP로 이동합니다.
  2. 연결된 클라이언트 탭으로 전환하여 연결된 OAuth 클라이언트 목록을 확인합니다.
  3. 각 클라이언트 행의 작업 메뉴를 사용해 특정 클라이언트의 접근 권한을 취소합니다.

mcp_revoke_client_access.png

액세스 토큰 사용

인스턴스 서버 URL과 연결 세부정보 메뉴의 액세스 토큰 탭에서 가져온 개인 MCP 액세스 토큰을 사용하세요.

MCP 접근 페이지에 처음 접속하면, n8n은 자동으로 사용자 계정에 연결된 개인 MCP 액세스 토큰을 생성합니다.

주의

토큰은 즉시 복사하세요. 이후 방문 시에는 마스킹된 값만 표시되며 복사 버튼이 비활성화됩니다.

토큰 재발급

토큰을 분실하거나 재발급이 필요한 경우:

  1. 설정 > 인스턴스 수준 MCP로 이동합니다.
  2. 오른쪽 상단의 버튼을 클릭해 연결 세부정보 메뉴를 엽니다.
  3. 액세스 토큰 탭으로 전환합니다.
  4. 마스킹된 토큰 값 옆의 버튼을 사용해 새 토큰을 생성합니다.

새 토큰을 생성하면 이전 토큰은 자동으로 무효화됩니다.

  1. 모든 연결된 MCP 클라이언트를 새 토큰 값으로 업데이트합니다.

mcp_rotate_token.png

워크플로를 MCP 클라이언트에 공개하기

MCP에서 사용 가능한 워크플로 조건

워크플로가 MCP 클라이언트에서 접근 가능하려면 다음 조건을 충족해야 합니다:

  1. 게시된 상태
  2. 다음 트리거 노드 중 하나를 포함:
    • Webhook
    • Schedule(스케줄)
    • Chat(채팅)
    • Form(폼)

기본적으로 MCP 클라이언트에는 어떤 워크플로도 표시되지 않습니다. 조건을 충족하는 각 워크플로에 대해 명시적으로 접근 권한을 활성화해야 합니다.

워크플로 자격 평가 시, n8n은 게시된 버전만 고려합니다. 초안에 지원되는 트리거를 추가하더라도 해당 버전을 게시하기 전까지는 조건을 충족하지 않습니다.

주의

워크플로를 비공개로 전환하면 n8n은 자동으로 MCP 접근 권한을 제거합니다. 다시 게시할 경우, 접근 권한을 다시 활성화해야 합니다.

접근 활성화

방법 1: MCP 설정 페이지에서(n8n v2.2.0 이상)

  1. 워크플로 테이블 상단 또는 테이블이 비어 있는 상태에서 워크플로 활성화 버튼을 클릭합니다.
  2. 대상 워크플로를 이름 또는 설명으로 검색하여 목록에서 선택합니다.
  3. 활성화 버튼을 클릭해 확인합니다.

방법 2: 워크플로 편집기에서

  1. 워크플로를 엽니다.
  2. 오른쪽 상단의 워크플로 메인 메뉴(...)를 클릭합니다.
  3. 설정을 선택합니다.
  4. MCP 사용 가능을 토글합니다.

방법 3: 워크플로 목록에서

  1. 워크플로로 이동합니다.
  2. 워크플로 카드의 메뉴를 엽니다.
  3. MCP 접근 활성화를 선택합니다.

접근 권한 관리

인스턴스 수준 MCP 설정 페이지에는 MCP 클라이언트에 사용 가능한 모든 워크플로가 표시됩니다. 이 목록에서 다음 작업을 수행할 수 있습니다:

  • 워크플로, 해당 프로젝트 또는 상위 폴더를 직접 열기
  • 작업 메뉴를 사용해 접근 권한을 취소(또는 워크플로 카드 메뉴의 MCP 접근 비활성화 사용)
  • 작업 메뉴를 사용해 워크플로 설명 업데이트(또는 워크플로 편집기의 메뉴 사용)
  • 워크플로 활성화 버튼을 사용해 더 많은 워크플로에 접근 권한 부여(n8n v2.2.0 이상)

워크플로 설명

MCP 클라이언트가 워크플로를 쉽게 식별할 수 있도록 자유 형식의 설명을 추가할 수 있습니다:

  1. 방법 1: 인스턴스 수준 MCP 페이지에서

    1. 설정 > 인스턴스 수준 MCP로 이동합니다.
    2. 워크플로 탭에 있는지 확인합니다.
    3. 대상 워크플로 행의 작업 메뉴에서 설명 편집을 선택합니다.
    4. 또는 설명 텍스트를 직접 클릭해 편집 대화상자를 엽니다.
  2. 방법 2: 워크플로 편집기에서

    1. 워크플로를 엽니다.
    2. 오른쪽 상단의 워크플로 메인 메뉴(...)를 클릭합니다.
    3. 설명 편집을 선택합니다.

mcp_workflow_description.png

MCP 클라이언트를 통해 워크플로 실행

MCP 클라이언트는 요청에 따라 조건을 충족하는 워크플로를 실행할 수 있습니다. 클라이언트가 워크플로를 트리거하면, n8n에서 일반적으로 실행되며 실행 기록 목록에서 실행 상태를 모니터링할 수 있습니다. 실행이 완료되면 MCP 클라이언트는 결과를 받습니다.

입력 데이터 제공

MCP 클라이언트는 일반적으로 워크플로 실행에 필요한 입력 항목을 자동으로 파악할 수 있습니다. Webhook 트리거를 사용 중이고 클라이언트가 올바른 입력을 파악하기 어려운 경우, 워크플로 설명에 해당 정보를 제공하는 것이 좋습니다.

워크플로 시간 초과

n8n은 MCP 클라이언트가 트리거한 워크플로 실행에 대해 5분의 강제 시간 초과를 적용합니다. 워크플로가 제시간에 완료되지 않으면 n8n은 실행을 중지하고 MCP 클라이언트에 오류를 반환하며, 워크플로 설정에서 MCP 트리거 실행을 위해 지정한 시간 초과 설정은 무시됩니다.

제한 사항

  • 워크플로에 여러 개의 지원되는 트리거가 있는 경우, MCP 클라이언트는 그 중 하나(첫 번째)만 사용할 수 있습니다.
  • 다단계 폼 또는 인간의 개입이 필요한 워크플로는 실행할 수 없습니다.
  • 바이너리 입력 데이터는 지원되지 않으며, MCP 클라이언트는 텍스트 기반 입력만 제공할 수 있습니다.

예시

Lovable을 n8n MCP 서버에 연결

  1. Lovable에서 MCP 서버(OAuth)를 구성합니다.
    • 워크스페이스 설정 > 통합으로 이동합니다.
    • MCP Servers 섹션에서 n8n을 찾아 Connect를 클릭합니다.
    • n8n 서버 URL을 입력합니다(MCP 접근 페이지에 표시됨).
    • 연결을 저장합니다. 성공 시, n8n이 Lovable에 대한 인증을 위해 리다이렉트합니다.
  2. 연결을 확인합니다.
    • 연결 후, Lovable은 MCP 접근이 활성화된 워크플로를 조회할 수 있습니다.
    • 예시: Lovable에게 "사용자 목록을 보여주고 삭제할 수 있는 워크플로 UI를 만들어 달라"고 요청할 수 있습니다.

Claude Desktop을 n8n MCP 서버에 연결

OAuth2 사용
  1. Claude Desktop에서 설정 > 커넥터로 이동합니다.
  2. 사용자 정의 커넥터 추가를 클릭합니다.
  3. 다음 정보를 입력합니다:
    • 이름: n8n MCP
    • 원격 MCP 서버 URL: n8n 기본 URL(인스턴스 수준 MCP 페이지에 표시됨)
  4. 커넥터를 저장합니다.
  5. 프롬프트가 나타나면 Claude Desktop이 n8n 인스턴스에 접근하도록 인증합니다.
액세스 토큰 사용

주의

이 작업은 최신 버전의 Node.js가 필요합니다.

claude_desktop_config.json 파일에 다음 항목을 추가하세요:

{
"mcpServers": {
"n8n-mcp": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--streamableHttp",
"https://<YOUR_N8N_HOST>/mcp-server/http",
"--header",
"authorization: Bearer <YOUR_TOKEN>"
]
}
}
}

다음 값을 교체하세요:

  • <YOUR_N8N_HOST>: n8n 기본 URL(인스턴스 수준 MCP 페이지에 표시됨)
  • <YOUR_TOKEN>: 생성한 토큰

Claude Code를 n8n MCP 서버에 연결

다음 CLI 명령어를 사용하세요:

claude mcp add --transport http n8n-mcp https://<YOUR_N8N_HOST>/mcp-server/http \
--header "Authorization: Bearer <YOUR_TOKEN>"

또는 claude.json 파일에 다음 항목을 추가하세요(위의 설명에 따라 플레이스홀더를 실제 값으로 교체).

Codex CLI를 n8n MCP 서버에 연결

~/.codex/config.toml 파일에 다음 항목을 추가하세요:

[mcp_servers.n8n_mcp]
command = "npx"
args = [
"-y",
"supergateway",
"--streamableHttp",
"https://<YOUR_N8N_HOST>/mcp-server/http",
"--header",
"authorization:Bearer <YOUR_TOKEN>"
]

(n8n 기본 URL과 생성한 토큰으로 해당 플레이스홀더를 교체하세요.)

Google ADK 에이전트를 n8n MCP 서버에 연결

원격 n8n MCP 서버에 연결하는 에이전트를 생성하는 예시 코드입니다:

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPServerParams

N8N_INSTANCE_URL = "https://localhost:5678"
N8N_MCP_TOKEN = "YOUR_N8N_MCP_TOKEN"

root_agent = Agent(
model="gemini-2.5-pro",
name="n8n_agent",
instruction="Help users manage and execute workflows in n8n",
tools=[
McpToolset(
connection_params=StreamableHTTPServerParams(
url=f"{N8N_INSTANCE_URL}/mcp-server/http",
headers={"Authorization": f"Bearer {N8N_MCP_TOKEN}"},
),
)
],
)

자세한 내용은 Connect ADK agent to n8n을 참조하세요.

문제 해결

MCP 클라이언트를 n8n 인스턴스에 연결하는 과정에서 문제가 발생하면 다음 사항을 확인하세요:

  • 클라우드 기반 MCP 클라이언트를 사용하는 경우, n8n 인스턴스가 공개적으로 접근 가능해야 합니다.
  • n8n 설정에서 MCP 접근이 활성화되었는지 확인하세요.
  • 접근하려는 워크플로가 MCP 사용 가능으로 표시되었는지 확인하세요.
  • MCP 클라이언트에서 인증 방식(OAuth2 또는 액세스 토큰)이 올바르게 구성되었는지 확인하세요.
  • n8n 서버 로그를 확인하여 MCP 연결과 관련된 오류 메시지가 있는지 확인하세요.
  • 데스크톱 MCP 클라이언트를 사용하는 경우, 최신 버전의 Node.js가 설치되어 있는지 확인하세요.