Torsten Mielke created CAMEL-23183:
--------------------------------------

             Summary: [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
    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


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)

Reply via email to