This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git
The following commit(s) were added to refs/heads/master by this push:
new e6237e44 fix(mcp-server-contributions): use the McpJsonMapperSupplier
service
e6237e44 is described below
commit e6237e44a125ab215637c61876d981d3add470cc
Author: Robert Munteanu <[email protected]>
AuthorDate: Thu Mar 12 14:58:06 2026 +0100
fix(mcp-server-contributions): use the McpJsonMapperSupplier service
The McpJsonMapper service was registered by older builds of the Sling MCP
Server bundle but now we
rely on what the SDK registers for us.
---
.../apache/sling/mcp/server/impl/contribs/LogToolContribution.java | 6 +++---
.../mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java | 6 +++---
.../sling/mcp/server/impl/contribs/RefreshPackagesContribution.java | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git
a/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/LogToolContribution.java
b/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/LogToolContribution.java
index b2fd0b68..14d549de 100644
---
a/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/LogToolContribution.java
+++
b/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/LogToolContribution.java
@@ -28,7 +28,7 @@ import java.util.List;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
-import io.modelcontextprotocol.json.McpJsonMapper;
+import io.modelcontextprotocol.json.McpJsonMapperSupplier;
import
io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncToolSpecification;
import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
import io.modelcontextprotocol.spec.McpSchema.Tool;
@@ -53,7 +53,7 @@ public class LogToolContribution implements
McpServerContribution {
private LogReaderService logReaderService;
@Reference
- private McpJsonMapper jsonMapper;
+ private McpJsonMapperSupplier jsonMapper;
private static final int DEFAULT_MAX_LOGS = 200;
private static final SimpleDateFormat DATE_FORMAT = new
SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
@@ -91,7 +91,7 @@ public class LogToolContribution implements
McpServerContribution {
.description("Retrieve logs with optional filtering. "
+ "Supports filtering by regex pattern, log
level (ERROR, WARN, INFO, DEBUG, TRACE), "
+ "and maximum number of entries. Returns most
recent logs first.")
- .inputSchema(jsonMapper, schema)
+ .inputSchema(jsonMapper.get(), schema)
.build(),
(exchange, request) -> {
String regexPattern = (String)
request.arguments().get("regex");
diff --git
a/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java
b/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java
index 35157466..6abb702d 100644
---
a/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java
+++
b/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java
@@ -24,7 +24,7 @@ import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
-import io.modelcontextprotocol.json.McpJsonMapper;
+import io.modelcontextprotocol.json.McpJsonMapperSupplier;
import
io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncToolSpecification;
import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
import io.modelcontextprotocol.spec.McpSchema.Tool;
@@ -55,7 +55,7 @@ import
org.osgi.service.component.runtime.dto.UnsatisfiedReferenceDTO;
public class OsgiBundleDiagnosticContribution implements McpServerContribution
{
@Reference
- private McpJsonMapper jsonMapper;
+ private McpJsonMapperSupplier jsonMapperSupplier;
@Reference
private ServiceComponentRuntime scr;
@@ -88,7 +88,7 @@ public class OsgiBundleDiagnosticContribution implements
McpServerContribution {
.name("diagnose-osgi-bundle")
.description(
"Diagnose why an OSGi bundle or component
isn't starting. Provides detailed information about unsatisfied dependencies,
missing packages, and component configuration issues.")
- .inputSchema(jsonMapper, schema)
+ .inputSchema(jsonMapperSupplier.get(), schema)
.build(),
(exchange, request) -> {
String bundleSymbolicName = (String)
request.arguments().get("bundleSymbolicName");
diff --git
a/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/RefreshPackagesContribution.java
b/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/RefreshPackagesContribution.java
index 84da5027..73246d5d 100644
---
a/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/RefreshPackagesContribution.java
+++
b/mcp-server-contributions/src/main/java/org/apache/sling/mcp/server/impl/contribs/RefreshPackagesContribution.java
@@ -20,7 +20,7 @@ package org.apache.sling.mcp.server.impl.contribs;
import java.util.List;
-import io.modelcontextprotocol.json.McpJsonMapper;
+import io.modelcontextprotocol.json.McpJsonMapperSupplier;
import
io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncToolSpecification;
import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
import io.modelcontextprotocol.spec.McpSchema.Tool;
@@ -35,7 +35,7 @@ import org.osgi.service.component.annotations.Reference;
public class RefreshPackagesContribution implements McpServerContribution {
@Reference
- private McpJsonMapper jsonMapper;
+ private McpJsonMapperSupplier jsonMapperSupplier;
private final BundleContext ctx;
@@ -59,7 +59,7 @@ public class RefreshPackagesContribution implements
McpServerContribution {
Tool.builder()
.name("refresh-packages")
.description("Refresh Packages")
- .inputSchema(jsonMapper, schema)
+ .inputSchema(jsonMapperSupplier.get(), schema)
.build(),
(exchange, arguments) -> {
FrameworkWiring fw =
ctx.getBundle(0).adapt(FrameworkWiring.class);