[
https://issues.apache.org/jira/browse/CAMEL-25307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-25307.
---------------------------------
Fix Version/s: 4.23.0
Resolution: Fixed
Fixed by https://github.com/apache/camel/pull/27330 (6589e123eb0f). Local-model
benchmark (four HTTP rungs, k=5): the model calls camel_runtime_http_request
about 95 times per series; no measurable score gain at k=5 (51/65 without
groups, 54 and 50 with).
> camel-jbang-mcp - an HTTP tool group: served endpoints and a request tool for
> the selected integration
> ------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-25307
> URL: https://issues.apache.org/jira/browse/CAMEL-25307
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang
> Reporter: Claus Ibsen
> Priority: Major
> Fix For: 4.23.0
>
>
> A tool group for HTTP integrations, next to the sql, tracing and resilience
> groups of CAMEL-24834: loaded for a local model when the selected integration
> serves HTTP, so it can see what its own app serves and answers.
> *Why:* the HTTP rungs (stock-api, http-client, openapi-server,
> openapi-client) are where the local model loses the most steps (CAMEL-24886).
> It cannot see what the running app serves, nor send it a request: in round 2
> a bug (a path parameter clashing with a header of the same name, CAMEL-24910)
> was only found by curling the model's own app, and in round 3 openapi-server
> step 1 failed 5 of 5 on a response body the model never saw.
> *What exists:* dev consoles {{rest}}, {{rest-spec}} (the loaded OpenAPI
> contract), {{platform-http}} and {{main-http-server}} (port, base path,
> served endpoints). There is no MCP / AI tool over them, and
> {{camel_runtime_send}} sends to a Camel endpoint, not an HTTP request to the
> app.
> *Proposal:*
> * {{camel_runtime_http_endpoints}}: the served paths with method,
> consumes/produces, the route and operation id, the server port and base path,
> and the loaded contract (from the consoles above).
> * {{camel_runtime_http_request}}: send an HTTP request to the selected app's
> own server (method, path, headers, body; localhost and the app's port only,
> small response cap) and return status, headers and body. Development use,
> like the SQL tool (CAMEL-24834).
> * Group trigger in AppFeatures: platform-http / rest / rest-openapi consumer
> endpoints, or a rest: openApi: contract; guidance line with the base URL and
> contract name, e.g. "HTTP: served on http://localhost:8080/api (contract
> stock-api.json); camel_runtime_http_request calls it,
> camel_runtime_http_endpoints lists the operations."
> * AI panel of the camel-jbang views: the same group with its tools.
> * Measure on the four HTTP rungs of the local-model benchmark (with
> BENCH_TOOL_GROUPS), against the round-3 numbers.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)