Chào các tín đồ Java! Bạn có muốn tăng cường sức mạnh cho các dự án AI của mình với một **Máy chủ Java MCP** tùy chỉnh không? Giao thức Model Context Protocol (MCP) cho phép các mô hình AI như Claude hoặc Cursor dễ dàng truy cập dữ liệu của bạn, và với Java SDK, bạn có thể xây dựng một máy chủ nhẹ để thực hiện điều đó. Trong hướng dẫn này, chúng ta sẽ tạo một **Máy chủ Java MCP** để chia sẻ dữ liệu trình bày với các trợ lý AI. Chúng ta sẽ giữ cho nó vui vẻ, dễ hiểu và thân thiện với người mới bắt đầu, hướng dẫn bạn qua các bước thiết lập, kiểm thử và mở rộng máy chủ của mình. Hãy cùng bắt đầu!
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!
Máy chủ Java MCP là gì?
Một **Máy chủ Java MCP** là một ứng dụng Java tinh gọn sử dụng Giao thức Model Context Protocol (MCP) để hiển thị dữ liệu cho các mô hình AI. Nó giống như việc cấp cho AI của bạn một thẻ VIP để truy cập thông tin ứng dụng của bạn—máy chủ của chúng ta sẽ chia sẻ dữ liệu trò chơi, nhưng bạn có thể tùy chỉnh nó cho bất kỳ mục đích nào. Máy chủ sử dụng MCP Java SDK để tạo các công cụ mà trợ lý AI có thể gọi, như lấy danh sách trò chơi hoặc tìm kiếm một trò chơi theo tiêu đề. Nó hoàn hảo để tích hợp dữ liệu của bạn với các máy khách AI, và rất dễ thiết lập với Spring Boot và Maven.

Hướng dẫn từng bước để tạo máy chủ Java MCP
Đ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 từ jetbrains.com (hoặc IDE ưa thích của bạn).
- Node.js: Để kiểm thử với MCP Inspector (nodejs.org).
- Claude Desktop hoặc Cursor: Tùy chọn, để tích hợp AI (anthropic.com hoặc cursor.sh).
Bước 1: Tạo hoặc sao chép dự án
Bạn có thể sao chép một kho lưu trữ hiện có hoặc tạo một dự án từ đầu.
Tùy chọn 1: Sao chép kho lưu trữ (Khuyến nghị)
1. Trong một terminal mới, chạy lệnh:
git clone https://github.com/danvega/javaone-mcp.git
cd javaone-mcp
2. Xây dựng dự án:
- Sử dụng Maven để tạo một JAR có thể thực thi:
mvn clean package
- Tìm tệp JAR trong
target/javaone-mcp-0.0.2.jar
.

Tùy chọn 2: Tạo từ đầu
1. Mở IntelliJ IDEA:
- Chọn New Project.
- Chọn Maven làm hệ thống xây dựng.
- Đặt tên dự án (ví dụ:
java-mcp-server
) và nhấp Create.

2. Thêm các phần phụ thuộc:
- Mở
pom.xml
và thêm:
<dependencies>
<!-- MCP SDK -->
<dependency>
<groupId>io.modelcontextprotocol.sdk</groupId>
<artifactId>mcp</artifactId>
<version>0.9.0</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.16</version>
</dependency>
</dependencies>
Bước 2: Hiểu cấu trúc dự án
**Máy chủ Java MCP** mà chúng ta vừa sao chép bao gồm:
- Application.java: Điểm vào chính khởi động máy chủ MCP.
- Presentation.java: Một mô hình dữ liệu cho dữ liệu trò chơi (chúng ta sẽ tùy chỉnh nó cho trò chơi).
- PresentationTools.java: Định nghĩa các công cụ MCP để truy cập dữ liệu trò chơi.
- Cấu hình: Sử dụng giao thức STDIO để giao tiếp AI.

Bước 3: Định nghĩa mô hình dữ liệu
Tạo Presentation.java
để đại diện cho dữ liệu trò chơi:
public record Presentation(String title, String url) { }
Bản ghi này chứa các chi tiết trò chơi như tiêu đề (ví dụ: “GTA 6”) và URL.
Bước 4: Triển khai các công cụ MCP
Trong PresentationTools.java
, định nghĩa các công cụ sử dụng MCP SDK:
import io.modelcontextprotocol.sdk.McpSchema;
import java.util.ArrayList;
import java.util.List;
public class PresentationTools {
private final List<Presentation> presentations = new ArrayList<>();
public PresentationTools() {
presentations.add(new Presentation("GTA 6", "https://example.com/gta6"));
presentations.add(new Presentation("FC 26", "https://example.com/fc26"));
presentations.add(new Presentation("Call of Duty: Black Ops 7", "https://example.com/codbo7"));
}
@McpSchema.Tool(name = "get_presentations", description = "Returns a list of all available games")
public List<Presentation> getPresentations() {
return presentations;
}
@McpSchema.Tool(name = "get_game", description = "Returns a specific game by title")
public Presentation getGame(String title) {
return presentations.stream()
.filter(p -> p.title().equalsIgnoreCase(title))
.findFirst()
.orElse(null);
}
}
Các công cụ này cho phép các mô hình AI lấy tất cả các trò chơi hoặc một trò chơi cụ thể theo tiêu đề.
Bước 5: Cấu hình và khởi động máy chủ MCP
Trong Application.java
, thiết lập **Máy chủ Java MCP**:
import io.modelcontextprotocol.sdk.McpServer;
import io.modelcontextprotocol.sdk.McpSchema;
import io.modelcontextprotocol.sdk.McpSyncServer;
public class Application {
public static void main(String[] args) {
PresentationTools tools = new PresentationTools();
var syncToolSpecification = new McpServerFeatures.SyncToolSpecification(
new McpSchema.Tool("get_presentations", "Returns a list of all available games", null),
(exchange, arguments) -> tools.getPresentations()
);
McpSyncServer syncServer = McpServer.sync(new StdioTransportProvider())
.serverInfo("javaone-mcp-server", "0.0.1")
.capabilities(McpSchema.ServerCapabilities.builder()
.tools(true)
.logging()
.build())
.tools(syncToolSpecification)
.build();
syncServer.start();
}
}
Điều này cấu hình máy chủ sử dụng giao thức STDIO và đăng ký công cụ get_presentations
.
Bước 6: Chạy máy chủ Java MCP
1. Xây dựng dự án:
- Chạy lệnh:
mvn clean package

2. Khởi động máy chủ:
- Thực thi tệp JAR:
java -jar target/javaone-mcp-0.0.2.jar
- Máy chủ chạy với giao thức STDIO, sẵn sàng để tích hợp AI.
Bước 7: Kiểm thử với MCP Inspector
Sử dụng MCP Inspector để gỡ lỗi **Máy chủ Java MCP** của bạn:
Cài đặt Node.js: Tải xuống từ nodejs.org nếu cần.
Lấy đường dẫn tệp JAR:
- Linux/macOS:
FULL_PATH=$(pwd)/target/javaone-mcp-0.0.2.jar
echo $FULL_PATH
- Windows PowerShell:
$FULL_PATH="$(Get-Location)\target\javaone-mcp-0.0.2.jar"
echo $FULL_PATH
Chạy MCP Inspector:
- Sử dụng lệnh:
npx @modelcontextprotocol/inspector java -jar $FULL_PATH
- Trong Inspector:
- Kiểm tra kết nối trong bảng Connection.
- Vào tab Tools, chọn
get_presentations
, và xem phản hồi (ví dụ: “GTA 6, FC 26, Call of Duty: Black Ops 7”). - Theo dõi nhật ký trong bảng Notifications.
Bước 8: Tích hợp với Claude Desktop hoặc Cursor
Kết nối **Máy chủ Java MCP** của bạn với một máy khách AI:
Lấy đường dẫn tệp JAR: Sử dụng lệnh tương tự như trên.
a. Cấu hình Claude Desktop:
- Mở
claude_desktop_config.json
(macOS:~/Library/Application Support/Claude
, Windows:%APPDATA%\Claude
). - Thêm:
{
"mcpServers": {
"javaone-mcp": {
"command": "java",
"args": ["-jar", "FULL_PATH"]
}
}
}
- Thay thế
FULL_PATH
bằng đường dẫn tệp JAR của bạn.
b. Cấu hình Cursor:
- Đi tới Settings > Cursor Settings > Tools and Integrations > New MCP Server.
- Thêm cấu hình tương tự và lưu.
Khởi động lại máy khách: Đóng và mở lại Claude hoặc Cursor.
Bước 9: Kiểm thử máy chủ Java MCP
Kiểm thử với Claude Desktop hoặc Cursor:
Khởi động máy chủ:
- Chạy lệnh:
java -jar target/javaone-mcp-0.0.2.jar
Thực hiện một lệnh:
- Trong Claude hoặc Cursor, nhập:
Sử dụng máy chủ MCP, lấy tất cả các trò chơi có sẵn.
- Phản hồi dự kiến:
The available games are GTA 6, FC 26, and Call of Duty: Black Ops 7.

Bước 10: Mở rộng máy chủ Java MCP
Làm cho máy chủ của bạn trở nên tuyệt vời hơn nữa:
1. Thêm nhiều bài trình bày hơn:
- Trong
PresentationTools.java
, thêm vào hàm tạo:
presentations.add(new Presentation("Spring Boot 3.5 Deep Dive", "https://example.com/spring-boot", 2025));
2. Tạo một công cụ tìm kiếm:
- Thêm vào
PresentationTools.java
:
@McpSchema.Tool(name = "search_presentations", description = "Search presentations by title")
public List<Presentation> searchPresentations(String query) {
return presentations.stream()
.filter(p -> p.title().toLowerCase().contains(query.toLowerCase()))
.collect(Collectors.toList());
}
- Đăng ký trong
Application.java
:
var searchToolSpec = new McpServerFeatures.SyncToolSpecification(
new McpSchema.Tool("search_presentations", "Search presentations by title", null),
(exchange, arguments) -> {
String query = arguments.get("query").asText();
return tools.searchPresentations(query);
}
);
McpSyncServer syncServer = McpServer.sync(new StdioTransportProvider())
.serverInfo("javaone-mcp-server", "0.0.1")
.capabilities(McpSchema.ServerCapabilities.builder().tools(true).logging().build())
.tools(syncToolSpecification, searchToolSpec)
.build();
Tôi đã tùy chỉnh máy chủ MCP của mình để hoạt động với dữ liệu trò chơi. Và đây là kết quả của tôi:

Thử tìm kiếm:
- Tôi đã thêm một công cụ
search_games
(xem bên dưới), và đã thử lời nhắc sau:
Tìm kiếm một trò chơi có tiêu đề "FC".
- Phản hồi dự kiến:
Bạn có một trò chơi có tiêu đề FC 26.

3. Các tính năng nâng cao:
- Thêm đăng ký tài nguyên để cập nhật theo thời gian thực.
- Triển khai các công cụ bất đồng bộ cho các tác vụ phức tạp.
- Thêm xác thực để truy cập an toàn.
Mẹo khắc phục sự cố
- Máy chủ không khởi động? Xác minh Java 24 và Maven đã được cài đặt, và kiểm tra
pom.xml
để đảm bảo các phần phụ thuộc chính xác. - Sự cố với MCP Inspector? Đảm bảo Node.js đã được cài đặt và đường dẫn tệp JAR chính xác.
- Máy khách không kết nối? Xác nhận đường dẫn tệp JAR trong cấu hình máy khách và khởi động lại máy khách.
- Không có dữ liệu được trả về? Kiểm tra
PresentationTools
để đảm bảo các chú thích công cụ và khởi tạo dữ liệu chính xác.
Tại sao nên sử dụng máy chủ Java MCP?
**Máy chủ Java MCP** là một cách tuyệt vời để kết nối ứng dụng Java của bạn với các mô hình AI, cho phép chúng truy cập dữ liệu của bạn theo thời gian thực. Máy chủ theo chủ đề trò chơi của chúng ta đã cho thấy việc chia sẻ dữ liệu như “GTA 6” hoặc “FC 26” với Claude hoặc Cursor dễ dàng như thế nào. MCP Java SDK giúp đơn giản hóa việc định nghĩa các công cụ, và giao thức STDIO giữ cho mọi thứ nhẹ nhàng. Cho dù bạn đang xây dựng cho trò chơi, khóa học hay bất kỳ thứ gì khác, máy chủ này là chìa khóa để bạn tích hợp AI.
Kết luận
Giờ đây bạn đã là một chuyên gia về **Máy chủ Java MCP**! Bạn đã xây dựng một máy chủ từ đầu, kiểm thử nó với dữ liệu trò chơi và học cách mở rộng nó với các công cụ mới. MCP Java SDK giúp việc kết nối ứng dụng của bạn với các trợ lý AI trở nên dễ dàng, và thử nghiệm của chúng ta đã chứng minh điều đó. Hãy thử thêm nhiều dữ liệu hoặc công cụ để làm cho máy chủ của bạn mạnh mẽ 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!