CAMEL-24507: camel-mcp-server-starter - correct the authentication claim in the docs - #1914
Merged
Conversation
…aim in the docs The starter's javadoc and intro documentation listed authentication among the serving concerns owned by the Spring AI MCP server and configured via spring.ai.mcp.server.*. That namespace has no authentication property, so a reader following the sentence would look for a knob that does not exist and may conclude the endpoint is covered when it is not. The claim is removed from McpServerConfigurationProperties, SpringAiMcpServerEngine and intro.adoc, and intro.adoc gains a "Securing the MCP endpoint" section with a Spring Security filter chain example. The default posture is unchanged and remains sound: tags default to null and the untagged pool is never served, so nothing is exposed until an operator opts in. When they do, one INFO line at startup now says so and points at securing the endpoint - not WARN, which would fire on every legitimate deployment. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
Croway
approved these changes
Aug 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
McpServerConfigurationProperties,SpringAiMcpServerEngineandintro.adocall said the same thing:spring.ai.mcp.server.*configures endpoint path, protocol and server identity, but it has no authenticationproperty. 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.adocgains a Securing the MCPendpoint section: an explicit statement that
spring.ai.mcp.server.*provides no authentication, a SpringSecurity
SecurityFilterChainexample matching the endpoint path, and a pointer to the network-policyalternative. 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.
tagsdefaults to null and, as the property javadoc says, the untagged default pool isnever exposed — so no tool is served until an operator explicitly sets
camel.mcp-server.tags. This PRchanges no defaults; the problem was the documentation pointing at the wrong place for the hardening step.
One log line
When
tagsis actually set — i.e. when tools really are exposed — startup now logs one INFO line naming thetags 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
SecurityFilterChaincovers the endpoint; I did not do that, because reliably detecting which chains match theMCP 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.adoccarries the new section. Root reactor build green.