Sẵn sàng làm cho các ứng dụng hỗ trợ AI của bạn thông minh hơn nữa? Hôm nay, chúng ta sẽ tìm hiểu về SpringBoot MCP Server, một công cụ tuyệt vời cho phép các mô hình AI như Claude hoặc Cursor tương tác với dữ liệu của bạn thông qua Giao thức Ngữ cảnh Mô hình (Model Context Protocol - MCP). Hãy tưởng tượng AI của bạn có thể lấy thông tin khóa học hoặc tìm kiếm dữ liệu cụ thể chỉ với vài lệnh—tất cả đều được hỗ trợ bởi một ứng dụng Spring Boot nhẹ nhàng. Trong hướng dẫn đàm thoại này, chúng tôi sẽ hướng dẫn bạn cách thiết lập và sử dụng SpringBoot MCP Server, kèm theo một bài kiểm tra để xem nó hoạt động như thế nào. Hãy bắt đầu lập trình nào!
Bạn muốn một nền tảng tích hợp, tất cả trong một để Đội ngũ Phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn và thay thế Postman với mức giá phải chăng hơn nhiều!
SpringBoot MCP Server là gì?
SpringBoot MCP Server là một ứng dụng Spring Boot sử dụng framework Spring AI MCP để hiển thị dữ liệu của bạn dưới dạng các công cụ cho các mô hình AI. Nó giống như việc cung cấp cho AI của bạn một đường dây trực tiếp đến dữ liệu ứng dụng của bạn, chẳng hạn như chi tiết khóa học, thông qua các công cụ MCP được tiêu chuẩn hóa. Trong hướng dẫn này, chúng tôi sẽ tập trung vào một máy chủ cung cấp hai công cụ chính:
- Lấy tất cả trò chơi: Truy xuất danh sách tất cả các trò chơi có sẵn.
- Tìm kiếm trò chơi theo tiêu đề: Tìm một trò chơi cụ thể theo tiêu đề của nó.
Thiết lập này hoàn hảo để tích hợp dữ liệu bên ngoài với các mô hình AI hoặc xây dựng các máy chủ MCP của riêng bạn. Ngoài ra, nó được xây dựng bằng Spring Boot, nên rất thân thiện với nhà phát triển và dễ mở rộng. Hào hứng chưa? Hãy cùng thiết lập nó nào!

Cách sử dụng SpringBoot MCP Server
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Java 24: Tải xuống từ oracle.com.
- Maven 3.8+: Cài đặt từ maven.apache.org.
- IntelliJ IDEA: Tải về từ jetbrains.com (hoặc sử dụng IDE ưa thích của bạn).
- Claude Desktop hoặc Cursor: để kiểm thử với một client AI (anthropic.com & curosor.com).
- Kiến thức cơ bản về Spring Boot: Việc làm quen với các kiến thức cơ bản về Spring Boot sẽ hữu ích.
Bước 1: Tạo một dự án Spring Boot mới
Truy cập Spring Initializr:
- Truy cập start.spring.io.
- Thiết lập dự án của bạn:
- Dự án: Maven
- Ngôn ngữ: Java
- Spring Boot: 3.5.4 (phiên bản ổn định mới nhất tính đến tháng 7 năm 2025)
- Đóng gói: Jar
- Phiên bản Java: 24 (hoặc phiên bản đã cài đặt của bạn)
- Thêm phần phụ thuộc Spring AI MCP Server:

- Nhấp vào Generate và tải xuống dự án.
Mở trong IntelliJ IDEA:
- Giải nén dự án đã tải xuống và mở nó trong IntelliJ IDEA dưới dạng một dự án mới.
Bước 2: Hiểu cấu trúc dự án
SpringBoot MCP Server của bạn bao gồm các thành phần chính:
- Game.java: Một bản ghi cho dữ liệu khóa học (ví dụ: tiêu đề và URL).
- GameService.java: Chứa các công cụ MCP với chú thích
@Tool
. - TestMcpServerApplication.java: Lớp ứng dụng chính đăng ký các công cụ.
- application.properties: Cấu hình máy chủ MCP cho giao thức truyền tải STDIO.

Dưới đây là một ví dụ về thiết lập 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=
Cấu hình này thiết lập ứng dụng như một máy chủ không web sử dụng giao thức truyền tải STDIO, hoàn hảo cho giao tiếp MCP.
Bước 3: Định nghĩa mô hình dữ liệu
Tạo một bản ghi Game.java
đơn giản để đại diện cho dữ liệu khóa học:
package com.example.testmcpserver;
public record Game(String title, String url){
}
Bản ghi bất biến này chứa các chi tiết khóa học như tiêu đề và URL, giúp các mô hình AI dễ dàng xử lý.
Bước 4: Triển khai các công cụ MCP
Trong GameService.java
, định nghĩa các công cụ bằng cách sử dụng chú thích @Tool
. Dưới đây là một ví dụ:
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")
));
}
}
Các công cụ này cho phép các mô hình AI truy xuất tất cả các khóa học hoặc tìm một khóa học cụ thể theo tiêu đề.
Bước 5: Đăng ký công cụ với Framework MCP
Trong TestMcpServerApplication.java
, đăng ký các công cụ:
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));
}
}
Phương thức ToolCallbacks.from()
quét GameService
để tìm các chú thích @Tool
và đăng ký chúng với SpringBoot MCP Server.
Bước 6: Chạy SpringBoot MCP Server
Xây dựng và chạy:
- Trong IntelliJ, mở một terminal và chạy:
mvn spring-boot:run
- Máy chủ khởi động như một máy chủ MCP sử dụng giao thức truyền tải STDIO, không có giao diện web.
Xác minh công cụ:
- Máy chủ đăng ký hai công cụ:
get_games
(liệt kê tất cả trò chơi) vàget_game
(tìm một trò chơi theo tiêu đề).
Bước 7: Kết nối với Cursor hoặc Claude Desktop
Để sử dụng SpringBoot MCP Server với Claude Desktop:
Biên dịch dự án:
- Xây dựng tệp JAR:
mvn clean package
- Tìm tệp JAR trong
target/test-mcp-server-0.0.1-SNAPSHOT.jar
.

A. Cấu hình Claude Desktop:
- Mở
claude_desktop_config.json
(macOS:~/Library/Application Support/Claude
, Windows:%APPDATA%\Claude
). - Thêm:
{
"mcpServers": {
"game-demo-mcp": {
"command": "java",
"args": [
"-jar",
"path/to/test-mcp-server-0.0.1-SNAPSHOT.jar"
]
}
}
}
- Thay thế
path/to/
bằng đường dẫn thực tế đến tệp JAR của bạn (ví dụ:D:/Apidog_Projects/spring-boot-mcp-server/test-mcp-server/target/test-mcp-server-0.0.1-SNAPSHOT.jar
).

Khởi động lại Claude Desktop:
- Đóng và mở lại Claude để áp dụng cấu hình.
B. Cấu hình Cursor:
- Điều hướng đến Cài đặt, sau đó Cài đặt Cursor
- Chọn Công cụ và Tích hợp
- Nhấp vào Máy chủ MCP mới

Bước 8: Kiểm thử SpringBoot MCP Server
Hãy kiểm thử máy chủ với Claude Desktop:
Mở Claude Desktop hoặc Cursor và đưa ra một lệnh:
- Trong client mcp của bạn, nhập:
Sử dụng máy chủ MCP, lấy tất cả các trò chơi có sẵn.
- Claude (hoặc Cursor) sẽ phản hồi với:
Available games:
- Title: GTA 6, URL: https://www.rockstargames.com/VI
- Title: FC 26, URL: https://www.ea.com/en/games/ea-sports-fc/fc-26

Thử một trò chơi cụ thể:
- Nhập:
Sử dụng máy chủ MCP, lấy trò chơi có tiêu đề "FC 26".
- Phản hồi dự kiến:
Game: FC 26, URL: https://www.ea.com/en/games/ea-sports-fc/fc-26
Điều này xác nhận SpringBoot MCP Server của bạn đang hoạt động!
Bước 9: Mở rộng SpringBoot MCP Server
Muốn làm cho nó tuyệt vời hơn nữa? Dưới đây là một số ý tưởng:
- Thêm nhiều khóa học hơn: Cập nhật phương thức
init()
củaGameService
để bao gồm nhiều đối tượngGame
hơn. - Công cụ mới: Thêm các phương thức với chú thích
@Tool
, ví dụ như một chức năng tìm kiếm:
@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());
}
- Sử dụng cơ sở dữ liệu: Thay thế danh sách
games
trong bộ nhớ bằng kết nối cơ sở dữ liệu. - Cải thiện tìm kiếm: Thêm tính năng tìm kiếm gần đúng (fuzzy matching) hoặc bộ lọc danh mục.
Mẹo khắc phục sự cố
- Máy chủ không khởi động? Đảm bảo Java 24 và Maven đã được cài đặt, và kiểm tra
application.properties
để biết các cài đặt chính xác. - Claude không kết nối? Xác minh đường dẫn JAR trong
claude_desktop_config.json
và khởi động lại Claude. - Không tìm thấy công cụ? Xác nhận các chú thích
@Tool
là chính xác vàToolCallbacks
đã được đăng ký. - Không có đầu ra? Kiểm tra terminal đang chạy
mvn spring-boot:run
để tìm lỗi.
Tại sao nên sử dụng SpringBoot MCP Server?
SpringBoot MCP Server là một giấc mơ đối với các nhà phát triển yêu thích sự đơn giản của Spring Boot và muốn tích hợp AI với dữ liệu của họ. Nó nhẹ, sử dụng STDIO để giao tiếp an toàn và cho phép các mô hình AI như Claude truy cập dữ liệu ứng dụng của bạn trong thời gian thực. Cho dù bạn đang xây dựng một nền tảng khóa học hay một ứng dụng dựa trên dữ liệu khác, máy chủ này giúp việc tích hợp AI trở nên dễ dàng.
Bài kiểm thử của chúng tôi với Claude Desktop và Cursor đã cho thấy việc lấy dữ liệu trò chơi dễ dàng như thế nào. Hãy tưởng tượng việc mở rộng nó để xử lý các truy vấn phức tạp hoặc kết nối với một cơ sở dữ liệu thực—khả năng là vô tận!
Kết luận
Và đó là tất cả! Bạn đã học cách thiết lập và sử dụng SpringBoot MCP Server để mang khả năng truy cập dữ liệu được hỗ trợ bởi AI vào các ứng dụng của mình. Từ việc tạo một dự án Spring Boot đến kết nối nó với Claude Desktop và kiểm thử các truy vấn khóa học, giờ đây bạn đã sẵn sàng xây dựng các tích hợp AI thông minh hơn. Hãy thử thêm các công cụ mới hoặc kết nối với cơ sở dữ liệu để phát triển nó hơn nữa.
Bạn muốn một nền tảng tích hợp, tất cả trong một để Đội ngũ Phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn và thay thế Postman với mức giá phải chăng hơn nhiều!