n8n MCP 서버 설정 및 사용
n8n v2.29지원되는 MCP 클라이언트를 n8n에 내장된 MCP 서버를 통해 n8n 워크플로에 연결합니다. 이 서버를 사용하면 Lovable이나 Claude Desktop과 같은 클라이언트가 n8n 인스턴스에 안전하게 연결할 수 있습니다.
지원되는 MCP 클라이언트를 n8n에 내장된 MCP 서버를 통해 n8n 워크플로에 연결합니다.
이 서버를 사용하면 Lovable이나 Claude Desktop과 같은 클라이언트가 n8n 인스턴스에 안전하게 연결할 수 있습니다. 연결되면 이러한 클라이언트는 다음을 수행할 수 있습니다.
- 워크플로 검색
- MCP에서 사용 가능으로 표시된 워크플로와 상호작용
- 노출된 워크플로 트리거 및 테스트
- 워크플로 및 데이터 테이블 생성 및 편집
인스턴스 수준 MCP 액세스와 MCP Server Trigger node의 차이점#
인스턴스 수준 MCP 액세스를 사용하면 n8n 인스턴스당 하나의 연결을 생성하고, 중앙 집중식 인증을 사용하며, 액세스를 활성화할 워크플로를 선택할 수 있습니다. 활성화된 워크플로는 각 워크플로에 대한 별도의 설정 없이 쉽게 찾고 실행할 수 있습니다.
이에 비해 MCP Server Trigger node는 단일 워크플로 내에서 구성합니다. 이 노드는 해당 워크플로에서만 도구를 노출하며, 하나의 워크플로 내에서 특정 MCP 서버 동작을 만들고 싶을 때 유용한 방식입니다.
인스턴스 수준 MCP 액세스 사용 시 주요 고려 사항#
- MCP는 두 가지 유형의 워크플로 상호작용을 지원합니다. 워크플로 실행 도구를 사용해 기존 워크플로를 실행하는 것과, 워크플로를 빌드하거나 편집하는 것(v2.13부터)입니다.
- 인스턴스에 있는 모든 워크플로에 대한 포괄적인 노출을 제공하지 않습니다. 인스턴스 수준에서 MCP를 활성화한 다음 각 워크플로를 개별적으로 활성화해야 합니다. 유일한 예외는
search_workflows도구로, 현재 사용자가 액세스 권한을 가진 모든 워크플로에 액세스할 수 있지만 전체 워크플로 데이터가 아닌 미리보기만 표시할 수 있습니다. - 각 MCP 클라이언트로 범위가 지정되지 않습니다. 연결한 모든 클라이언트(예: Claude Desktop 및 ChatGPT)는 MCP 액세스를 활성화한 모든 워크플로를 볼 수 있습니다. 특정 워크플로를 특정 클라이언트로 제한할 수 없습니다. 사용자 수준에서는 가시성이 사용자 범위로 유지됩니다. 즉, 사용자는 자신이 액세스 권한을 가진 MCP 활성화 워크플로만 볼 수 있습니다.
- 대부분의 MCP 도구는 게시되지 않은 워크플로에서도 작동합니다. 예외는
execute_workflow로, 기본적으로 프로덕션 모드로 작동하며 워크플로의 게시된 버전을 실행합니다. 또한 현재(게시되지 않은) 버전을 실행하는manual실행 모드도 지원합니다.
MCP 액세스 활성화#
Cloud 및 셀프 호스팅 인스턴스의 경우#
-
Settings > Instance-level MCP로 이동합니다.
-
Enable MCP access 토글을 켭니다(인스턴스 소유자 또는 관리자 권한 필요).
.png)
활성화되면 다음이 표시됩니다.
-
MCP 클라이언트에 노출된 워크플로 목록
-
연결된 OAuth 클라이언트 목록
-
인스턴스 수준 액세스를 활성화/비활성화하는 메인 MCP 토글
-
MCP 클라이언트 연결에 대한 상세 지침을 보여주는 Connection details 버튼
.png)
비활성화하려면: 메인 MCP 토글을 끕니다.
셀프 호스팅의 경우: 완전 비활성화#
기능을 완전히 제거하려면 다음 환경 변수를 설정합니다.
N8N_DISABLED_MODULES=mcp
이 작업은 MCP 엔드포인트를 제거하고 관련된 모든 UI 요소를 숨깁니다.
MCP 인증 설정#
Connection details 팝업 메뉴는 MCP 클라이언트에 대해 두 가지 인증 옵션을 제공합니다.
-
OAuth2
-
Access Token
.png)
OAuth2 사용하기#
OAuth 탭에서 인스턴스 서버 URL을 복사하여 MCP 클라이언트를 구성하는 데 사용합니다. 연결 후 클라이언트는 액세스를 승인할 수 있도록 n8n으로 리디렉션합니다.
클라이언트 액세스 취소#
연결된 MCP 클라이언트의 액세스를 취소하려면:
-
Settings > Instance-level MCP로 이동합니다.
-
Connected clients 탭으로 전환합니다. 연결된 OAuth 클라이언트 테이블이 표시됩니다.
-
각 클라이언트 행의 작업 메뉴를 사용하여 특정 클라이언트의 액세스를 취소합니다.
.png)
Access Token 사용하기#
Connection details 메뉴의 Access Token 탭에서 인스턴스 서버 URL과 개인 MCP Access Token을 사용합니다.
MCP Access page를 처음 방문하면 n8n은 사용자 계정과 연결된 개인 MCP Access Token을 자동으로 생성합니다.
토큰은 생성 즉시 복사해 두세요. 이후 방문 시에는 마스킹된 값만 표시되며 복사 버튼은 비활성화됩니다.
토큰 교체#
토큰을 분실했거나 교체해야 하는 경우:
-
Settings > Instance-level MCP로 이동합니다.
-
오른쪽 상단 모서리의 버튼을 클릭하여 Connection details 메뉴를 엽니다.
-
Access Token 탭으로 전환합니다.
-
마스킹된 토큰 값 옆의 버튼을 사용하여 새 토큰을 생성합니다.
n8n은 새 토큰을 생성하면 이전 토큰을 취소합니다.
-
연결된 모든 MCP 클라이언트를 새 값으로 업데이트합니다.
.png)
MCP 클라이언트에 워크플로 노출#
MCP 클라이언트는 search_workflows를 사용하여 현재 사용자가 액세스 권한을 가진 모든 워크플로의 미리보기를 검색할 수 있습니다. 다만 해당 워크플로에 대해 MCP 액세스를 명시적으로 활성화하지 않으면 클라이언트는 전체 워크플로 데이터에 액세스하거나 워크플로를 실행 또는 수정할 수 없습니다.
개별 워크플로에 대한 액세스 활성화#
옵션 1: MCP 설정 페이지에서(n8n v2.2.0부터 사용 가능)#
- Enable workflows 버튼을 클릭합니다(워크플로 테이블 헤더 또는 테이블의 빈 상태에 있음).
- 원하는 워크플로를 이름 또는 설명으로 검색하여 목록에서 선택합니다.
- Enable 버튼을 클릭하여 확인합니다.
옵션 2: 워크플로 편집기에서#
- 워크플로를 엽니다.
- 오른쪽 상단 모서리의 메인 워크플로 메뉴(
...)를 클릭합니다. - Settings를 선택합니다.
- Available in MCP를 토글합니다.
옵션 3: 워크플로 목록에서#
- Workflows로 이동합니다.
- 워크플로 카드의 메뉴를 엽니다.
- Enable MCP access를 선택합니다.
프로젝트/폴더에 대한 액세스 활성화#
n8n v2.24.0부터 사용 가능
워크플로 목록에서 Options 메뉴
를 사용하여 현재 프로젝트 또는 폴더의 모든 워크플로에 대한 MCP 액세스를 토글할 수 있습니다.
- 원하는 프로젝트로 이동하여 상단 메뉴에서 Workflows를 선택한 다음, 필요하면 하위 폴더를 엽니다.
- 프로젝트 또는 폴더 이름 옆의 Options 메뉴
를 선택합니다. - Manage MCP access를 선택한 다음 Enable MCP 또는 Disable MCP를 선택합니다.
.png)
참고
이 작업은 선택한 프로젝트 또는 폴더에 현재 있는 모든 워크플로에 대한 MCP 액세스를 토글합니다(이미 선택한 상태인 워크플로는 건너뜁니다). 향후 추가되는 워크플로에 대해서는 여전히 액세스를 별도로 토글해야 합니다.
액세스 관리#
Instance-level MCP 설정 페이지에는 MCP 클라이언트가 액세스하고 작업할 수 있도록 활성화된 모든 워크플로가 표시됩니다. 이 목록에서 다음을 수행할 수 있습니다.
- 워크플로, 해당 홈 프로젝트 또는 상위 폴더를 직접 엽니다.
- 작업 메뉴를 사용하여 액세스를 취소합니다(또는 워크플로 카드 메뉴에서 Disable MCP access를 사용).
- 작업 메뉴를 사용하여 워크플로 설명을 업데이트합니다(또는 워크플로 편집기의 메뉴 사용).
- Enable workflows 버튼을 사용하여 더 많은 워크플로에 대한 액세스를 활성화합니다(n8n v2.2.0부터 사용 가능).
워크플로 설명#
MCP 클라이언트가 워크플로를 식별하도록 돕기 위해 다음과 같이 자유 형식 텍스트 설명을 추가할 수 있습니다.
-
옵션 1: Instance-level MCP 페이지에서
- Settings > Instance-level MCP로 이동합니다.
- Workflows 탭에 있는지 확인합니다.
- 원하는 워크플로 행의 작업 메뉴를 사용하여 Edit description 작업을 선택합니다.
- 또는 설명 텍스트를 직접 클릭하여 편집 대화 상자를 엽니다.
-
옵션 2: 워크플로 편집기에서
- 워크플로를 엽니다.
- 오른쪽 상단 모서리의 메인 워크플로 메뉴(
...)를 클릭합니다. - Edit description을 선택합니다.
.png)
도구 및 리소스#
채팅 클라이언트 대신 코딩 에이전트(예: Claude Code 또는 Google ADK 에이전트)를 MCP 클라이언트로 사용하는 것을 고려하세요. 코딩 에이전트는 TypeScript 코드를 생성하고 검증하는 데 최적화되어 있어 프로그래밍 방식으로 워크플로를 빌드하는 데 이상적입니다.
n8n MCP 서버는 워크플로 관리, 워크플로 빌드, 데이터 테이블을 위한 도구를 노출합니다. 사용 가능한 전체 도구 목록과 해당 매개변수는 MCP server tools reference를 참조하세요.
예시#
Lovable을 n8n MCP 서버에 연결하기#
- Lovable에서 MCP Server를 구성합니다(OAuth).
- 워크스페이스 Settings > Integrations로 이동합니다.
- MCP Servers 섹션에서 n8n을 찾아 Connect를 클릭합니다.
- n8n 서버 URL을 입력합니다(MCP Access 페이지에 표시됨).
- 연결을 저장합니다. 성공하면 n8n은 Lovable을 승인할 수 있도록 리디렉션합니다.
- 연결을 확인합니다.
- 연결되면 Lovable은 MCP 액세스가 활성화된 워크플로를 조회할 수 있습니다.
- 예시: Lovable에게 사용자를 나열하고 삭제할 수 있는 워크플로 UI를 빌드하도록 요청합니다.
Claude Desktop을 n8n MCP 서버에 연결하기#
OAuth2 사용하기
- Claude Desktop에서 Settings > Connectors로 이동합니다.
- Add custom connector를 클릭합니다.
- 다음 세부 정보를 입력합니다.
- Name: n8n MCP
- Remote MCP Server URL: n8n 기본 URL(Instance-level MCP 페이지에 표시됨)
- 커넥터를 저장합니다.
- 메시지가 표시되면 Claude Desktop이 n8n 인스턴스에 액세스하도록 승인합니다.
Access Token 사용하기
claude_desktop_config.json 파일에 다음 항목을 추가합니다.
"mcpServers": {
"n8n-mcp": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--streamableHttp",
"https://<your-n8n-domain>/mcp-server/http",
"--header",
"Authorization:Bearer "
]
}
}
여기서 다음을 바꿉니다.
<your-n8n-domain>: n8n 기본 URL(Instance-level MCP 페이지에 표시됨)
Claude Code를 n8n MCP 서버에 연결하기#
옵션 1: OAuth2를 사용하여 인증(권장)
다음 CLI 명령을 사용합니다.
claude mcp add --transport http n8n-mcp https://<your-n8n-domain>/mcp-server/http
또는 claude.json 파일에 다음 항목을 추가합니다.
{
"mcpServers": {
"n8n-mcp": {
"type": "http",
"url": "https://<your-n8n-domain>/mcp-server/http"
}
}
}
여기서 다음을 바꿉니다.
<your-n8n-domain>: n8n 기본 URL(Instance-level MCP 페이지에 표시됨)
옵션 2: Access Token을 사용하여 인증
다음 CLI 명령을 사용합니다.
claude mcp add --transport http n8n-mcp https://<your-n8n-domain>/mcp-server/http \
--header "Authorization: Bearer "
또는 claude.json 파일에 다음 항목을 추가합니다.
{
"mcpServers": {
"n8n-mcp": {
"type": "http",
"url": "https://<your-n8n-domain>/mcp-server/http",
"headers": {
"Authorization": "Bearer "
}
}
}
}
여기서 다음을 바꿉니다.
<your-n8n-domain>: n8n 기본 URL(Instance-level MCP 페이지에 표시됨): 생성된 토큰
Codex CLI를 n8n MCP 서버에 연결하기#
옵션 1: OAuth2를 사용하여 인증(권장)
다음 CLI 명령을 사용합니다.
codex mcp add n8n-mcp --url https://<your-n8n-domain>/mcp-server/http
또는 ~/.codex/config.toml 파일에 다음 항목을 추가합니다.
[mcp_servers.n8n-mcp]
url = "http://localhost:5678/mcp-server/http"
여기서 다음을 바꿉니다.
<your-n8n-domain>: n8n 기본 URL(Instance-level MCP 페이지에 표시됨)
옵션 2: Access Token을 사용하여 인증
~/.codex/config.toml 파일에 다음 항목을 추가합니다.
[mcp_servers.n8n-mcp]
url = "https://<your-n8n-domain>/mcp-server/http"
http_headers = { "authorization" = "Bearer " }
여기서 다음을 바꿉니다.
<your-n8n-domain>: n8n 기본 URL(Instance-level MCP 페이지에 표시됨): 생성된 토큰
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 액세스가 활성화되어 있는지 확인합니다.
- 실행하거나 수정하려는 워크플로가 Available in MCP로 표시되어 있는지 확인합니다.
- MCP 클라이언트에서 인증 방식(OAuth2 또는 Access Token)이 올바르게 구성되어 있는지 확인합니다.
- MCP 연결과 관련된 오류 메시지가 있는지 n8n 서버 로그를 검토합니다.