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

Federico Mariani commented on CAMEL-24311:
------------------------------------------

Implementation: [PR #25309|https://github.com/apache/camel/pull/25309] — 
{{camel.server.mcp-*}} options in {{HttpServerConfigurationProperties}}, 
{{McpServerFactory}} SPI resolved by {{BaseMainSupport}} (registry bean > 
bootstrap FactoryFinder, mirroring {{MainHttpServerFactory}}), bridge added 
after the HTTP server; enabled-without-server fails fast with an actionable 
message. Verified by a properties-only boot test with the official MCP SDK 
client.

_Claude Code on behalf of Federico Mariani_

> camel.server.mcp-* configuration properties and camel-main autowiring
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-24311
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24311
>             Project: Camel
>          Issue Type: Sub-task
>          Components: camel-ai
>            Reporter: Federico Mariani
>            Assignee: Federico Mariani
>            Priority: Major
>              Labels: ai, mcp
>
> Add the {{camel.server.mcp-*}} configuration properties with camel-main 
> autowiring so the server starts from properties alone (no route needed), 
> consistent with the existing {{camel.server.*}} options in 
> {{HttpServerConfigurationProperties}}.
> h3. Property ownership
> Properties are split by owner. *Bridge* properties control which tools exist 
> and how they execute — they are honored identically on every runtime. 
> *Engine* properties control serving — they are consumed by the vertx engine 
> (Camel Main / JBang) only; native engines (Quarkus, Spring Boot) use their 
> own configuration instead.
> ||Property||Owner||Default||On native engines (Quarkus / Spring Boot)||
> |{{camel.server.mcp-enabled}}|bridge|false|honored — gates whether Camel 
> publishes tools at all|
> |{{camel.server.mcp-tags}}|bridge|(none)|honored — tag selection is Camel 
> domain|
> |{{camel.server.mcp-tool-timeout}}|bridge|20s|honored — execution is Camel 
> domain|
> |{{camel.server.mcp-path}}|engine|/mcp|IGNORED — {{quarkus.mcp.server.*}} / 
> {{spring.ai.mcp.server.*}} decide|
> |{{camel.server.mcp-server-name}}|engine|CamelContext name|passed via 
> {{initialize()}} as a hint; native engines MAY ignore|
> h3. Precedence rule
> On runtimes with a native engine, the native configuration wins for serving 
> concerns: {{quarkus.mcp.server.*}} on Quarkus, {{spring.ai.mcp.server.*}} 
> (Spring AI 2.x MCP server starter) on Spring Boot. On Camel Main / JBang the 
> vertx engine consumes the {{camel.server.mcp-*}} engine properties and serves 
> on the main HTTP server ({{camel.server.port}}). To make this visible rather 
> than a silent surprise: when an engine-owned property is set but the resolved 
> engine does not consume it, log a WARN at startup naming the property and the 
> native configuration to use instead.
> ----
> _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