[
https://issues.apache.org/jira/browse/CAMEL-23183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-23183:
--------------------------------
Component/s: camel-jbang
> [camel-jbang-mcp] ClassNotFoundException:
> org.apache.camel.catalog.impl.AbstractCamelCatalog
> --------------------------------------------------------------------------------------------
>
> Key: CAMEL-23183
> URL: https://issues.apache.org/jira/browse/CAMEL-23183
> Project: Camel
> Issue Type: Bug
> Components: camel-jbang
> Affects Versions: 4.18.0
> Environment: Camel JBang MCP server running in Cursor IDE, registered
> according to docs with
> {code}
> {
> "mcpServers": {
> "camel": {
> "command": "jbang",
> "args": [
> "-Dquarkus.log.level=INFO",
> "org.apache.camel:camel-jbang-mcp:4.18.0:runner"
> ]
> }
> }
> }
> {code}
> Reporter: Torsten Mielke
> Priority: Major
>
> Camel JBang MCP server as managed by Cursor IDE may occasionally throw the
> following error
> {code}
> 2026-03-11 16:27:16.977 [info] Handling CallTool action for tool
> 'camel_catalog_components' with toolCallId:
> tool_13575bea-faaf-40e5-a3fd-d1b94c09508
> 2026-03-11 16:27:16.978 [info] Calling tool 'camel_catalog_components' with
> toolCallId: tool_13575bea-faaf-40e5-a3fd-d1b94c09508
> 2026-03-11 16:27:19.092 [error] 2026-03-11 16:27:19,089 ERROR
> [io.quarkiverse.mcp.server.runtime.ToolMessageHandler] (executor-thread-1)
> Unable to call tool camel_catalog_components: java.lang.NoClassDefFoundError:
> org/apache/camel/catalog/impl/AbstractCamelCatalog
> at java.base/java.lang.ClassLoader.defineClass1(Native Method)
> at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027)
> at
> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
> at
> java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524)
> at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)
> at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)
> at
> java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
> at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
> at
> org.apache.camel.dsl.jbang.core.common.CatalogLoader.loadCatalog(CatalogLoader.java:77)
> at
> org.apache.camel.dsl.jbang.core.commands.mcp.CatalogTools.loadCatalog(CatalogTools.java:253)
> at
> org.apache.camel.dsl.jbang.core.commands.mcp.CatalogTools.camel_catalog_components(CatalogTools.java:65)
> at
> org.apache.camel.dsl.jbang.core.commands.mcp.CatalogTools_ClientProxy.camel_catalog_components(Unknown
> Source)
> at
> org.apache.camel.dsl.jbang.core.commands.mcp.CatalogTools_camel_catalog_components_Invoker_pZTQHIEJbHWjGMKaLBlP6KnVsGU.invoke(Unknown
> Source)
> at
> org.apache.camel.dsl.jbang.core.commands.mcp.CatalogTools_camel_catalog_components_LazyInvoker_pZTQHIEJbHWjGMKaLBlP6KnVsGU.invoke(Unknown
> Source)
> at
> io.quarkiverse.mcp.server.runtime.FeatureManagerBase$FeatureMetadataInvoker.call(FeatureManagerBase.java:426)
> at
> io.quarkiverse.mcp.server.runtime.FeatureManagerBase$1.lambda$call$0(FeatureManagerBase.java:98)
> at
> io.smallrye.context.impl.wrappers.SlowContextualFunction.apply(SlowContextualFunction.java:21)
> at
> io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.performInnerSubscription(UniOnItemTransformToUni.java:68)
> at
> io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:57)
> at
> io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:42)
> at
> io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
> at
> io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
> at
> io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni.subscribe(UniOnItemTransformToUni.java:25)
> at
> io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
> at
> io.smallrye.mutiny.operators.uni.UniOnItemOrFailureFlatMap.subscribe(UniOnItemOrFailureFlatMap.java:27)
> at
> io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:35)
> at
> io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:51)
> at io.smallrye.mutiny.groups.UniSubscribe.with(UniSubscribe.java:110)
> at io.smallrye.mutiny.groups.UniSubscribe.with(UniSubscribe.java:88)
> at
> io.quarkiverse.mcp.server.runtime.FeatureManagerBase$3.call(FeatureManagerBase.java:340)
> at
> io.quarkiverse.mcp.server.runtime.FeatureManagerBase$3.call(FeatureManagerBase.java:336)
> at
> io.vertx.core.impl.ContextImpl.lambda$executeBlocking$4(ContextImpl.java:192)
> at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
> at io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221)
> at io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56)
> at
> io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:666)
> at
> org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
> at
> org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
> at
> org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
> at
> org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
> at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
> at
> org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.base/java.lang.Thread.run(Thread.java:1583)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.camel.catalog.impl.AbstractCamelCatalog
> at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
> ... 46 more
> undefined
> 2026-03-11 16:27:19.101 [error] Error calling tool
> 'camel_catalog_components': MCP error -32603: Internal error MCP error
> -32603: Internal error
> {code}
> This seems somewhat intermittent as in the same log later it seems to handle
> the request just fine
> {code}
> 2026-03-11 16:31:19.835 [info] Handling CallTool action for tool
> 'camel_catalog_components' with toolCallId:
> tool_ed4ab2aa-7e8c-4227-bf9a-c4458f7aadd
> 2026-03-11 16:31:19.835 [info] Calling tool 'camel_catalog_components' with
> toolCallId: tool_ed4ab2aa-7e8c-4227-bf9a-c4458f7aadd
> 2026-03-11 16:31:20.276 [info] Successfully called tool
> 'camel_catalog_components'
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)