oscerd opened a new pull request, #1914:
URL: https://github.com/apache/camel-spring-boot/pull/1914

   `McpServerConfigurationProperties`, `SpringAiMcpServerEngine` and 
`intro.adoc` all said the same thing:
   
   > Serving concerns (endpoint path, protocol, server identity, 
**authentication**) are owned by the Spring AI
   > MCP server and configured via `spring.ai.mcp.server.*`.
   
   `spring.ai.mcp.server.*` configures endpoint path, protocol and server 
identity, but it has **no authentication
   property**. A reader following that sentence looks for a knob in that 
namespace, does not find one, and may
   conclude the endpoint is covered when it is not.
   
   ### Change
   
   Authentication is dropped from the list in all three places, and 
`intro.adoc` gains a **Securing the MCP
   endpoint** section: an explicit statement that `spring.ai.mcp.server.*` 
provides no authentication, a Spring
   Security `SecurityFilterChain` example matching the endpoint path, and a 
pointer to the network-policy
   alternative. It also references the trust boundary documented for the 
component under CAMEL-24314 — external
   MCP clients are untrusted senders.
   
   ### The default posture is fine, and unchanged
   
   Worth stating plainly, because the finding this came from could be read as 
"the tool surface is exposed out of
   the box": it is not. `tags` defaults to null and, as the property javadoc 
says, the untagged default pool is
   never exposed — so no tool is served until an operator explicitly sets 
`camel.mcp-server.tags`. This PR
   changes **no defaults**; the problem was the documentation pointing at the 
wrong place for the hardening step.
   
   ### One log line
   
   When `tags` is actually set — i.e. when tools really are exposed — startup 
now logs one INFO line naming the
   tags and noting the endpoint is not authenticated by the Spring AI server.
   
   Deliberately **INFO, not WARN**: exposing tools is the whole point of 
configuring tags, so a warning would fire
   on every legitimate deployment and quickly be tuned out. The issue floated 
failing or warning when no
   `SecurityFilterChain` covers the endpoint; I did not do that, because 
reliably detecting which chains match the
   MCP path is fragile and would produce false alarms.
   
   ### Scope
   
   Docs and one log line. No behaviour change, no defaults touched. The 
regenerated
   `docs/spring-boot/.../starters/mcp-server.adoc` carries the new section. 
Root reactor build green.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to