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

Federico Mariani commented on CAMEL-24313:
------------------------------------------

The camel-side tests are merged via https://github.com/apache/camel/pull/25306: 
the reusable engine conformance kit (McpServerConformanceTestSupport in 
camel-mcp-server-api, published as test-jar) and the MCP Java SDK client 
scenarios against the Vert.x engine (unit + platform-http-main IT + 
camel-openai agent IT).

The runtime design changed from the original sketch (see CAMEL-24308): Spring 
Boot uses the Spring AI 2.x MCP server over streamable HTTP rather than servlet 
SSE. Its verification (conformance scenarios mirrored 1:1, since the kit 
manages its own CamelContext and cannot boot inside Spring Boot, plus a stdio 
transport test) is part of CAMEL-24331 / camel-spring-boot PR 1871; the Quarkus 
equivalent is in camel-quarkus PR 8950 (McpAssured, JVM + native).

_Claude Code on behalf of Federico Mariani_

> Tests: MCP SDK client IT and Spring Boot servlet SSE verification
> -----------------------------------------------------------------
>
>                 Key: CAMEL-24313
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24313
>             Project: Camel
>          Issue Type: Sub-task
>          Components: camel-ai
>            Reporter: Federico Mariani
>            Assignee: Federico Mariani
>            Priority: Major
>              Labels: ai, mcp
>             Fix For: 4.22.0
>
>
> * Engine conformance kit: an abstract scenario suite shipped as a test-jar 
> from {{camel-mcp-server}}, driving the official MCP Java SDK *client* 
> ({{McpClient.sync}} + {{HttpClientStreamableHttpTransport}}, same classes 
> camel-openai uses) against a running server: initialize session, tools/list 
> (tag filtering, default-pool exclusion, name-collision refusal), tools/call 
> (success, argument error, sanitized execution error, timeout), list_changed 
> notification on route stop/start, session termination.
> * The kit is the cross-engine behavioural contract: it runs against the vertx 
> engine in this repo (IT in camel-mcp-server-engine-vertx on the Vert.x main 
> HTTP server), against the Spring AI 2.x engine in the camel-spring-boot repo, 
> and against the quarkus-mcp-server engine in the camel-quarkus repo — 
> behavior cannot drift between engines.
> * Bridge unit tests with a mock engine (no HTTP): tag selection, collision 
> policy, sanitization, timeout mapping, listener-driven add/remove.
> * (Superseded: the previously planned Spring Boot servlet SSE verification IT 
> is no longer needed — the Spring engine serves through Spring AI's async 
> transports, not through the Camel servlet binding.)
> ----
> _This issue was drafted by Claude Code on behalf of Federico Mariani._



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

Reply via email to