Model Context Protocol

Model Context Protocol (MCP) 시작하기

MCP는 AI 애플리케이션이 외부 도구와 리소스에 상호작용하는 방식을 표준화한 프로토콜이에요. Spring은 MCP 생태계에 일찍부터 핵심 기여자로 참여해서 Java 기반 MCP 구현의 기반이 되는 공식 MCP Java SDK를 함께 개발하고 유지보수하고 있어요. 이 글에서는 Spring AI로 MCP 서버와 클라이언트를 만드는 방법을 빠르게 시작해 볼게요.

출처: 문서

본문

Model Context Protocol (MCP) 시작하기 (Getting Started with Model Context Protocol)

MCP(Model Context Protocol)는 AI 애플리케이션이 외부 도구와 리소스에 상호작용하는 방식을 표준화해요. Spring은 MCP 생태계에 일찍부터 핵심 기여자로 참여하여, Java 기반 MCP 구현의 기반이 되는 공식 MCP Java SDK의 개발과 유지보수를 도왔어요.

이 기여를 바탕으로 Spring AI는 Boot Starters와 어노테이션을 통해 MCP 지원을 제공해서, MCP 서버와 클라이언트를 모두 쉽게 만들 수 있게 해 줘요.

소개 영상 (Introduction Video)

Introduction to Model Context Protocol (MCP) - YouTube

Model Context Protocol에 대한 입문 개요를 여기서 시작해 보세요. 핵심 개념과 아키텍처를 설명해 줘요.

전체 튜토리얼과 소스 코드 (Complete Tutorial and Source Code)

📖 블로그 튜토리얼: Connect Your AI to Everything 💻 완전한 소스 코드: MCP Weather Example Repository

튜토리얼은 Spring AI로 MCP를 개발하는 핵심 내용과 고급 기능, 배포 패턴을 다뤄요. 아래의 모든 코드 예시는 이 튜토리얼에서 가져온 거예요.

빠른 시작 (Quick Start)

가장 빠르게 시작하는 방법은 Spring AI의 어노테이션 기반 접근 방식을 쓰는 거예요. 다음 예시는 블로그 튜토리얼에서 가져온 것이에요:

간단한 MCP 서버 (Simple MCP Server)

@Service
public class WeatherService {

    @McpTool(description = "Get current temperature for a location")
    public String getTemperature(
            @McpToolParam(description = "City name", required = true) String city) {
        return String.format("Current temperature in %s: 22°C", city);
    }
}

의존성을 추가하고 구성해 주세요:

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
</dependency>
spring.ai.mcp.server.protocol=STREAMABLE

간단한 MCP 클라이언트 (Simple MCP Client)

@Bean
public CommandLineRunner demo(ChatClient chatClient, ToolCallbackProvider mcpTools) {
    return args -> {
        String response = chatClient
            .prompt("What's the weather like in Paris?")
            .tools(mcpTools)
            .call()
            .content();
        System.out.println(response);
    };
}

의존성을 추가하고 구성해 주세요:

<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-starter-mcp-client</artifactId>
</dependency>
spring:
  ai:
    mcp:
      client:
        streamable-http:
          connections:
            weather-server:
              url: http://localhost:8080

학습 자료 (Learning Resources)

구현 영상 (Implementation Video)

Spring AI Model Context Protocol (MCP) Integration - YouTube

Spring AI의 MCP 통합에 대한 영상 워크스루예요. 서버와 클라이언트 구현을 모두 다뤄요.

추가 예시 저장소 (Additional Examples Repository)

튜토리얼 예시 외에도 Spring AI Examples 저장소에 수많은 MCP 구현이 있어요.

어노테이션 기반 예시 (Annotation-based examples)

사용 사례별 (By Use Case)

날씨 서비스 (Weather Services):

데이터 통합 (Data Integration):

웹 통합 (Web Integration):

클라이언트 예시 (Client Examples):

커뮤니티 자료 (Community Resources)

참고 문서 (Reference Documentation)

더 알아보기 (Learn more)