데브허브 | DEVHUB | 스프링AI - 14. MCP연동 개념
- MCP 서버는 주로 툴(함수 구조, JSON 스키마 기반), 리소스(URI 구조), 프롬프트 템플릿의 세 가지 블록 타입으로 서비스를 제공합니다. 🛠️
- Spring AI는 MCP 서비스 중 '툴' 타입만 지원하며, '리소스'나 '프롬프트 템플릿' 타입은 MCP 진영에서도 거의 사용되지 않아 사실상 사장될 것으로 보입니다. 🎯
- Spring AI는 MCP를 독립적인 개념으로 인식하지 않고, MCP 서버를 ToolCallbackProvider의 집합으로 간주하여 내부적으로 툴로 처리합니다. ⚙️
- 이로 인해 개발자들은 Spring AI에서 MCP 설정을 어디서 하는지, 코드에 왜 MCP 관련 내용이 없는지 혼란을 겪을 수 있습니다. 🤯
- MCP 클라이언트와 서버는 주로 JSON RPC를 통해 통신하며, ToolCallbackManager는 동기 또는 비동기 모드로 작동할 수 있습니다. 📡
- MCP 서버는 로컬 프로세스로 실행되는 스탠더드 IO 방식과 HTTPS 및 공인 인증서가 필요한 웹 서버(SSE) 방식으로 구현될 수 있습니다. 💻
- Spring AI의 ChatPrompt는 API ChatCompletion 기반으로 MCP를 직접 지원하지 않으며, MCP를 지원하는 별도의 API(예: Llama)가 존재합니다. 🔗