스프링부트 MCP 서버 사용법

Ashley Goolam

Ashley Goolam

31 July 2025

스프링부트 MCP 서버 사용법

AI 기반 앱을 더욱 스마트하게 만들 준비가 되셨나요? 오늘은 Claude나 Cursor와 같은 AI 모델이 모델 컨텍스트 프로토콜(MCP)을 통해 데이터와 상호 작용할 수 있게 해주는 환상적인 도구인 SpringBoot MCP 서버에 대해 자세히 알아보겠습니다. 가벼운 Spring Boot 앱으로 구동되는 AI가 몇 가지 명령만으로 과정 정보를 가져오거나 특정 데이터를 검색한다고 상상해 보세요. 이 대화형 가이드에서는 SpringBoot MCP 서버를 설정하고 사용하는 방법을 단계별로 안내하며, 실제로 작동하는지 확인하는 테스트도 포함되어 있습니다. 코딩을 시작해 봅시다!

💡
아름다운 API 문서를 생성하는 훌륭한 API 테스트 도구를 원하시나요?

최대 생산성으로 개발팀이 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하시나요?

Apidog는 당신의 모든 요구사항을 충족하며, Postman을 훨씬 저렴한 가격으로 대체합니다!
버튼

SpringBoot MCP 서버란 무엇인가요?

SpringBoot MCP 서버는 Spring AI MCP 프레임워크를 사용하여 AI 모델을 위한 도구로 데이터를 노출하는 Spring Boot 애플리케이션입니다. 표준화된 MCP 도구를 통해 AI에 앱의 데이터(예: 과정 세부 정보)에 대한 직접적인 연결을 제공하는 것과 같습니다. 이 튜토리얼에서는 두 가지 주요 도구를 제공하는 서버에 중점을 둘 것입니다:

이 설정은 외부 데이터를 AI 모델과 통합하거나 자체 MCP 서버를 구축하는 데 완벽합니다. 또한 Spring Boot로 구축되어 개발자 친화적이며 확장이 용이합니다. 기대되시나요? 설정해 봅시다!

스프링 부트

SpringBoot MCP 서버 사용 방법

사전 요구 사항

시작하기 전에 다음을 준비하세요:

1단계: 새 Spring Boot 프로젝트 생성

Spring Initializr 방문:

스프링 이니셜라이저

IntelliJ IDEA에서 열기:

2단계: 프로젝트 구조 이해하기

SpringBoot MCP 서버는 다음과 같은 주요 구성 요소를 포함합니다:

프로젝트 구조

다음은 `application.properties` 설정 예시입니다:

spring.application.name=test-mcp-server
spring.main.web-application-type=none
spring.ai.mcp.server.name=game-demo-mcp
spring.ai.mcp.server.version=0.0.1
spring.main.banner-mode=off
logging.pattern.console=

이것은 앱을 STDIO 전송을 사용하는 비웹 서버로 구성하며, MCP 통신에 완벽합니다.

3단계: 데이터 모델 정의하기

과정 데이터를 나타내는 간단한 `Game.java` 레코드를 생성하세요:

package com.example.testmcpserver;

public record Game(String title, String url){
}

이 불변 레코드는 제목과 URL 같은 과정 세부 정보를 담고 있어 AI 모델이 처리하기 쉽습니다.

4단계: MCP 도구 구현하기

`GameService.java`에서 `@Tool` 어노테이션을 사용하여 도구를 정의하세요. 다음은 예시입니다:

package com.example.testmcpserver;

import jakarta.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class GameService {

    private static final Logger log = LoggerFactory.getLogger(GameService.class);
    private List<Game> games = new ArrayList<>();

    @Tool(name = "get_games", description = "Get a list of games from the collection")
    public List<Game> getGames() {
        return games;
    }

    @Tool(name = "get_game", description = "Get a single game from from the collection by title")
    public Game getGame(String title) {
        return games.stream().filter(course -> course.title().equals(title)).findFirst().orElse(null);
    }

    @PostConstruct
    public void init() {
        games.addAll(List.of(
                new Game("GTA 6", "https://www.rockstargames.com/VI"),
                new Game("FC 26","https://www.ea.com/en/games/ea-sports-fc/fc-26"),
                new Game("Call of Duty: Black Ops 7","https://www.callofduty.com/blackops7")
        ));
    }

}

이 도구들을 통해 AI 모델은 모든 과정을 검색하거나 제목으로 특정 과정을 찾을 수 있습니다.

5단계: MCP 프레임워크에 도구 등록하기

`TestMcpServerApplication.java`에서 도구를 등록하세요:

package com.example.testmcpserver;

import org.springframework.ai.support.ToolCallbacks;
import org.springframework.ai.tool.ToolCallback;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

import java.util.List;

@SpringBootApplication
public class TestMcpServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestMcpServerApplication.class, args);
    }

    @Bean
    public List<ToolCallback> danTools(GameService gameService) {
        return List.of(ToolCallbacks.from(gameService));
    }

}

`ToolCallbacks.from()` 메서드는 `GameService`에서 `@Tool` 어노테이션을 스캔하고 SpringBoot MCP 서버에 등록합니다.

6단계: SpringBoot MCP 서버 실행하기

빌드 및 실행:

mvn spring-boot:run

도구 확인:

7단계: Cursor 또는 Claude Desktop에 연결하기

Claude Desktop에서 SpringBoot MCP 서버를 사용하려면:

프로젝트 컴파일:

mvn clean package
jar 파일이 있는 대상 폴더

A. Claude Desktop 구성하기:

{
  "mcpServers": {
    "game-demo-mcp": {
      "command": "java",
      "args": [
        "-jar",
        "path/to/test-mcp-server-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}
클로드 구성 편집

Claude Desktop 다시 시작:

B. Cursor 구성하기:

  1. 설정(Settings)으로 이동한 다음, 커서 설정(Cursor Settings)으로 이동하세요.
  2. 도구 및 통합(Tools and Integrations)을 선택하세요.
  3. 새 MCP 서버(New MCP server)를 클릭하세요.
커서 mcp 구성 편집

8단계: SpringBoot MCP 서버 테스트하기

Claude Desktop으로 서버를 테스트해 봅시다:

Claude Desktop 또는 Cursor를 열고 명령을 내리세요:

MCP 서버를 사용하여 사용 가능한 모든 게임을 가져와.
사용 가능한 게임:
- 제목: GTA 6, URL: https://www.rockstargames.com/VI
- 제목: FC 26, URL: https://www.ea.com/en/games/ea-sports-fc/fc-26
mcp 서버 테스트 중

특정 게임 시도:

MCP 서버를 사용하여 제목이 "FC 26"인 게임을 가져와.
게임: FC 26, URL: https://www.ea.com/en/games/ea-sports-fc/fc-26

이것으로 SpringBoot MCP 서버가 작동함을 확인했습니다!

9단계: SpringBoot MCP 서버 확장하기

더 멋지게 만들고 싶으신가요? 몇 가지 아이디어가 있습니다:

@Tool(name = "search_games", description = "Search games containing a keyword")
public List<Game> searchGames(String keyword) {
    return games.stream()
        .filter(game -> game.title().toLowerCase().contains(keyword.toLowerCase()))
        .collect(Collectors.toList());
}

문제 해결 팁

SpringBoot MCP 서버를 사용하는 이유

SpringBoot MCP 서버는 Spring Boot의 단순함을 좋아하고 데이터를 AI와 통합하려는 개발자들에게 꿈과 같은 존재입니다. 가볍고, 안전한 통신을 위해 STDIO를 사용하며, Claude와 같은 AI 모델이 앱의 데이터에 실시간으로 접근할 수 있도록 합니다. 과정 플랫폼을 구축하든 다른 데이터 기반 앱을 구축하든, 이 서버는 AI 통합을 매우 쉽게 만듭니다.

Claude Desktop 및 Cursor를 사용한 테스트는 게임 데이터를 가져오는 것이 얼마나 쉬운지 보여주었습니다. 이를 복잡한 쿼리를 처리하거나 실제 데이터베이스에 연결하도록 확장한다고 상상해 보세요. 가능성은 무궁무진합니다!

결론

이것으로 끝입니다! 앱에 AI 기반 데이터 접근을 제공하기 위해 SpringBoot MCP 서버를 설정하고 사용하는 방법을 배웠습니다. Spring Boot 프로젝트 생성부터 Claude Desktop에 연결하고 과정 쿼리를 테스트하는 것까지, 이제 더 스마트한 AI 통합을 구축할 준비가 되었습니다. 새로운 도구를 추가하거나 데이터베이스를 연결하여 더 발전시켜 보세요.

💡
아름다운 API 문서를 생성하는 훌륭한 API 테스트 도구를 원하시나요?

최대 생산성으로 개발팀이 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하시나요?

Apidog는 당신의 모든 요구사항을 충족하며, Postman을 훨씬 저렴한 가격으로 대체합니다!
버튼

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요