[
https://issues.apache.org/jira/browse/CAMEL-24312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18101289#comment-18101289
]
Federico Mariani commented on CAMEL-24312:
------------------------------------------
Implemented in [PR #25306|https://github.com/apache/camel/pull/25306] as part
of the bridge ({{McpServerBridge}}) and Vert.x engine: tag-filtered tools/list
(default pool never exposed), collision refusal with ERROR log, tools/call via
AiToolExecutor with per-call timeout and sanitized error mapping, list_changed
on registry listener events. Verified end-to-end by the conformance kit with
the official MCP SDK client.
_Claude Code on behalf of Federico Mariani_
> MCP tool listing, invocation and notifications over AiToolRegistry
> ------------------------------------------------------------------
>
> Key: CAMEL-24312
> URL: https://issues.apache.org/jira/browse/CAMEL-24312
> Project: Camel
> Issue Type: Sub-task
> Components: camel-ai
> Reporter: Federico Mariani
> Assignee: Federico Mariani
> Priority: Major
> Labels: ai, mcp
>
> Wire the MCP server to the ai-tool abstraction:
> * {{tools/list}}: expose tools whose tags intersect {{mcp-tags}}. Do NOT
> implicitly expose the untagged default pool — external MCP clients are
> untrusted senders; exposure must be explicit opt-in per tool.
> * Fail fast at startup (or refuse the tool with a loud warning) on tool name
> collisions across the selected tags — MCP has a flat tool namespace, no
> silent first-wins.
> * {{tools/call}}: invoke via {{AiToolExecutor}} on an exchange created from
> the tool's consumer, with a per-call timeout. Map
> {{AiToolResult.ArgumentError}} to isError=true with the validation message;
> {{AiToolResult.ExecutionError}} to isError=true with a generic message only
> (log the cause server-side, never leak raw route exception messages to remote
> clients).
> * {{notifications/tools/list_changed}}: push on registry listener events.
> ----
> _This issue was drafted by Claude Code on behalf of Federico Mariani._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)