MCP Server erstellen mit Java SDK

Ashley Goolam

Ashley Goolam

4 August 2025

MCP Server erstellen mit Java SDK

Hallo, Java-Enthusiasten! Möchten Sie Ihre KI-Projekte mit einem benutzerdefinierten Java MCP Server auf Hochtouren bringen? Das Model Context Protocol (MCP) ermöglicht es KI-Modellen wie Claude oder Cursor, mühelos auf Ihre Daten zuzugreifen, und mit dem Java SDK können Sie einen leichtgewichtigen Server erstellen, um dies zu ermöglichen. In diesem Tutorial erstellen wir einen Java MCP Server, um Präsentationsdaten mit KI-Assistenten zu teilen. Wir halten es unterhaltsam, gesprächig und anfängerfreundlich und führen Sie durch die Einrichtung, das Testen und die Erweiterung Ihres Servers. Lassen Sie uns eintauchen!

💡
Möchten Sie ein großartiges API-Test-Tool, das wunderschöne API-Dokumentation generiert?

Möchten Sie eine integrierte All-in-One-Plattform, damit Ihr Entwicklerteam mit maximaler Produktivität zusammenarbeiten kann?

Apidog erfüllt all Ihre Anforderungen und ersetzt Postman zu einem viel günstigeren Preis!
Schaltfläche

Was ist ein Java MCP Server?

Ein **Java MCP Server** ist eine schlanke Java-Anwendung, die das Model Context Protocol (MCP) verwendet, um Daten für KI-Modelle bereitzustellen. Es ist, als würden Sie Ihrer KI einen VIP-Pass zu den Informationen Ihrer App geben – unsere wird Spieldaten teilen, aber Sie können sie für alles anpassen. Der Server verwendet das MCP Java SDK, um Tools zu erstellen, die KI-Assistenten aufrufen können, wie das Abrufen einer Liste von Spielen oder das Suchen nach einem Spiel anhand des Titels. Es ist perfekt, um Ihre Daten in KI-Clients zu integrieren, und es ist super einfach mit Spring Boot und Maven einzurichten.

Client-Server-MCP-Verbindung

Schritt-für-Schritt-Anleitung zur Erstellung eines Java MCP Servers

Voraussetzungen

Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:

Schritt 1: Projekt erstellen oder klonen

Sie können entweder ein bestehendes Repository klonen oder ein Projekt von Grund auf neu erstellen.

Option 1: Repository klonen (Empfohlen)

1. Öffnen Sie ein neues Terminal und führen Sie aus:

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

2. Projekt erstellen:

mvn clean package
GitHub-Repository klonen

Option 2: Von Grund auf neu erstellen

1. Öffnen Sie IntelliJ IDEA:

Ein neues Projekt erstellen

2. Abhängigkeiten hinzufügen:

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

Schritt 2: Die Projektstruktur verstehen

Der soeben geklonte Java MCP Server beinhaltet:

Projektstruktur

Schritt 3: Das Datenmodell definieren

Erstellen Sie Presentation.java, um Spieldaten darzustellen:

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

Dieser Datensatz enthält Spieldetails wie Titel (z. B. „GTA 6“) und URL.

Schritt 4: MCP-Tools implementieren

Definieren Sie in PresentationTools.java Tools mithilfe des 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);
    }
}

Diese Tools ermöglichen es KI-Modellen, alle Spiele oder ein bestimmtes Spiel nach Titel abzurufen.

Schritt 5: Den MCP-Server konfigurieren und starten

Richten Sie in Application.java den Java MCP Server ein:

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

Dies konfiguriert den Server zur Verwendung des STDIO-Transports und registriert das get_presentations-Tool.

Schritt 6: Den Java MCP Server ausführen

1. Projekt erstellen:

mvn clean package
Den Server ausführen

2. Server starten:

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

Schritt 7: Mit MCP Inspector testen

Verwenden Sie den MCP Inspector, um Ihren Java MCP Server zu debuggen:

Node.js installieren: Bei Bedarf von nodejs.org herunterladen.

JAR-Pfad abrufen:

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 ausführen:

npx @modelcontextprotocol/inspector java -jar $FULL_PATH

Schritt 8: Integration mit Claude Desktop oder Cursor

Verbinden Sie Ihren Java MCP Server mit einem KI-Client:

JAR-Pfad abrufen: Verwenden Sie den gleichen Befehl wie oben.

a. Claude Desktop konfigurieren:

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

b. Cursor konfigurieren:

Client neu starten: Schließen Sie Claude oder Cursor und öffnen Sie sie erneut.

Schritt 9: Den Java MCP Server testen

Testen Sie mit Claude Desktop oder Cursor:

Server starten:

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

Einen Befehl ausgeben:

Using the MCP server, get all available games.
The available games are GTA 6, FC 26, and Call of Duty: Black Ops 7.
Verfügbare Spiele auf meinem MCP-Server

Schritt 10: Den Java MCP Server erweitern

Machen Sie Ihren Server noch cooler:

1. Weitere Präsentationen hinzufügen:

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

2. Ein Such-Tool erstellen:

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

Ich habe meinen MCP-Server angepasst, um mit Spieldaten zu arbeiten. Und hier sind meine Ergebnisse:

Neues Tool zum Java MCP Server hinzugefügt

Eine Suche versuchen:

Search for a game titled "FC".
You have a game titled FC 26.
Neue Tool-Ergebnisse

3. Erweiterte Funktionen:

Tipps zur Fehlerbehebung

Warum den Java MCP Server verwenden?

Der Java MCP Server ist eine fantastische Möglichkeit, Ihre Java-App mit KI-Modellen zu verbinden, sodass diese in Echtzeit auf Ihre Daten zugreifen können. Unser auf Spiele ausgerichteter Server zeigte, wie einfach es ist, Daten wie „GTA 6“ oder „FC 26“ mit Claude oder Cursor zu teilen. Das MCP Java SDK macht es einfach, Tools zu definieren, und der STDIO-Transport hält die Dinge leichtgewichtig. Egal, ob Sie für Spiele, Kurse oder etwas anderes entwickeln, dieser Server ist Ihr Ticket zur KI-Integration.

Fazit

Sie sind jetzt ein Java MCP Server Profi! Sie haben einen Server von Grund auf neu erstellt, ihn mit Spieldaten getestet und gelernt, wie Sie ihn mit neuen Tools erweitern können. Das MCP Java SDK macht es zum Kinderspiel, Ihre App mit KI-Assistenten zu verbinden, und unser Test hat gezeigt, dass es funktioniert. Versuchen Sie, weitere Daten oder Tools hinzuzufügen, um Ihren Server noch leistungsfähiger zu machen.

💡
Möchten Sie ein großartiges API-Test-Tool, das wunderschöne API-Dokumentation generiert?

Möchten Sie eine integrierte All-in-One-Plattform, damit Ihr Entwicklerteam mit maximaler Produktivität zusammenarbeiten kann?

Apidog erfüllt all Ihre Anforderungen und ersetzt Postman zu einem viel günstigeren Preis!
Schaltfläche

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen