Cách tạo máy chủ MCP với Java SDK

Ashley Goolam

Ashley Goolam

4 tháng 8 2025

Cách tạo máy chủ MCP với Java SDK

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 công cụ Kiểm thử API tuyệt vời có thể tạo Tài liệu API đẹp mắt?

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!
Tải ứng dụng

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.

kết nối máy khách máy chủ MCP

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ó:

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:

mvn clean package
sao chép kho lưu trữ GitHub

Tùy chọn 2: Tạo từ đầu

1. Mở IntelliJ IDEA:

tạo một dự án mới

2. Thêm các phần phụ thuộc:

<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:

cấu trúc dự án

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:

mvn clean package
chạy máy chủ

2. Khởi động máy chủ:

java -jar target/javaone-mcp-0.0.2.jar

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:

FULL_PATH=$(pwd)/target/javaone-mcp-0.0.2.jar
echo $FULL_PATH
$FULL_PATH="$(Get-Location)\target\javaone-mcp-0.0.2.jar"
echo $FULL_PATH

Chạy MCP Inspector:

npx @modelcontextprotocol/inspector java -jar $FULL_PATH

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:

{
  "mcpServers": {
    "javaone-mcp": {
      "command": "java",
      "args": ["-jar", "FULL_PATH"]
    }
  }
}

b. Cấu hình Cursor:

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ủ:

java -jar target/javaone-mcp-0.0.2.jar

Thực hiện một lệnh:

Sử dụng máy chủ MCP, lấy tất cả các trò chơi có sẵn.
The available games are GTA 6, FC 26, and Call of Duty: Black Ops 7.
các trò chơi có sẵn trên máy chủ MCP của tôi

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:

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:

@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());
}
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:

công cụ mới được thêm vào máy chủ Java MCP

Thử tìm kiếm:

Tìm kiếm một trò chơi có tiêu đề "FC".
Bạn có một trò chơi có tiêu đề FC 26.
kết quả công cụ mới

3. Các tính năng nâng cao:

Mẹo khắc phục sự 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 công cụ Kiểm thử API tuyệt vời có thể tạo Tài liệu API đẹp mắt?

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!
Tải ứng dụng

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API

Cách tạo máy chủ MCP với Java SDK