[ 
https://issues.apache.org/jira/browse/CAMEL-25687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18127474#comment-18127474
 ] 

Claus Ibsen commented on CAMEL-25687:
-------------------------------------

[~fmariani] background for CAMEL-25639: the {{camel_...}} tools and the runtime 
tools are not only camel-jbang-mcp's. They are defined once in camel-jbang-core 
(package {{org.apache.camel.dsl.jbang.core.commands.ai}}: {{ToolRegistry}}, 
{{AuthoringTools}}, {{ToolDescriptor}}, {{ToolGroups}}) and served by the four 
clients in the table above: camel-jbang-mcp wraps them ({{AuthoringTools}} for 
the {{camel_...}} tools, {{RuntimeTools.delegateToRegistry}} for the runtime 
tools), camel run --mcp and camel ask serve them under the registry's names, 
and camel tui serves the {{camel_...}} tools in its AI panel and {{camel tui 
--mcp}}. A rename, a merge or a new argument of a tool changes it for all four, 
and so do the prompts and guidelines that name the tools 
({{AuthoringGuidelines}}, CAMEL-25676). The rules for the calls that the user 
confirms first ({{ToolConfirms}}) are in camel-jbang-core too since CAMEL-25676.


> camel-jbang - one AI tool set across clients, for local and frontier models
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-25687
>                 URL: https://issues.apache.org/jira/browse/CAMEL-25687
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-jbang, camel-jbang-mcp
>            Reporter: Claus Ibsen
>            Priority: Major
>             Fix For: 4.24.0
>
>
> The AI tools of camel-jbang reach models through four clients, with more than 
> 100 tool names between them (main, Oct 15 2026):
> ||client||tools||what they are||
> |camel-jbang-mcp|85|16 {{camel_...}} tools, 36 {{camel_runtime_...}} tools 
> over the shared registry, 33 of its own|
> |camel run --mcp ({{JbangDevMcpServer}} of camel-mcp-server)|68|every tool of 
> the shared registry, under the registry's names|
> |camel ask|25 to a local model, 61 to a hosted one|the registry's tools under 
> the registry's names, a core and a full set since CAMEL-25676|
> |camel tui (AI panel and camel tui --mcp)|64, 25 to a local model|the 16 
> {{camel_...}} tools and 48 of its own|
> The shared registry ({{ToolRegistry}} in camel-jbang-core: 16 {{camel_...}} 
> tools and 52 others) is one implementation, but a model meets it under two 
> names: {{camel_runtime_routes}} of camel-jbang-mcp is {{get_routes}} of camel 
> run --mcp and camel ask. So prompts, hints and benchmark results for one 
> client do not carry over to another, a host that picks a tool by its name 
> (CAMEL-25639) meets two names for one tool, and a local model pays for every 
> tool definition in time: 74 tools made the first request of a camel ask 
> question 9.5k tokens, against 5.2k with 25 (CAMEL-25676).
> h3. Proposal
> * One consolidated set: the tools CAMEL-25639 settles on for camel-jbang-mcp, 
> defined once in camel-jbang-core with their name, description and arguments, 
> and served under the same names by all four clients.
> * Two sizes of it: a core set of about 25 tools for a local model 
> ({{ToolDescriptor.core}} and the tool groups of the integration, as camel ask 
> and the AI panel pick them) and the full set for a frontier model. Each 
> client adds its own few: the CLI for camel ask, the screen for the monitor. 
> The profiles of CAMEL-25537 can be these two.
> * camel run --mcp needs the same choice between a local and a frontier model. 
> As an MCP server it cannot see the model behind its client, so an option 
> chooses the core or the full set (camel ask and the AI panel pick by the 
> provider, with an option to override).
> * Delete the ten registry tools that the {{camel_...}} tools replaced: 
> {{get_errors}}, {{eval_expression}} and eight {{catalog_...}} tools. Since 
> CAMEL-25676 only camel run --mcp serves them.
> * Give the six tools that only camel ask and camel run --mcp serve their 
> shared counterparts: {{list_processes}} and {{select_process}} 
> ({{camel_runtime_processes}}), {{stop_application}} ({{camel_control}} with 
> stop), {{write_heap_dump}} (the heap dump tool), {{list_examples}} and 
> {{get_example_file}} ({{camel_catalog_examples}}, 
> {{camel_catalog_example_file}}).
> * Measure the core set with local models on the benchmark ladder, before and 
> after.
> Do it with or after CAMEL-25639: the names are the ones it settles on.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to