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
12 lines
459 B
Bash
Executable File
12 lines
459 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Regenerates every reproducible file under output/. Run from the module root
|
|
# (spring-ai/mcp-client). Needs npx and uvx on PATH -- both external MCP servers are launched
|
|
# fresh by the tests themselves.
|
|
set -eu
|
|
cd "$(dirname "$0")/.."
|
|
|
|
mvn -q -o test
|
|
echo
|
|
echo "Regenerated output/01 through 07 -- real MCP tool calls captured by the real"
|
|
echo "ToolCallingManager bean against real filesystem and git MCP servers, plus the local tool."
|