Claude에 MCP 서버를 몇 개만 추가해도, 한 글자 입력하기 전부터 비용이 드러납니다. 수십 개의 도구 정의가 처음부터 컨텍스트에 들어가고, 정확도는 흔들리기 시작합니다. 해결책은 더 큰 컨텍스트 창이 아니라, 더 적고 더 똑똑한 도구만 노출하는 것입니다.
Claude에 MCP 도구를 많이 추가하면 왜 컨텍스트가 부풀어 오를까요?
컨텍스트가 부풀어 오르는 이유는 연결된 모든 도구의 정의가 사용자 메시지보다 먼저 프롬프트에 로드되기 때문입니다. Anthropic은 2024년 11월 Model Context Protocol을 출시했고 , 도입이 늘면서 확장성 문제가 드러났습니다. GitHub, Slack, Sentry, Grafana, Splunk처럼 여러 서버를 함께 쓰는 일반적인 구성은 약 58개의 도구를 포함하며, 사용자가 아무 말도 하기 전에 대략 55,000자 분량의 정의가 로드됩니다 . 이후 두 가지 완충 한계가 발목을 잡습니다.
첫째, 에이전트가 사용할 수 있는 도구를 대략 30~50개 정도 보게 되면 도구 선택 정확도가 떨어집니다. 이는 공식 Anthropic 하드 캡이 아니라 실무자 관찰에 따른 기준이므로 방향성 지표로 보는 편이 맞습니다 . 둘째, 결과가 비대해집니다. Claude Code는 단일 MCP 출력이 10,000토큰을 넘으면 경고하고, 기본적으로 25,000토큰 상한을 적용하며, MAX_MCP_OUTPUT_TOKENS로 조정할 수 있게 합니다 .
Anthropic이 직접 제시한 해법인 “code execution with MCP”(2025년 11월 4일)는 점진적 공개 방식과 search_tools 함수를 결합하고, 큰 중간 결과가 컨텍스트에 들어가기 전에 샌드박스에서 처리합니다. 실제 예시에서는 한 작업이 약 150,000토큰에서 2,000토큰으로 줄어 98.7% 감소했습니다 . 같은 논리를 n8n에서는 오케스트레이션 계층에서 적용할 수 있습니다.
| MCP 표면 | 결과 크기 상한 | 타임아웃 | 플랜 요건 | 전송 방식 / stdio |
|---|---|---|---|---|
| Claude.ai / Desktop 사용자 지정 커넥터 | 약 150,000자 | 300초 | Free(커넥터 1개), Pro, Max, Team, Enterprise | Streamable HTTP / SSE; stdio 없음 |
| Messages API MCP 커넥터 | 기본 25,000토큰(10k 경고) | 조정 가능 | API 키 + 베타 헤더 | Streamable HTTP / SSE; stdio 없음 |
n8n을 Claude의 MCP에 연결하기 전에 준비할 것

도구를 하나라도 노출하기 전에 네 가지 전제 조건을 맞춰야 합니다. 첫째는 n8n 버전입니다. MCP Server Trigger는 LangChain 코어 노드이므로 노드 팔레트에 표시되는지 확인하세요. 이 노드는 n8n Cloud와 자체 호스팅 가능한 Community 에디션에 포함됩니다 . 둘째는 공개 URL입니다. Claude는 Anthropic 클라우드 인프라에서 접속하므로 localhost 전용 인스턴스에는 접근할 수 없습니다. 공개 도메인, Cloudflare Tunnel, 또는 ngrok으로 앞단을 열어야 합니다 .
셋째는 어떤 Claude 표면을 쓰는지가 중요합니다. Claude.ai 사용자 지정 커넥터(2026년 4월 2일 기준 베타)는 Free 플랜에서 커넥터 URL을 1개로 제한하며, Streamable HTTP 또는 SSE 전송 방식을 요구합니다 . Messages API는 추가로 anthropic-beta: mcp-client-2025-11-20 헤더가 필요합니다. 이전 mcp-client-2025-04-04는 deprecated 상태입니다 . 넷째, Claude Desktop의 stdio 설정에서는 npx mcp-remote <MCP_URL>와 bearer Authorization 헤더를 사용해 원격 엔드포인트로 브리지해야 합니다. 트리거 노드는 로컬 stdio를 직접 지원하지 않습니다 .
n8n 워크플로 로직을 Claude MCP 도구로 공개하는 방법

n8n 로직을 Claude에 공개한다는 것은 원시 벤더 노드를 모델에 그대로 연결하는 대신, n8n 워크플로에서 작고 선별된 도구 표면만 내보내는 방식입니다. 기본 패턴은 MCP Server Trigger 노드 하나와 몇 개의 Call n8n Workflow Tool 노드로 구성됩니다. 각 도구 노드는 여러 단계로 된 워크플로를 감싸고, 최종적으로 압축된 결과만 반환합니다 n8n MCP Server Trigger docs. Claude가 보게 되는 것은 58개의 배관용 호출이 아니라, 의도 이름이 붙은 4개의 도구입니다.
1. MCP Server Trigger를 추가합니다. 새 워크플로를 열고 진입 노드로 MCP Server Trigger를 배치합니다. 출력 패널에서 /mcp 기본 경로가 생성됩니다. 이 경로가 Claude가 Streamable HTTP 또는 SSE로 연결할 공개 엔드포인트가 되므로 복사해 둡니다 n8n docs.
2. Call n8n Workflow Tool 노드를 연결합니다. Claude가 호출할 수 있는 각 도구는 트리거 아래에 Call n8n Workflow Tool 노드로 매달립니다. 그래서 하나의 도구 안에 인증, 분기, 재시도, 후처리를 넣고, 모델에 필요한 값만 반환할 수 있습니다 Call n8n Workflow Tool docs. Claude는 노드의 설명 필드를 읽고 호출 여부를 판단하므로, 구현 방식이 아니라 의도 중심으로 작성해야 합니다.
3. 입력은 $fromAI()로 매핑합니다. 런타임에 모델이 제공하는 인수에는 $fromAI('param_name', 'description', 'string')을 사용하고, 고정값이나 컨텍스트에서 파생되는 값에는 expression 모드를 사용합니다 n8n docs.
4. 공개된 도구 범위를 확인합니다. 아무 MCP 클라이언트에서든 /mcp URL을 지정하고 list_tools를 실행합니다. 인스턴스의 모든 노드, 자격 증명, 워크플로가 아니라 직접 선별한 하위 집합만 표시되는지 확인합니다.
5. Claude에 등록합니다. Claude.ai에서 Settings → Integrations → Custom Connector 아래에 공개 MCP URL을 붙여 넣습니다 Anthropic custom connectors. Messages API에서는 tools 배열에 URL을 전달하고, 베타 헤더 anthropic-beta: mcp-client-2025-11-20를 함께 넣은 뒤, 서버가 Streamable HTTP 또는 SSE로 응답하는지 확인합니다 Claude MCP connector docs.
가장 중요한 것은 이름입니다. Claude는 노드 그래프가 아니라 이름과 설명을 보고 라우팅하기 때문입니다. get_postgres_row_by_id보다는 lookup_customer_context를, call_gmail_send_api보다는 draft_invoice_followup을 선호하세요. 이는 오케스트레이션 계층에서 Anthropic이 제시한 해결책과도 맞닿아 있습니다.
"작업에 필요한 도구만 로드하는 점진적 공개 방식으로, 한 예제의 토큰 사용량을 약 150,000개에서 약 2,000개로 줄였고, 이는 98.7% 감소에 해당합니다." — Anthropic Engineering, "Code execution with MCP" (source: anthropic.com)
n8n을 MCP 서버로 사용할 때 실패할 수 있는 지점

파사드 패턴을 쓰면 실패 지점은 컨텍스트 비대화에서 인프라와 쿼터 관리로 옮겨갑니다. 가장 자주 문제가 되는 것은 다섯 가지입니다. 첫 번째는 조용히 발생합니다. Server-Sent Events와 Streamable HTTP에는 응답 버퍼링이 꺼져 있어야 합니다. 리버스 프록시(nginx, Caddy)가 /mcp* 경로를 버퍼링하면 SSE 연결은 오류 없이 멈춥니다. n8n 문서는 리버스 프록시에서 SSE와 streamable HTTP 경로의 버퍼링을 반드시 비활성화해야 한다고 명확히 설명합니다 . 해당 라우트에는 proxy_buffering off를 설정하세요.
다음 두 가지는 배포와 비용에서 생기는 함정입니다.
- 다중 복제본 라우팅. 웹훅 복제본을 여러 개 실행한다면 모든
/mcp*트래픽이 하나의 전용 복제본으로 가야 합니다. 라운드 로빈 로드 밸런싱은 세션 연속성을 깨뜨립니다. 프록시 계층에서 sticky routing을 설정하세요. - 실행 쿼터 소모. MCP 도구 호출 한 번은 노드 수와 관계없이 전체 워크플로 실행 한 번을 트리거합니다. n8n Cloud Starter는 월 €20에 월 2,500회 실행을 제공합니다 . Claude 세션이 호출을 많이 만들면 몇 시간 만에 쿼터가 소진될 수 있습니다. 도구는 굵직한 단위로 만들고 멱등성을 유지하세요.
그다음은 신뢰 문제입니다. Anthropic의 2026년 4월 커넥터 문서는 커스텀 커넥터가 연결된 앱의 데이터를 읽거나 수정하거나 삭제할 수 있는 검증되지 않은 서비스라고 경고합니다 . 권한을 검토하고, 불필요한 쓰기 도구는 피하며, 신뢰할 수 없는 서버와 도구 조합에는 절대 "Allow always"를 활성화하지 마세요. 도구 출력에 섞여 들어오는 프롬프트 인젝션도 감시해야 합니다.
마지막으로 Claude.ai의 페이로드 한도를 염두에 두어야 합니다. 약 150,000자 한도나 300초 타임아웃에 가까워지는 도구 결과는 워크플로 내부에서 잘라내야 합니다. 원시 API 응답은 n8n을 떠나기 전에 압축된 구조화 요약으로 후처리하세요.
n8n MCP 파사드 확장: 더 똑똑한 도구, 더 적은 컨텍스트 소음
선별된 도구 표면이 제대로 작동하기 시작하면, 두 가지 확장으로 파사드를 한 단계 더 밀어붙일 수 있다. 첫째, search_tools 메타 도구를 추가한다. 자연어 쿼리를 받아 가장 잘 맞는 도구 이름 3–5개와 설명을 반환하는 워크플로 하나를 두는 방식이다. 이는 Anthropic의 점진적 공개 방식 카탈로그를 반영해, 에이전트가 처음부터 모든 정의를 로드하지 않도록 한다 . 둘째, 각 워크플로 안에서 결과를 후처리한다. 원시 API 페이로드를 걷어내고 전체 JSON blob 대신 3–5개 필드의 구조화된 객체를 반환하면, 응답을 Claude Code의 10,000토큰 출력 경고 아래로 유지할 수 있다 .
인접한 두 프로젝트는 반대 방향, 즉 서빙이 아니라 작성에 초점을 둔다. n8n 자체 MCP 클라이언트(n8n 2.18.4+ 필요)는 Claude, Cursor, Windsurf가 자연어로 새 워크플로를 생성하게 해 주며, 타입 검사를 거친 TypeScript를 자체 수정과 함께 출력한다 . 커뮤니티 프로젝트인 czlonkowski/n8n-mcp는 Claude에 n8n의 400개 이상 노드 라이브러리에 대한 깊은 지식을 제공해 유효한 워크플로 JSON을 만들게 한다 . 이는 프로덕션에서 실행하는 용도라기보다 자동화를 구축할 때 함께 쓰기 좋은 보완 조합이다.
핵심은 이렇다. 서빙 표면은 얇게, 워크플로는 두껍게 유지한다. 선별된 굵직한 도구, 검색 메타 도구, 다듬은 응답을 조합하면 58개의 시끄러운 정의가 Claude가 실제로 추론할 수 있는 몇 개의 도구로 바뀐다.
자주 묻는 질문
Claude에서 n8n을 MCP 서버로 쓰려면 공개 URL이 필요한가요?
그렇다. Claude는 Anthropic의 클라우드 인프라에서 접속하므로 localhost 엔드포인트에는 도달할 수 없다. n8n 인스턴스는 HTTP로 공개 접근이 가능해야 한다(Streamable HTTP 또는 SSE, 로컬 stdio가 아님) . 자체 호스팅 n8n에는 공개 도메인이나 Cloudflare Tunnel, ngrok 같은 터널이 필요하다. Claude Desktop의 로컬 stdio 설정에서는 Authorization bearer 헤더와 함께 npx mcp-remote <MCP_URL>를 사용해 원격 엔드포인트로 브리지한다 .
Claude MCP 도구 호출 하나는 n8n 실행을 몇 번 소비하나요?
도구 호출 하나는 워크플로에 노드가 몇 개 있든 전체 워크플로 실행 한 번을 트리거한다. n8n Cloud는 단계별이 아니라 실행 단위로 과금한다 . Cloud Starter 플랜(연간 결제 기준 월 20 EUR, 월 2,500회 실행)에서는 Claude가 메시지마다 도구를 호출하는 수다스러운 세션이 쿼터를 빠르게 소모할 수 있다 . 잘게 쪼갠 호출을 많이 만들기보다 내부에서 작업을 묶어 처리하는 굵직한 도구로 설계하는 편이 좋다.
n8n의 MCP Server Trigger와 n8n 자체 MCP 클라이언트는 무엇이 다른가요?
둘은 반대 방향으로 동작한다. MCP Server Trigger는 n8n 인스턴스를 Claude가 호출하는 서버로 만든다. 즉 Claude에서 나가고 n8n으로 들어오는 흐름이며, 연결한 도구만 노출한다 . n8n의 퍼스트파티 MCP 클라이언트(n8n 2.18.4+)는 반대다. Claude, Cursor, ChatGPT가 자연어로 n8n 워크플로를 만들고 수정할 수 있게 한다 . 이 두 기능은 자주 혼동된다.
커스텀 MCP 커넥터를 지원하는 Claude 플랜은 무엇인가요?
Free, Pro, Max, Team, Enterprise 플랜은 모두 커스텀 커넥터를 지원하며, 2026년 4월 2일부터 베타로 제공되고 있다 . Free 플랜은 커넥터 URL 1개로 제한된다. Pro와 Max 사용자는 Settings에서 커넥터 URL을 직접 추가하고, Team과 Enterprise 소유자는 조직 수준에서 설정한다 .
30–50개 도구부터 정확도가 떨어진다는 말은 Anthropic의 공식 제한인가요?
아니다. 사용 가능한 도구가 대략 30–50개일 때 도구 선택 정확도가 떨어진다는 지점은 커뮤니티 분석에서 실무자들이 관찰한 임계값이지, 공식적으로 발표된 하드캡은 아니다. 따라서 방향성 정도로 보는 것이 맞다 . Anthropic은 대화당 최대 도구 수를 공개하지 않는다. 문서화된 하드 제한은 결과 크기(Claude.ai 기준 약 150,000자), 300초 도구 타임아웃, Free 플랜의 커넥터 1개 제한, Claude Code의 25,000토큰 출력 상한이다 .