Guillaume Nodet created CAMEL-23873:
---------------------------------------

             Summary: camel-jbang - Introduce shared ToolRegistry for AI tools
                 Key: CAMEL-23873
                 URL: https://issues.apache.org/jira/browse/CAMEL-23873
             Project: Camel
          Issue Type: Improvement
          Components: camel-jbang
            Reporter: Guillaume Nodet
             Fix For: 4.21.0


Introduce a shared ToolRegistry in camel-jbang-core that serves as the single 
source of truth for AI tool definitions and execution logic, eliminating 
duplication between the MCP server and Agent REPL.

*Changes:*
* New {{ToolRegistry}} class in camel-jbang-core with 50 shared tool 
descriptors covering: process discovery, runtime status, runtime actions, 
DevConsole data, analysis tools, catalog tools, and examples
* New {{ToolDescriptor}} builder-style descriptor bundling tool metadata and 
execution lambda
* New {{ToolContext}} shared execution context wrapping RuntimeHelper + 
CamelCatalog (no MCP/Quarkus dependency)
* Refactored {{AskTools}} (Agent REPL) to delegate to ToolRegistry for all 
shared tools (995 to 478 lines)
* Refactored {{RuntimeTools}} (MCP server) to delegate to ToolRegistry via thin 
MCP wrappers
* New DevConsole tools: circuit breakers, startup steps, datasources, spans, 
metrics
* New analysis tools: route analysis with anti-pattern hints, EIP stats, config 
drift detection
* New MCP prompts: {{camel_diagnose_route}} (7-step diagnosis workflow), 
{{camel_optimize_route}} (6-step optimization workflow)

*Benefits:*
* New tools automatically appear in both MCP server and Agent REPL
* Tool logic changes only need to happen in one place
* Clear separation: ToolRegistry owns tool logic, MCP/REPL own protocol concerns



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

Reply via email to