Introduction - Model Context Protocol
Understand how MCP connects clients, servers, and LLMs
modelcontextprotocol.io
What is MCP(Model Context Protocol)?
- AI 어시스턴트와 데이터·시스템을 연결하기 위한 오픈 표준 프로토콜이다.
- Anthropic이 제안한 이 프로토콜을 통해 개발자는 비즈니스 툴, 콘텐츠 저장소, 개발 환경 등 다양한 데이터 소스와 AI 애플리케이션 간에 양방향(two-way) 연결을 안전하게 구축할 수 있다.
- MCP는 마치 USB-C 포트가 기기와 주변장치의 표준 인터페이스 역할을 하듯, LLM 애플리케이션이 다양한 데이터 소스와 툴을 표준화된 방식으로 연결하게 하게 한다.
MCP-Agent
- Agent는 LLM이 핵심 역할을 하고 Thought → Action → Observation의 과정을 loop 하면서 스스로 문제해결 (react framework) + 외부 tool 사용 가능하다.
- MCP는 Agent의 tool 부분을 담당한다.
Architecture
- MCP Hosts: MCP를 통해 데이터에 액세스하려는 Claude Desktop, IDE 또는 AI 도구와 같은 프로그램
- MCP Clients: 서버와 1:1 연결을 유지하는 프로토콜 클라이언트
- MCP Servers: 표준화된 모델 컨텍스트 프로토콜을 통해 각각 특정 기능을 노출하는 경량 프로그램
- Local Data Sources: MCP 서버가 안전하게 액세스할 수 있는 사용자 컴퓨터의 파일, 데이터베이스 및 서비스
- Remote Services: MCP 서버가 연결할 수 있는 인터넷을 통해 사용 가능한 외부 시스템(예: API를 통해)
Why MCP?
- LangChain, LangGraph에 integration되어있는 툴들을 써서 agent를 만들 수 있는 사람은 일부 개발자이다. 반면 MCP는 외부에 공개되어있고 누구나 쓸 수 있도록 되어있다. 처음 공개되었을 때는 tool을 받을 수 있는 LLM과 react framework가 없었지만 Cursor AI가 LLM과 react framework를 둘 다 담당해주면서 MCP가 대세로 자리잡았다.
- 기존에는 AI가 새로운 서비스를 활용하려면 그때마다 각 서비스 전용 API를 따로 개발하고 연동해야 했다. MCP를 사용하면 AI가 데이터나 도구에 연결할 때마다 별도의 코드 작성 없이도 하나의 표준된 방식으로 쉽게 연결할 수 있다. MCP는 다양한 기기를 하나의 USB포트에 연결하는 것과 유사하다. 하나의 표준 포트를 통해 여러 기기를 연결하고 데이터를 교환하듯, MCP 하나로 수많은 서비스와 데이터를 쉽게 연결할 수 있다.
- MCP는 에디터이기 때문에 LangChain이나 LangGraph와는 달리 명령어를 내리면 단순히 채팅으로 답변주고 끝나는 것이 아니라 수많은 기능들까지 갖추고 있다.
- MCP로 인해 툴들이 많아지고 Cursor AI, MCP를 사용하는 사용자들이 늘어난다. 그로 인해 좋은 사례들이 많이 만들어지고 더 많은 유저가 유입되어 다시 툴들이 많아지는 선순환이 일어난다.
- claude desktop, cursor, mcp 세 개의 합작으로 점점 더많은 ide들이 mcp지원하려고 할 것이다. 지금은 사용할 수 있는 client가 editer에만 묶여있는데 에디터가 확장이 되어서 디양한 애플리케이션에도 mcp를 꽂아서 쓸 수 있게 될 것이다. 더 많은 툴들, 더많은 클라이언트가 생길 것이다.
- MCP를 구현하는 방식도 간단하다. 파이썬이나 다른 언어로도 지원, FastMCP로 가져와서 툴로 데코레이터를 씌워주면 바로 MCP형식의 툴로 지원을 해준다.