MCP는 애플리케이션이 LLM에게 컨텍스트를 제공하는 방식을 표준화한 개방형 프로토콜입니다.
마치 USB-C가 다양한 주변기기를 하나의 표준으로 연결하는 것처럼, MCP는 다양한 데이터 소스 및 도구를 LLM과 연결할 수 있는 통일된 인터페이스 역할을 합니다.
이러한 의문들을 정리하면서 MCP의 구조와 개념을 이해해보자.
💡 MCP는 프로토콜이기 때문에 각 구성요소는 정의된 역할에 따라 동작해야 합니다.
MCP 공식 문서에서는 다양한 언어(Node.js, Python, Kotlin 등)로 MCP 클라이언트를 직접 구현할 수 있도록 가이드를 제공합니다.
문서 내 예시는 Claude LLM을 기준으로 설명하고 있지만, MCP는 특정 모델에 종속되지 않는 모델 독립적인 오픈 프로토콜입니다.
결론적으로 Claude Desktop을 사용함으로써 내부에서 구현된 Client를 사용할 것이기 때문에 직접적으로 Client를 만들않고 MCP Server에 대해 알아봅니다.
Claude Desktop은 Host와 Client 역할을 모두 수행하므로 우리는 서버 구현에 집중하면 됩니다.
claude_desktop_config.json
파일 열기{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"C:\Users\YOUR_USERNAME\test.db"
]
}
}
}
✅ 이미 구현된 MCP 서버라면 위 설정만으로 사용 가능
ex) 계산기 MCP 서버
→ LLM은 입력된 프롬프트를 바탕으로 자체 처리 또는 MCP 리소스/툴 사용 여부를 스스로 판단함
ℹ️ 간단한 연산은 MCP 서버 없이 처리할 가능성 높음
프롬프트 예:
예: 현재 날씨 질의 시 학습된 정보가 아닌 실제 API 호출로 답변 가능
📚 참고 자료
💡 다음 문서에서 MCP 서버를 직접 구현하는 방법은 별도 포스트에서 다룰 예정입니다.