MCP와 n8n 비교하여 알아보기
AI ·AI 프로덕트가 하루가 다르게 쏟아지고 있는데 막상 데이터 분석 실무에서 AI를 적극적으로 사용하고 있지는 못한 것 같다. 물론 분석 결과에 대해 의견을 주고 받거나 쿼리 생성을 하는 등 유용하게 쓰고는 있지만 아직은 AI 프로덕트를 시스템화하여 사용하는데는 한계를 느끼고 있다. 그래서 다양한 AI 프로덕트를 조금씩 사용해보면서 느낀 점을 정리해보려고 한다. 이번 글에서는 MCP와 n8n에 대해서 알아보고 차이점에 대해 비교해보자.
- AI Agent란?
MCP에 앞서 AI Agent에 대한 이해가 있어야 MCP의 역할을 좀 더 이해하기 쉽다.
- AI Agent는 사용자를 대신하여 사전에 결정된 목표를 달성하기 위해 자율적으로 추론하고 계획하여 복잡한 태스크를 수행하는 AI 시스템을 의미한다.
- 여기서 중요한 점은 “자율성”에 있는데 단순히 사용자의 인풋에 반응하는 것을 넘어서, 주어진 목표 달성을 위해 스스로 판단하고 계획을 수립하여 실행한다.
- AI Agent는 다음의 아키텍처로 구성되며, 목표 설정, 정보 획득, 작업 수행 크게 3개의 워크플로우로 작동한다.
- 여기서 AI Agent와 MCP는 상호 보조의 역할을 수행한다. AI Agent는 두뇌 역할로 사용자 목적을 해석하고 계획을 수립한다면, MCP 서버는 팔과 다리 역할로 정해진 작업을 안전하게 실행한다.
- MCP (Model Context Protocol)
AI Agent 아키텍처 상에서 MCP는 주로 다음과 같은 역할을 한다. 이 중에서 첫 번째 특징이 MCP가 가지는 가장 큰 장점으로 부각되고 있다. 따라서 MCP를 한 마디로 정의한다면 “외부 툴에 AI assistant를 연동하는 표준 시스템”이라고 할 수 있다.
- Tool Interface 계층의 표준화
- 전통적으로 AI Agent가 여러 외부 툴이나 서비스에 연결하려면 개별적으로 커넥터 또는 API 개발이 필수적이었는데,
- MCP는 AI Agent를 다양한 외부 툴 및 데이터 소스에 연결하는 표준화된 프로토콜로 일종의 usb 포트와 같은 역할을 수행한다.
- Context Management
- Language Model이 추론할 때 필요한 배경 지식이나 context 정보를 제공함으로써 추론 과정에 부작용이 없도록 한다.
- Prompts 템플릿
- 일반적인 LLM 상호작용을 프롬프트 템플릿과 워크플로우를 정의함으로써 표준화하고, 공유하는 강력한 방법을 제공한다.
- MCP 아키텍쳐
MCP는 단순한 클라이언트-서버 아키텍처를 따릅니다.
- Host(Host with MCP client) : Cursor AI, Claude desktop 등으로 대표되는 사용자 앱. 호스트는 클라이언트에게 특정 요청을 보내고, 클라이언트를 통해 서버 도구를 사용한다.
- Client : 통신 중개자로서 호스트의 요청을 MCP 언어(JSON RPC 방식)로 변환하여 서버와 통신한다. 서버는 요청을 처리하고 그 결과를 다시 클라이언트에게 전달한다. 클라이언트는 이 결과를 호스트가 이해하는 언어로 변환하여 호스트에게 최종 응답을 전달한다.
- Server : 클라이언트로부터 받은 요청(웹 검색, DB 조회 등)을 수행한다. 로컬로 운영이 가능하며, 대부분의 시스템이 로컬 서버를 기반으로 실행된다. 리모트 서버와 로컬 서버 모두 통신할 수 있는 환경을 제공한다.
- n8n
한편 n8n은 오픈소스 AI 워크플로우 자동화 툴이다. 시각적 인터페이스를 제공하여 드래그 앤 드롭 방식으로 워크플로우 설계할 수 있고, 복잡한 코딩 없이도 다양한 애플리케이션과 서비스 연동이 가능하다. 또한 셀프 호스팅이 가능해서 OAuth 및 API 키를 통해 안전한 데이터 연동을 지원한다.
n8n과 MCP는 주요 역할이 다르기 때문에 서로의 대체재는 아니지만 여러 툴을 연동하여 쓴다는 관점에서 2개의 툴을 비교해보았다. 다수의 툴을 연결할 때 MCP를 통해서 개별적으로 붙이는 경우와 n8n 안에서 연동한 후 MCP로는 n8n만 연결하는 경우를 비교해봤을 때
- 작업의 유연성이 더 필요하다면 MCP를
- 일정 부분 정해진 워크플로우 안에서 AI agent를 이용하고 싶다면 n8n을 쓰는 것이 적절하지 않을까 싶었다.
- 리서치 이후에 n8n을 써보았는데 워크플로우 실행 시 ai agent가 실행될 때만 비용이 청구되기 때문에 MCP로 계속 호출하는 것 대비 비용이 절감된다는 인상을 받았다.
Reference
- https://www.anthropic.com/news/model-context-protocol
- https://www.miquido.com/ai-glossary/ai-agent-architecture/
- https://www.querypie.com/ko/resources/discover/white-paper/22/your-architect-vs-ai-agents
- https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/
- https://wikidocs.net/book/17801
- https://www.youtube.com/watch?v=szUo30BOZlo