Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions conformance-tests/client-jdk-http-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.conformance.client.jdk</module.name>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>

Expand Down
1 change: 1 addition & 0 deletions conformance-tests/client-spring-http-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.conformance.client.spring</module.name>
<java.version>17</java.version>
<spring-boot.version>4.1.0</spring-boot.version>
<spring-ai.version>2.0.0</spring-ai.version>
Expand Down
1 change: 1 addition & 0 deletions conformance-tests/server-servlet/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.conformance.server.servlet</module.name>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>

Expand Down
6 changes: 5 additions & 1 deletion mcp-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
<developerConnection>scm:git:ssh://git@github.com/modelcontextprotocol/java-sdk.git</developerConnection>
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.mcp.core</module.name>
</properties>

<build>
<plugins>
<plugin>
Expand All @@ -37,7 +41,7 @@
Bundle-Name: Bundle ${project.groupId} : ${project.artifactId}
Bundle-SymbolicName: ${project.groupId}.${project.artifactId}
Bundle-Version: ${project.version}
Automatic-Module-Name: ${project.groupId}.${project.artifactId}
Automatic-Module-Name: ${module.name}
Import-Package: jakarta.*;resolution:=optional, \
*;
Service-Component: OSGI-INF/io.modelcontextprotocol.json.McpJsonDefaults.xml
Expand Down
6 changes: 5 additions & 1 deletion mcp-json-jackson2/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
<developerConnection>scm:git:ssh://git@github.com/modelcontextprotocol/java-sdk.git</developerConnection>
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.mcp.json.jackson2</module.name>
</properties>

<build>
<plugins>
<plugin>
Expand All @@ -37,7 +41,7 @@
Bundle-Name: Bundle ${project.groupId} : ${project.artifactId}
Bundle-SymbolicName: ${project.groupId}.${project.artifactId}
Bundle-Version: ${project.version}
Automatic-Module-Name: ${project.groupId}.${project.artifactId}
Automatic-Module-Name: ${module.name}
Bundle-ActivationPolicy: lazy
Import-Package: io.modelcontextprotocol.json,io.modelcontextprotocol.json.schema, \
*;
Expand Down
6 changes: 5 additions & 1 deletion mcp-json-jackson3/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
<developerConnection>scm:git:ssh://git@github.com/modelcontextprotocol/java-sdk.git</developerConnection>
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.mcp.json.jackson3</module.name>
</properties>

<build>
<plugins>
<plugin>
Expand All @@ -37,7 +41,7 @@
Bundle-Name: Bundle ${project.groupId} : ${project.artifactId}
Bundle-SymbolicName: ${project.groupId}.${project.artifactId}
Bundle-Version: ${project.version}
Automatic-Module-Name: ${project.groupId}.${project.artifactId}
Automatic-Module-Name: ${module.name}
Bundle-ActivationPolicy: lazy
Import-Package: io.modelcontextprotocol.json,io.modelcontextprotocol.json.schema, \
*;
Expand Down
4 changes: 4 additions & 0 deletions mcp-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
<developerConnection>scm:git:ssh://git@github.com/modelcontextprotocol/java-sdk.git</developerConnection>
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.mcp.test</module.name>
</properties>

<dependencies>
<dependency>
<groupId>io.modelcontextprotocol.sdk</groupId>
Expand Down
24 changes: 24 additions & 0 deletions mcp/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,30 @@
<developerConnection>scm:git:ssh://git@github.com/modelcontextprotocol/java-sdk.git</developerConnection>
</scm>

<properties>
<module.name>io.modelcontextprotocol.sdk.mcp</module.name>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<!-- module-info.java refers to the sibling modules by their JPMS names, and
those only exist once the siblings have been packaged as jars: before
the package phase the reactor hands the compiler bare target/classes
directories, which cannot be automatic modules. Compiling at
prepare-package keeps `mvn test` working on the full reactor. -->
<execution>
<id>java-compile</id>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>

<dependency>
Expand Down
25 changes: 25 additions & 0 deletions mcp/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/*
* Copyright 2026 - 2026 the original author or authors.
*/

/**
* Aggregator module for the Java MCP SDK. Carries no code of its own; it exists so that
* consumers can depend on the SDK with a single {@code requires} directive.
*/
module io.modelcontextprotocol.sdk.mcp {

requires transitive io.modelcontextprotocol.sdk.mcp.core;

requires transitive io.modelcontextprotocol.sdk.mcp.json.jackson3;

// mcp-core and mcp-json-jackson3 are automatic modules, so they cannot pull their
// own dependencies into the module graph. Requiring them here spares consumers from
// having to repeat these declarations. Drop this block once the SDK modules carry
// their own module descriptors.
requires org.slf4j;

requires tools.jackson.databind;

requires com.networknt.schema;

}
5 changes: 5 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@
<maven.compiler.target>17</maven.compiler.target>
<surefireArgLine />

<!-- JPMS module name. Every module that produces a jar must override this;
an empty value makes maven-jar-plugin fail, which is intentional. -->
<module.name />

<assert4j.version>3.27.6</assert4j.version>
<junit.version>6.0.2</junit.version>
<mockito.version>5.20.0</mockito.version>
Expand Down Expand Up @@ -207,6 +211,7 @@
<manifestEntries>
<Implementation-Title>${project.artifactId}</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Automatic-Module-Name>${module.name}</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
Expand Down
Loading