defaultToolCallbacks(ToolCallbackProvider) wires two real stdio MCP servers (the official filesystem server and git server) into ChatClient, contrasted with defaultTools(Object) for a local @Tool method. Every call -- MCP-sourced or local -- is logged through one Micrometer ObservationHandler<ToolCallingObservationContext>; a first version wired that handler two ways at once and every call logged twice, which is now a regression test. No real LLM is used anywhere: every test builds an AssistantMessage.ToolCall by hand and drives it through the real ToolCallingManager bean against real npx/uvx-launched MCP server processes. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01FtpJvZfg4nvLvtzgJTDWpB
7 lines
174 B
Plaintext
7 lines
174 B
Plaintext
# Calling the local @Tool through the real ToolCallingManager -- no process, no MCP transport
|
|
|
|
tool: currentUtcTime
|
|
arguments: {}
|
|
|
|
response: "2026-09-23T14:43:51.025702444Z"
|