- align all io.modelcontextprotocol.sdk artifacts to 0.18.1 via dependencyManagement so Spring AI transitives no longer pull mcp 0.10.0 - exclude Spring AI's legacy MCP server/webmvc auto-config, which is binary- incompatible with the 0.18.1 streamable transport APIs - build McpSyncServer directly against WebMvcStreamableServerTransportProvider and adapt Spring AI ToolCallbacks to MCP SyncToolSpecifications manually - keep /mcp as the sole Streamable HTTP endpoint for both initialize/tool calls and optional SSE event streams - update MCP transport documentation to match the new runtime Validated locally with: - POST /mcp initialize -> HTTP 200 + Mcp-Session-Id - POST /mcp tools/list -> returns resolve-library-id + get-library-docs
120 lines
4.4 KiB
XML
120 lines
4.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>com.trueref</groupId>
|
|
<artifactId>trueref-parent</artifactId>
|
|
<version>0.1.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>trueref-adapters</artifactId>
|
|
<name>trueref-adapters</name>
|
|
<description>All driving (REST, MCP) and driven (H2, Lucene, ONNX, JGit, tree-sitter, disk cache) adapters.</description>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.trueref</groupId>
|
|
<artifactId>trueref-domain</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.trueref</groupId>
|
|
<artifactId>trueref-application</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Spring Web + JDBC + validation (no auto-config; bootstrap controls @ComponentScan) -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-jdbc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-validation</artifactId>
|
|
</dependency>
|
|
|
|
<!-- OpenAPI / Swagger UI -->
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Spring AI MCP server — tool/resource registration and McpSyncServer wiring.
|
|
McpWebMvcServerAutoConfiguration (SSE transport) is excluded in application.yml;
|
|
the Streamable HTTP transport is wired manually in McpConfig. -->
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
|
|
</dependency>
|
|
|
|
<!-- MCP Java SDK 0.18.1: provides WebMvcStreamableServerTransportProvider.
|
|
Overrides the 0.10.0 version pulled in by spring-ai-starter-mcp-server-webmvc. -->
|
|
<dependency>
|
|
<groupId>io.modelcontextprotocol.sdk</groupId>
|
|
<artifactId>mcp-spring-webmvc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.modelcontextprotocol.sdk</groupId>
|
|
<artifactId>mcp-json-jackson2</artifactId>
|
|
</dependency>
|
|
|
|
<!-- H2 + Flyway -->
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<version>${h2.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-core</artifactId>
|
|
<version>${flyway.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Lucene -->
|
|
<dependency>
|
|
<groupId>org.apache.lucene</groupId>
|
|
<artifactId>lucene-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.lucene</groupId>
|
|
<artifactId>lucene-analysis-common</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.lucene</groupId>
|
|
<artifactId>lucene-queryparser</artifactId>
|
|
</dependency>
|
|
|
|
<!-- ONNX Runtime: GPU jar contains both CUDA and CPU providers; DirectML jar is added at runtime via classifier on Windows. -->
|
|
<dependency>
|
|
<groupId>com.microsoft.onnxruntime</groupId>
|
|
<artifactId>onnxruntime_gpu</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ai.djl.huggingface</groupId>
|
|
<artifactId>tokenizers</artifactId>
|
|
</dependency>
|
|
|
|
<!-- JGit -->
|
|
<dependency>
|
|
<groupId>org.eclipse.jgit</groupId>
|
|
<artifactId>org.eclipse.jgit</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jgit</groupId>
|
|
<artifactId>org.eclipse.jgit.ssh.apache</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Test -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|