n8n MCP로 Claude Desktop에서 업무 자동화 워크플로우를 자연어로 실행하기 — 설정부터 실무 함정까지
Webhook URL을 팀에 공유하고, Postman 사용법을 반복해서 설명하는 데 지쳐있다면 이 글이 그 피로를 해소해줄 것입니다. "신규 가입자 온보딩 워크플로우 실행해줘. 이름은 김지수, 이메일은 jisu@example.com." 이 한 문장 하나로 CRM 등록부터 Slack 알림, 환영 이메일 발송까지 처리됩니다. n8n의 MCP Server Trigger 노드와 Claude Desktop을 연결하면, 복잡한 업무 자동화 파이프라인을 별도의 API 클라이언트나 Webhook 설정 없이 자연어만으로 호출할 수 있게 됩니다.
이 글은 n8n 기본 사용 경험이 있는 개발자를 대상으로 합니다. n8n 워크플로우 편집기, 트리거 노드, published 모드 같은 개념에 익숙하다고 가정하며, MCP 개념 설명부터 실제 설정 파일 작성, 반드시 알아야 할 함정까지 단계별로 살펴봅니다. 설정에 10분, 첫 호출 테스트까지 20분이면 충분합니다. 이 글을 읽고 나면 자연어 → 워크플로우 실행 파이프라인의 전체 그림과 실무 설정 방법을 이해할 수 있습니다.
핵심 개념
MCP란 무엇이며 Webhook과 어떻게 다른가
Model Context Protocol(MCP): Anthropic이 공개한 오픈소스 표준 프로토콜. AI 모델이 외부 시스템의 "도구(Tool)"를 일관된 방식으로 호출할 수 있도록 규격화한 인터페이스입니다. USB-C가 다양한 장치를 하나의 표준으로 연결하듯, MCP는 AI와 외부 서비스를 연결합니다.
기존 Webhook 방식과의 결정적인 차이는 누가 언제 무엇을 호출할지 판단하는가에 있습니다. Webhook은 호출자가 정확한 URL과 페이로드 구조를 미리 알아야 합니다. MCP에서는 모델이 사용자의 의도를 해석해 어떤 도구를 어떤 파라미터로 호출할지 스스로 결정합니다. 팀원이 Postman을 배울 필요 없이, 자연어로 요청하면 Claude가 적절한 n8n 워크플로우를 찾아 실행합니다.
n8n은 1,000개가 넘는 노드를 가진 워크플로우 자동화 플랫폼으로, MCP가 결합되면 이 강력한 자동화 파이프라인을 자연어 인터페이스로 전면 개방할 수 있습니다.
두 가지 핵심 노드의 역할
n8n MCP 생태계는 두 노드를 중심으로 작동합니다. 두 노드 모두 @n8n/n8n-nodes-langchain 패키지에 포함되어 있으며, n8n 1.x 이상 버전에서 사용 가능합니다. self-hosted 환경에서는 이 패키지가 설치되어 있는지 확인하는 것이 좋습니다.
| 노드 | 역할 | 방향 |
|---|---|---|
| MCP Server Trigger | n8n 워크플로우를 MCP "툴"로 외부에 노출 | Claude → n8n |
| MCP Client Tool | n8n 에이전트가 외부 MCP 서버의 도구를 가져와 사용 | n8n → 외부 MCP |
이 글에서 주로 다루는 것은 MCP Server Trigger입니다. 이 노드를 워크플로우에 추가하는 순간, 해당 워크플로우는 Claude가 호출할 수 있는 도구 목록에 등록됩니다.
전송 방식과 프록시가 필요한 이유
Claude Desktop은 기본적으로 stdio 기반으로 로컬 프로세스와 통신합니다. 반면 n8n은 HTTP 기반의 원격 서버로 동작합니다. 이 불일치를 해결하는 것이 설정의 핵심입니다.
[Claude Desktop] ──stdio──▶ [로컬 MCP 프로세스 / npx n8n-mcp]
│
HTTP Streamable (권장)
│
[n8n 인스턴스 MCP 엔드포인트]HTTP Streamable vs SSE: n8n 1.x부터 HTTP Streamable이 권장되는 최신 전송 방식입니다. 양방향 스트리밍을 지원하며 효율이 높습니다. 기존의 SSE(Server-Sent Events) 방식은 레거시 호환을 위해 병행 유지되지만 신규 구성에서는 권장하지 않습니다.
Claude Desktop이 SSE 방식의 n8n 서버에 직접 연결할 수 없기 때문에 mcp-remote 같은 프록시 레이어가 필요합니다. npx n8n-mcp를 사용하면 이 브리지가 내부적으로 처리됩니다.
실전 적용
예시 1: Claude Desktop에서 n8n 워크플로우 호출하기
빠른 시작점으로 커뮤니티 패키지인 czlonkowski/n8n-mcp(GitHub)를 활용할 수 있습니다. 이 패키지는 Anthropic이나 n8n이 공식 배포하는 패키지가 아니라 오픈소스 커뮤니티 기여 패키지입니다. 활발하게 유지보수되고 있으며 n8n의 노드 1,396개 문서를 임베딩해두어 Claude가 워크플로우 컨텍스트를 풍부하게 이해할 수 있다는 장점이 있습니다. 도입 전에 저장소의 최근 커밋과 이슈 상태를 확인하는 것을 권장합니다.
1단계: n8n에서 API 키 발급
n8n 대시보드의 Settings > n8n API 메뉴에서 API 키를 발급받습니다. 이 키가 아래 설정에서 N8N_API_KEY 값으로 사용됩니다.
2단계: ~/.claude/claude_desktop_config.json 설정
{
"mcpServers": {
"n8n-workflows": {
"command": "npx",
"args": ["n8n-mcp"],
"env": {
"N8N_API_URL": "https://your-n8n.company.com",
"N8N_API_KEY": "your-api-key"
}
}
}
}N8N_API_URL에는 n8n 인스턴스의 실제 주소를, N8N_API_KEY에는 1단계에서 발급한 API 키를 넣으면 됩니다.
3단계: n8n에서 MCP Server Trigger 노드 추가
워크플로우 편집기에서 트리거 노드를 MCP Server Trigger로 설정하면, 해당 워크플로우가 Claude에서 호출 가능한 도구 목록에 나타납니다.
설정 항목 설명
| 항목 | 값 | 설명 |
|---|---|---|
N8N_API_URL |
https://your-n8n.company.com |
n8n 인스턴스 주소 |
N8N_API_KEY |
API 키 문자열 | n8n Settings > n8n API에서 발급 |
command |
npx |
별도 전역 설치 없이 실행 가능 |
args |
["n8n-mcp"] |
stdio ↔ HTTP Streamable 브리지 역할 |
예시 2: 멀티스텝 온보딩 워크플로우 자연어 호출
"신규 가입자 온보딩 워크플로우 실행해줘. 이름은 김지수, 이메일은 jisu@example.com"이라고 Claude에 입력했을 때 내부적으로 일어나는 흐름입니다.
사용자 입력 (자연어)
│
▼
Claude Desktop (의도 파악 + 파라미터 추출)
│ MCP 프로토콜
▼
n8n MCP Server Trigger
│
├─▶ CRM 노드: 신규 연락처 생성
├─▶ Slack 노드: #sales 채널 알림
└─▶ Gmail 노드: 환영 이메일 발송n8n 워크플로우의 MCP Server Trigger 노드는 아래와 같이 파라미터를 정의합니다. 아래 JSON은 트리거 노드 설정 부분만 발췌한 예시이며, 실제 워크플로우에는 CRM, Slack, Gmail 등 후속 노드가 추가로 필요합니다.
{
"nodes": [
{
"name": "MCP Server Trigger",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"parameters": {
"toolName": "run_onboarding",
"toolDescription": "신규 가입자 온보딩 워크플로우를 실행합니다. 이름과 이메일을 입력받아 CRM 등록, Slack 알림, 환영 이메일을 처리합니다.",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "가입자 이름" },
"email": { "type": "string", "description": "가입자 이메일" }
},
"required": ["name", "email"]
}
}
}
]
}핵심 팁:
toolDescription을 명확하게 작성할수록 Claude가 올바른 워크플로우를 선택하는 정확도가 높아집니다. 팀 내 언어 기준에 맞게 작성하되, Claude 모델 특성상 영어 설명이 파라미터 추출 정확도에 유리할 수 있으므로 두 언어로 실험해보는 것도 좋습니다.
예시 3: 자연어로 워크플로우 실행 이력 모니터링하기
"지난 1시간 동안 실패한 워크플로우 목록 보여줘"라고 Claude에 요청하면, MCP를 통해 n8n 실행 이력 API를 조회하고 에러 노드를 식별해 수정 제안까지 제공받을 수 있습니다.
MCP 없이 동일한 작업을 수행하려면 개발자가 직접 아래와 같은 코드를 작성해 API를 호출해야 합니다. MCP가 이 과정을 자연어 한 문장으로 대체한다는 점이 핵심 가치입니다.
# MCP 없이 동일한 조회를 직접 구현할 경우의 코드 — 비교 참고용
import httpx
async def get_failed_executions(api_url: str, api_key: str, hours: int = 1):
async with httpx.AsyncClient() as client:
response = await client.get(
f"{api_url}/api/v1/executions",
headers={"X-N8N-API-KEY": api_key},
params={
"status": "error",
"limit": 50,
}
)
return response.json()MCP 환경에서는 이 코드를 작성하거나 실행할 필요 없이, Claude에게 자연어로 요청하면 동일한 API 호출이 MCP 프로토콜을 통해 자동으로 처리됩니다.
장단점 분석
장점
| 항목 | 내용 |
|---|---|
| 노코드 진입장벽 | 개발자가 아닌 팀원도 자연어로 복잡한 워크플로우를 실행할 수 있습니다 |
| 표준 기반 호환성 | MCP 표준 덕분에 Claude뿐만 아니라 모든 MCP 호환 클라이언트에서 동작합니다 |
| 광범위한 노드 활용 | 1,396개 노드(812 코어 + 584 커뮤니티)를 AI가 조합해 사용할 수 있습니다 |
| 빠른 디버깅 | Claude가 실행 이력을 직접 조회해 원인 분석과 수정 제안을 제공합니다 |
단점 및 주의사항
| 항목 | 내용 | 대응 방안 |
|---|---|---|
| 전체 노출 위험 | 인스턴스 레벨 MCP 활성화 시 모든 워크플로우가 노출됩니다 | 워크플로우별 접근 제어 및 Bearer Token 인증 설정을 권장합니다 |
| stdio ↔ SSE 불일치 | Claude Desktop은 stdio 기반이라 SSE 서버에 직접 연결이 안 됩니다 | mcp-remote 프록시 또는 npx n8n-mcp 사용을 권장합니다 |
| 프로덕션 실행 주의 | execute_workflow는 기본적으로 published 모드로 실행됩니다 |
테스트 전용 워크플로우를 별도로 분리하고, 운영 워크플로우는 unpublish 상태로 보호하는 방식을 권장합니다 |
| 컨텍스트 분산 | 관련 없는 도구를 한 서버에 많이 노출하면 모델의 선택 정확도가 낮아집니다 | 도메인별(HR, 재무, 마케팅) MCP 서버 분리를 권장합니다 |
| 자체 호스팅 필요 | 사내 데이터를 다루는 경우 n8n Cloud보다 self-hosted가 필요합니다 | 내부 네트워크에 n8n을 직접 배포하는 방식을 권장합니다 |
용어 보충 — Bearer Token: HTTP 인증 방식 중 하나로, 요청 헤더에
Authorization: Bearer <토큰>형태로 전달됩니다. n8n MCP Server Trigger 노드 설정에서 Bearer Auth를 선택하면 무단 호출을 방어할 수 있습니다.
published 모드 주의: n8n에서 워크플로우를 published 상태로 전환하면 MCP를 통해 외부에서 실행 가능해집니다. 반대로 unpublished 상태의 워크플로우는 MCP 도구 목록에 노출되지 않으므로, 테스트용 워크플로우는 published 전환 전까지 안전하게 격리됩니다.
실무에서 가장 흔한 실수
toolDescription을 비워두거나 너무 짧게 작성하는 경우 — Claude가 어느 워크플로우를 선택해야 할지 판단하지 못해 엉뚱한 도구를 실행할 수 있습니다. "무엇을 어떤 입력으로 처리하는 도구인지"를 구체적으로 적는 것이 중요합니다.- 테스트 중 프로덕션 워크플로우를 그대로 사용하는 경우 —
execute_workflow는 기본적으로 published 워크플로우를 실행하므로, 실제 CRM에 더미 데이터가 등록되거나 고객에게 이메일이 발송될 수 있습니다. 테스트용 워크플로우를 반드시 별도로 운영하는 것을 권장합니다. - 모든 워크플로우를 하나의 MCP 서버에 몰아넣는 경우 — 도구가 많아질수록 Claude의 선택 정확도가 낮아집니다. HR, 재무, 고객지원 등 도메인 단위로 MCP 서버를 분리하면 성능과 보안 모두 개선됩니다.
마치며
n8n MCP 서버와 Claude Desktop의 연결은, 팀 내 기술 격차와 상관없이 누구나 자연어로 복잡한 자동화 파이프라인을 활용할 수 있는 지능형 인터페이스를 열어줍니다. 이를 도입한 팀에서는 Postman 사용법 교육이 사라지고, 워크플로우 실행 요청이 Slack 메시지 대신 Claude 채팅으로 전환되는 변화가 먼저 나타납니다.
설정 이후 조직 내 도입을 확장할 때 참고할 수 있는 체크리스트입니다.
- Bearer Token 인증 활성화 — MCP Server Trigger 노드 설정에서 Bearer Auth를 선택하고, 접근 가능한 사용자와 토큰을 팀 단위로 관리하면 좋습니다.
- 도메인별 MCP 서버 분리 — HR, 재무, 고객지원 등 업무 도메인에 맞게 별도의 MCP 서버 설정을 구성하면 Claude의 도구 선택 정확도가 높아집니다. 각 서버의
N8N_API_URL은 동일하게 유지하되, 서버 이름(n8n-hr,n8n-finance등)을 분리하는 방식이 관리하기 편리합니다. - 모니터링 워크플로우 별도 구성 — "실패한 워크플로우 보여줘" 류의 조회용 워크플로우를 별도로 만들어두면 운영 부담이 크게 줄어듭니다. n8n 공식 워크플로우 템플릿에서 시작점을 참고할 수 있습니다.
다음 글: n8n MCP Client Tool 노드를 활용해 멀티 에이전트 오케스트레이션 파이프라인을 구축하는 방법 — 상위 에이전트가 도메인별 서브 에이전트를 위임 호출하는 아키텍처 패턴을 다룹니다.
참고 자료
- n8n 공식 문서 — MCP 서버 설정 및 사용
- MCP Server Trigger 노드 공식 문서
- MCP Client Tool 노드 공식 문서
- GitHub — czlonkowski/n8n-mcp (커뮤니티 MCP 서버)
- GitHub — salacoste/mcp-n8n-workflow-builder (17개 도구, 멀티 인스턴스)
- n8n 워크플로우 템플릿 — 자체 MCP 서버 구축
- n8n Community — MCP 서버 구축 경험 공유
- Infralovers — n8n Agentic MCP Hub 아키텍처 분석
- Generect — n8n MCP 단계별 완전 가이드
- Hostinger — n8n과 MCP 서버 통합 방법