diff --git a/Partner-Common/pom.xml b/Partner-Common/pom.xml
index 5840c2cb..1639ab13 100644
--- a/Partner-Common/pom.xml
+++ b/Partner-Common/pom.xml
@@ -11,6 +11,14 @@
Partner-Common
+
+
+
+ io.modelcontextprotocol.sdk
+ mcp
+ 0.17.0
+
+
21
21
diff --git a/Partner-Main/src/test/java/experimental/InProcessMcpTransport.java b/Partner-Common/src/main/java/work/slhaf/partner/common/mcp/InProcessMcpTransport.java
similarity index 76%
rename from Partner-Main/src/test/java/experimental/InProcessMcpTransport.java
rename to Partner-Common/src/main/java/work/slhaf/partner/common/mcp/InProcessMcpTransport.java
index 8ca56f69..fd37dc53 100644
--- a/Partner-Main/src/test/java/experimental/InProcessMcpTransport.java
+++ b/Partner-Common/src/main/java/work/slhaf/partner/common/mcp/InProcessMcpTransport.java
@@ -1,18 +1,12 @@
-package experimental;
+package work.slhaf.partner.common.mcp;
-import io.modelcontextprotocol.client.McpClient;
-import io.modelcontextprotocol.client.McpSyncClient;
import io.modelcontextprotocol.common.McpTransportContext;
import io.modelcontextprotocol.json.McpJsonMapper;
import io.modelcontextprotocol.json.TypeRef;
-import io.modelcontextprotocol.server.McpServer;
-import io.modelcontextprotocol.server.McpStatelessServerFeatures;
import io.modelcontextprotocol.server.McpStatelessServerHandler;
-import io.modelcontextprotocol.server.McpStatelessSyncServer;
import io.modelcontextprotocol.spec.McpClientTransport;
import io.modelcontextprotocol.spec.McpSchema;
import io.modelcontextprotocol.spec.McpStatelessServerTransport;
-import org.junit.jupiter.api.Test;
import reactor.core.publisher.Mono;
import reactor.core.publisher.Sinks;
@@ -159,32 +153,3 @@ public final class InProcessMcpTransport implements McpClientTransport, McpState
return McpClientTransport.super.protocolVersions();
}
}
-
-class InProcessMcpTransportTest {
- @Test
- void inProcessMcpTransportTest() {
- InProcessMcpTransport.Pair pair = InProcessMcpTransport.pair();
- InProcessMcpTransport clientSide = pair.clientSide();
- InProcessMcpTransport serverSide = pair.serverSide();
- McpStatelessSyncServer server = McpServer.sync(serverSide)
- .capabilities(McpSchema.ServerCapabilities.builder().tools(true).build())
- .build();
- server.addTool(McpStatelessServerFeatures.SyncToolSpecification.builder()
- .tool(McpSchema.Tool.builder().name("111").build()).callHandler((mcpTransportContext, callToolRequest) -> {
- System.out.println(111);
- return McpSchema.CallToolResult.builder().addContent(new McpSchema.TextContent("111")).build();
- }).build());
- McpSyncClient client = McpClient.sync(clientSide)
- .build();
-
- List tools = client.listTools().tools();
- McpSchema.Tool tool = tools.getFirst();
- System.out.println(tool.toString());
-
- McpSchema.CallToolResult callToolResult = client.callTool(McpSchema.CallToolRequest.builder().name(tool.name()).build());
- System.out.println(callToolResult.content().toString());
-
- client.close();
- server.close();
- }
-}
diff --git a/Partner-Main/pom.xml b/Partner-Main/pom.xml
index f05dea7b..ec937cf1 100644
--- a/Partner-Main/pom.xml
+++ b/Partner-Main/pom.xml
@@ -50,6 +50,12 @@
mcp
0.17.0
+
+ work.slhaf
+ Partner-Common
+ 0.5.0
+ test
+
diff --git a/Partner-Main/src/test/java/experimental/InProcessMcpTransportTest.java b/Partner-Main/src/test/java/experimental/InProcessMcpTransportTest.java
new file mode 100644
index 00000000..c3115f8b
--- /dev/null
+++ b/Partner-Main/src/test/java/experimental/InProcessMcpTransportTest.java
@@ -0,0 +1,41 @@
+package experimental;
+
+import io.modelcontextprotocol.client.McpClient;
+import io.modelcontextprotocol.client.McpSyncClient;
+import io.modelcontextprotocol.server.McpServer;
+import io.modelcontextprotocol.server.McpStatelessServerFeatures;
+import io.modelcontextprotocol.server.McpStatelessSyncServer;
+import io.modelcontextprotocol.spec.McpSchema;
+import org.junit.jupiter.api.Test;
+import work.slhaf.partner.common.mcp.InProcessMcpTransport;
+
+import java.util.List;
+
+public class InProcessMcpTransportTest {
+ @Test
+ void inProcessMcpTransportTest() {
+ InProcessMcpTransport.Pair pair = InProcessMcpTransport.pair();
+ InProcessMcpTransport clientSide = pair.clientSide();
+ InProcessMcpTransport serverSide = pair.serverSide();
+ McpStatelessSyncServer server = McpServer.sync(serverSide)
+ .capabilities(McpSchema.ServerCapabilities.builder().tools(true).build())
+ .build();
+ server.addTool(McpStatelessServerFeatures.SyncToolSpecification.builder()
+ .tool(McpSchema.Tool.builder().name("111").build()).callHandler((mcpTransportContext, callToolRequest) -> {
+ System.out.println(111);
+ return McpSchema.CallToolResult.builder().addContent(new McpSchema.TextContent("111")).build();
+ }).build());
+ McpSyncClient client = McpClient.sync(clientSide)
+ .build();
+
+ List tools = client.listTools().tools();
+ McpSchema.Tool tool = tools.getFirst();
+ System.out.println(tool.toString());
+
+ McpSchema.CallToolResult callToolResult = client.callTool(McpSchema.CallToolRequest.builder().name(tool.name()).build());
+ System.out.println(callToolResult.content().toString());
+
+ client.close();
+ server.close();
+ }
+}