인공지능의 '도구'
최근 AI가 단순히 텍스트 답변을 넘어서, 그림을 그리거나 웹을 검색하고, 복잡한 코드를 작성하는 등 다양한 작업을 수행하는 모습이 우리에게 익숙해지고 있다. 이러한 능력은 AI가 외부 도구를 활용 할 수 있기 떄문에 가능한 것 이다.
하지만 지금까지는 이 도구들이 특정 플랫폼에 종속되어 있었다. 예를 들어 OpenAI의 ChatGPT 내부에서만, Langchain의 '도구'는 그 프레임워크 안에서만 사용 가능했다.
이러한 한계를 해결하기 위해 등장한 것이 바로 MCP(Model Context Protocol)이다.
MCP란 무엇인가?
표준화된 도구 인터페이스: AI용 USB-C
MCP는 인공지능이 다양한 도구를 손쉽게 사용할 수 있도록 만들어진 표준 프로토콜이다.
기존에는 플랫폼 마다 도구의 형태가 달라 호환이 어려웠지만, MCP는 도구를 통일된 규격으로 만들어 어떤 AI 플랫폼이든 쉽게 쓸 수 있도록 한다.
비유하자면 USB-C처럼 어떤 기기든 호환되는 포트를 만든 것과 같다.
클라이언트와 서버 구조 이해하기
MCP 클라이언트
MCP 기반 도구를 사용하려면 클라이언트가 필요하다. 현재 사용가능한 클라이언트는 아래와 같다.
- Cursor: 개발자 친화적인 AI 코딩 IDE
- Claude Desktop: Anthropic의 AI Claude를 기반으로 한 데스크탑 앱
이들 앱은 설정 파일을 통해 MCP 도구를 등록하고 사용할 수 있다.
MCP 서버
서버는 AI가 사용할 수 있는 기능(=도구)을 제공하는 역할이다.
예를 들어, "텍스트를 파일로 저장하기", "로컬 디렉토리 검색하기", "DB에서 쿼리 실행하기" 같은 기능을 구현한 프로그램들이 모두 MCP 서버가 된다.
대표적인 MCP 호스팅 마켓 플레이스는 Smithery가 있으며, 수많은 공개 도구들을 브라우징하고 설치 코드를 손쉽게 복사 할 수 있다.
개발자를 위한 도구: Python SDK
MCP 서버는 직접 만들수도 있다. MCP 공식 Python SDK가 Github에 오픈되어 있어 간단한 코드로 도구를 개발할 수 있다.
Python SDK 뿐만 아니라. JS, JAVA 등 각종 언어를 지원하는 SDK도 있으니. 공식 Github를 참조하면 된다.
아래는 MCP 도구 등록 예시 이다.
{
"get_current_time": {
"command": "python",
"args": ["./mcp_server_time.py"],
"transport": "stdio"
}
}
이 설정은 Claude Desktop 설정 파일(Edit Config)에 추가하여 사용한다.
MCP의 미래: 도구 생태계의 표준으로 자리매김
- 플랫폼 독립적: 한 번 개발한 도구를 다양한 AI에서 사용할 수 있다.
- 마켓플레이스 활성화: 누구나 만든 도구를 공유하고, 설치하여 사용할 수 있다.
- 에이전트 시대의 기반 인프라: 복잡한 워크플로우도 AI가 도구를 호출하여 스스로 해결할 수 있는 기반 기술이 된다.
- 생태계 확대 예상: VSCode, Notion, 슬랙 등 다양한 플랫폼에도 클라이언트가 확장될 가능성이 크다.
마치며
MCP는 단지 새로운 기술 트렌드가 아니라,
툴을 만들고 연결하는 방식 자체를 표준화하는 실용적 도구이다.
지금까지 AI 도구는 플랫폼마다 제각각이었고, 개발자들은 일일이 그 틀에 맞춰야 했다.
하지만 이제는 MCP 하나만 이해하면, Claude, Cursor, AIEXE 등 다양한 환경에서 내가 만든 기능이 곧바로 통하는 구조를 만들 수 있다.
Python만 다룰 수 있어도 직접 도구를 만들어 배포할 수 있고,
Smithery 같은 마켓플레이스에 등록하면 바로 사용자들에게 노출된다.
한마디로, 누구나 참여할 수 있는 AI 도구 생태계가 열린 셈이다.
복잡한 기술보다 중요한 건 먼저 해보는 것이다.
설정 파일 열고 툴 하나 추가하는 것부터 시작해보면 좋을것 같다.
'AI > Large Language Model' 카테고리의 다른 글
LangChain 사용 사례 튜토리얼 파트2 (2) | 2024.11.22 |
---|---|
LangChain 기초 튜토리얼 파트1 (2) | 2024.11.21 |
Ollama와 Python 라이브러리를 이용하여 LLaMa2를 로컬에서 사용하기 (0) | 2024.11.16 |
Retrieval-Augmented Generation (RAG, 검색-증강 생성) (2) | 2024.11.15 |
구글 Gemini API 사용해보기 (4) | 2024.11.13 |