Zum Hauptinhalt springen

Spring Boot MCP-Apps

In ChatGPT öffnen

Die Spring Boot-Integration veröffentlicht geroutete webforJ-Ansichten über einen Spring AI MCP-Server. Verwenden Sie es, wenn eine Spring Boot-Anwendung eine interaktive Ansicht für einen MCP-Client, die KI-Anwendung, die sich mit dem Server verbindet, bereitstellen muss.

Nicht mit Spring Boot?

Für eine servletbasierte webforJ-Anwendung verwenden Sie das Standard-webforJ-Setup, um den MCP-Server selbst zusammenzustellen und zu registrieren.

Abhängigkeiten hinzufügen​

Importieren Sie das webforJ-Bill of Materials, damit die webforJ-Module eine Version verwenden. Fügen Sie dann den Spring Boot-Starter, das MCP Apps-Modul und den Spring AI WebMVC MCP-Server-Starter hinzu.

<properties>
<maven.compiler.release>21</maven.compiler.release>
<webforj.version>26.02</webforj.version>
<spring-ai.version>2.0.0</spring-ai.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-bom</artifactId>
<version>${webforj.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-mcp-apps</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
<version>${spring-ai.version}</version>
</dependency>
</dependencies>

Konfigurieren Sie den MCP-Endpunkt​

Stellen Sie Spring AI so ein, dass es Streamable HTTP in src/main/resources/application.properties verwendet:

spring.ai.mcp.server.protocol=STREAMABLE
webforj.origin=http://localhost:8080

Spring AI dient den Transport standardmäßig unter /mcp. webforJ überlässt diesen Pfad und die OAuth 2.0-Discovery-Pfade Spring, anstatt sie als UI-Routen zu behandeln. Der lokale Ursprung lässt die generierten Anwendungsressourcen- und Komponenten-URLs auf die laufende Anwendung verweisen. Weitere Informationen finden Sie in der MCP App-Konfiguration, wenn ein Proxy oder Tunnel der Anwendung einen anderen öffentlichen Ursprung gibt.

Fügen Sie eine geroutete Anwendung hinzu​

Erstellen Sie eine normale geroutete Ansicht und fügen Sie @McpApp hinzu. Die Beschreibung hilft der KI dabei zu bestimmen, wann das Tool nützlich ist. Der explizite Name hält den Toolnamen stabil, falls sich die Route ändert.

package com.example.inventory;

import com.webforj.component.Composite;
import com.webforj.component.html.elements.H1;
import com.webforj.component.layout.flexlayout.FlexLayout;
import com.webforj.mcp.annotation.McpApp;
import com.webforj.router.annotation.Route;

@Route("/inventory")
@McpApp(
name = "inventory",
description = "Zeigt den aktuellen Bestand für ein Lager an.",
displayMode = McpAppDisplayMode.INLINE)
public class InventoryView extends Composite<FlexLayout> {

private final FlexLayout self = getBoundComponent();

public InventoryView() {
self.add(new H1("Bestand"));
}
}

Die Ansicht funktioniert weiterhin unter /inventory in einem Browser. Die automatische Konfiguration von Spring veröffentlicht ein inventory MCP-Tool und eine UI-Ressource, die diese Route öffnet, und installiert die Servlet-Filter und Sitzungseinstellungen, die benötigt werden, um webforJ einzubetten.

Starten Sie den Server​

Starten Sie den Server mit dem normalen Ausführungsablauf des Projekts. Bei dem Standardport ist der MCP-Endpunkt:

http://localhost:8080/mcp

Testen Sie die minimal veröffentlichte Ansicht mit einem lokalen oder entfernten Client. Weitere Informationen finden Sie unter Eingaben öffnen für strukturierte Argumente und MCP App-Konfiguration für öffentliche Ursprünge und externe Ressourcen.