วิธีสร้างเซิร์ฟเวอร์ MCP ด้วย Java SDK

Ashley Goolam

Ashley Goolam

4 August 2025

วิธีสร้างเซิร์ฟเวอร์ MCP ด้วย Java SDK

Apidog สำหรับองค์กร

ติดตั้งภายในองค์กร

SSO & RBAC

รองรับ SOC 2

สำรวจ Apidog Enterprise

สวัสดีครับ ผู้ที่ชื่นชอบ Java ทุกท่าน! คุณต้องการยกระดับโปรเจกต์ AI ของคุณด้วย Java MCP Server แบบกำหนดเองหรือไม่? Model Context Protocol (MCP) ช่วยให้โมเดล AI เช่น Claude หรือ Cursor สามารถเข้าถึงข้อมูลของคุณได้อย่างง่ายดาย และด้วย Java SDK คุณสามารถสร้างเซิร์ฟเวอร์ขนาดเล็กเพื่อทำให้สิ่งนี้เกิดขึ้นได้ ในบทช่วยสอนนี้ เราจะสร้าง Java MCP Server เพื่อแชร์ข้อมูลการนำเสนอให้กับผู้ช่วย AI เราจะทำให้มันสนุก เป็นกันเอง และเหมาะสำหรับผู้เริ่มต้น โดยจะพาคุณไปดูการตั้งค่า การทดสอบ และการขยายเซิร์ฟเวอร์ของคุณ มาเริ่มกันเลย!

💡
ต้องการเครื่องมือ API Testing ที่ยอดเยี่ยมที่สร้าง เอกสาร API ที่สวยงาม ได้หรือไม่?

ต้องการแพลตฟอร์มแบบ All-in-One ที่รวมทุกอย่างเข้าด้วยกัน เพื่อให้ทีมพัฒนาของคุณทำงานร่วมกันได้อย่างมี ประสิทธิภาพสูงสุด หรือไม่?

Apidog ตอบสนองทุกความต้องการของคุณ และ มาแทนที่ Postman ในราคาที่ย่อมเยากว่ามาก!
ปุ่ม

Java MCP Server คืออะไร?

Java MCP Server คือแอปพลิเคชัน Java ที่ทันสมัย ซึ่งใช้ Model Context Protocol (MCP) ในการเปิดเผยข้อมูลให้กับโมเดล AI มันเหมือนกับการมอบบัตร VIP ให้ AI ของคุณเข้าถึงข้อมูลแอปฯ ของคุณได้—ของเราจะแชร์ข้อมูลเกม แต่คุณสามารถปรับแต่งให้เป็นอะไรก็ได้ เซิร์ฟเวอร์นี้ใช้ MCP Java SDK เพื่อสร้างเครื่องมือที่ผู้ช่วย AI สามารถเรียกใช้ได้ เช่น การดึงรายการเกม หรือการค้นหาเกมตามชื่อ มันสมบูรณ์แบบสำหรับการรวมข้อมูลของคุณเข้ากับไคลเอนต์ AI และง่ายมากในการตั้งค่าด้วย Spring Boot และ Maven

การเชื่อมต่อไคลเอนต์เซิร์ฟเวอร์ MCP

คู่มือการสร้าง Java MCP Server ทีละขั้นตอน

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีสิ่งเหล่านี้:

ขั้นตอนที่ 1: สร้างหรือโคลนโปรเจกต์

คุณสามารถโคลน repo ที่มีอยู่ หรือสร้างโปรเจกต์ใหม่ตั้งแต่ต้นก็ได้

ตัวเลือกที่ 1: โคลน Repository (แนะนำ)

1. ในเทอร์มินัลใหม่ รันคำสั่ง:

git clone https://github.com/danvega/javaone-mcp.git
cd javaone-mcp

2. สร้างโปรเจกต์:

mvn clean package
โคลน github repo

ตัวเลือกที่ 2: สร้างตั้งแต่ต้น

1. เปิด IntelliJ IDEA:

สร้างโปรเจกต์ใหม่

2. เพิ่ม Dependencies:

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

ขั้นตอนที่ 2: ทำความเข้าใจโครงสร้างโปรเจกต์

Java MCP Server ที่เราโคลนมานั้นประกอบด้วย:

โครงสร้างโปรเจกต์

ขั้นตอนที่ 3: กำหนด Data Model

สร้าง Presentation.java เพื่อแสดงข้อมูลเกม:

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

record นี้จะเก็บรายละเอียดเกม เช่น ชื่อ (ตัวอย่าง: “GTA 6”) และ URL.

ขั้นตอนที่ 4: พัฒนา MCP Tools

ใน PresentationTools.java กำหนดเครื่องมือโดยใช้ 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);
    }
}

เครื่องมือเหล่านี้ช่วยให้โมเดล AI สามารถดึงข้อมูลเกมทั้งหมด หรือเกมเฉพาะเจาะจงตามชื่อได้

ขั้นตอนที่ 5: กำหนดค่าและเริ่มต้น MCP Server

ใน Application.java ตั้งค่า Java MCP Server:

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

นี่เป็นการตั้งค่าเซิร์ฟเวอร์ให้ใช้ STDIO transport และลงทะเบียนเครื่องมือ get_presentations

ขั้นตอนที่ 6: รัน Java MCP Server

1. สร้างโปรเจกต์:

mvn clean package
รันเซิร์ฟเวอร์

2. เริ่มเซิร์ฟเวอร์:

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

ขั้นตอนที่ 7: ทดสอบด้วย MCP Inspector

ใช้ MCP Inspector เพื่อดีบัก Java MCP Server ของคุณ:

ติดตั้ง Node.js: ดาวน์โหลดจาก nodejs.org หากจำเป็น.

รับพาธของ 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

รัน MCP Inspector:

npx @modelcontextprotocol/inspector java -jar $FULL_PATH

ขั้นตอนที่ 8: ผสานรวมกับ Claude Desktop หรือ Cursor

เชื่อมต่อ Java MCP Server ของคุณเข้ากับไคลเอนต์ AI:

รับพาธของ JAR: ใช้คำสั่งเดียวกับด้านบน.

ก. กำหนดค่า Claude Desktop:

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

ข. กำหนดค่า Cursor:

รีสตาร์ทไคลเอนต์: ปิดแล้วเปิด Claude หรือ Cursor ใหม่.

ขั้นตอนที่ 9: ทดสอบ Java MCP Server

ทดสอบด้วย Claude Desktop หรือ Cursor:

เริ่มเซิร์ฟเวอร์:

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

ออกคำสั่ง:

Using the MCP server, get all available games.
The available games are GTA 6, FC 26, and Call of Duty: Black Ops 7.
เกมที่มีอยู่บน MCP Server ของฉัน

ขั้นตอนที่ 10: ขยาย Java MCP Server

ทำให้เซิร์ฟเวอร์ของคุณเจ๋งยิ่งขึ้นไปอีก:

1. เพิ่มการนำเสนอเพิ่มเติม:

presentations.add(new Presentation("Spring Boot 3.5 Deep Dive", "https://example.com/spring-boot", 2025));

2. สร้างเครื่องมือค้นหา:

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

ฉันได้ปรับแต่ง MCP Server ของฉันให้ทำงานกับข้อมูลเกม และนี่คือผลลัพธ์ที่ได้:

เครื่องมือใหม่ที่เพิ่มไปยัง Java MCP Server

ลองค้นหา:

Search for a game titled "FC".
You have a game titled FC 26.
ผลลัพธ์ของเครื่องมือใหม่

3. คุณสมบัติขั้นสูง:

เคล็ดลับการแก้ไขปัญหา

ทำไมต้องใช้ Java MCP Server?

Java MCP Server เป็นวิธีที่ยอดเยี่ยมในการเชื่อมต่อแอป Java ของคุณเข้ากับโมเดล AI ทำให้พวกมันสามารถเข้าถึงข้อมูลของคุณได้แบบเรียลไทม์ เซิร์ฟเวอร์ธีมเกมของเราแสดงให้เห็นว่าการแชร์ข้อมูลอย่าง “GTA 6” หรือ “FC 26” กับ Claude หรือ Cursor นั้นง่ายดายเพียงใด MCP Java SDK ทำให้การกำหนดเครื่องมือง่ายขึ้น และ STDIO transport ก็ช่วยให้ทุกอย่างเบาบาง ไม่ว่าคุณจะสร้างสำหรับเกม คอร์สเรียน หรือสิ่งอื่นใด เซิร์ฟเวอร์นี้คือตั๋วของคุณสู่การผสานรวม AI

บทสรุป

ตอนนี้คุณเป็นมืออาชีพด้าน Java MCP Server แล้ว! คุณได้สร้างเซิร์ฟเวอร์ตั้งแต่ต้น ทดสอบด้วยข้อมูลเกม และเรียนรู้วิธีการขยายมันด้วยเครื่องมือใหม่ๆ MCP Java SDK ทำให้การเชื่อมต่อแอปของคุณกับผู้ช่วย AI เป็นเรื่องง่าย และการทดสอบของเราก็แสดงให้เห็นถึงประสิทธิภาพของมัน ลองเพิ่มข้อมูลหรือเครื่องมือเพิ่มเติมเพื่อให้เซิร์ฟเวอร์ของคุณทรงพลังยิ่งขึ้น

💡
ต้องการเครื่องมือ API Testing ที่ยอดเยี่ยมที่สร้าง เอกสาร API ที่สวยงาม ได้หรือไม่?

ต้องการแพลตฟอร์มแบบ All-in-One ที่รวมทุกอย่างเข้าด้วยกัน เพื่อให้ทีมพัฒนาของคุณทำงานร่วมกันได้อย่างมี ประสิทธิภาพสูงสุด หรือไม่?

Apidog ตอบสนองทุกความต้องการของคุณ และ มาแทนที่ Postman ในราคาที่ย่อมเยากว่ามาก!
ปุ่ม

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API