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-org-apache-sling-mcp-server-contributions.git
commit 8f9977f3681a32789a6913746fb9e22f603e3948 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/src/main/java/org/apache/sling/mcp/server/impl/contribs/LogToolContribution.java b/src/main/java/org/apache/sling/mcp/server/impl/contribs/LogToolContribution.java index b2fd0b6..14d549d 100644 --- a/src/main/java/org/apache/sling/mcp/server/impl/contribs/LogToolContribution.java +++ b/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/src/main/java/org/apache/sling/mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java b/src/main/java/org/apache/sling/mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java index 3515746..6abb702 100644 --- a/src/main/java/org/apache/sling/mcp/server/impl/contribs/OsgiBundleDiagnosticContribution.java +++ b/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/src/main/java/org/apache/sling/mcp/server/impl/contribs/RefreshPackagesContribution.java b/src/main/java/org/apache/sling/mcp/server/impl/contribs/RefreshPackagesContribution.java index 84da502..73246d5 100644 --- a/src/main/java/org/apache/sling/mcp/server/impl/contribs/RefreshPackagesContribution.java +++ b/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);
