以下內容以先前五篇(依序:Gradle/相依、MCP 設定、MCP 工具實作、Simulation 概念與程式)為基礎,整理成:我做了什麼、怎麼做、哪些是配置/計畫而非程式碼實作,與下一步如何把 ai-agent 接上 MCP。
Spring Boot、Feign、Spring AI MCP starter、Jackson、Lombok
等),確保 MCP module 可獨立編譯與部署。McpToolConfig
(透過 MethodToolCallbackProvider
將多個帶 @Tool
的 bean 註冊為可被 MCP 呼叫的工具),以及 application.yml
的基本部署/endpoint 與下游服務位址。OrderBookMcpTool
、MarketMetricsMcpTool
、TradingMcpTool
、UserManagementMcpTool
、以及 SimulationMcpTool
。這些工具封裝對下游 order/wallet/match-engine 的呼叫(多以 Feign client 為橋接),並用 @Tool
供 MCP 使用。SimulationRequest
/SimulationResult
DTO 與 SimulationService
的 run-loop,能在每個 step 取得 market metrics、評估 spread 並依策略產生模擬或真實下單(executeReal
開關)。McpToolConfig
,將工具 bean 傳入 MethodToolCallbackProvider.builder()
。這讓工具的生命週期與依賴注入由 Spring 管理,且 MCP framework 只需拿到 provider 就能呼叫工具。OrderServiceClient
、WalletServiceClient
)作為外部 HTTP 呼叫的邊界,讓工具類只關注業務邏輯與 DTO 映射,便於在未來替換或 mock 測試。MarketMetricsMcpTool
)與下單動作(透過 TradingMcpTool
)做明確分工;SimulationService
負責策略判斷、價格選擇(topBid/topAsk/mid)、以及模擬 vs 實單的差異處理。SimulationResult
包含 events、fills、marketSnapshots 與 parsedFills,方便做回放、報表或 KPI 分析。簡單總結:我已經把 MCP tools 以 Spring Bean(@Tool
)與 MethodToolCallbackProvider
封裝好,並在 eap-mcp
中透過 Spring AI 的 MCP 支援暴露它們。
這讓 eap-ai-client
(下一篇會介紹的我的ai-service)可以直接以一個輕量的 MCP client(例如現有的 McpToolClient
/ McpConnectionService
)呼叫工具,省去直接處理下游 HTTP/Feign 或 internal wiring 的複雜度。
詳細的 execution-在後續 ai-service 專文中實作。
現在的架構已把工具與通訊邊界明確分離eap-mcp
提供穩定的 tool contract,eap-ai-client
只需呼叫 MCP 提供的 tool entrypoints 即可開始建置 ai-agent,透過將MCP Tool切出作為一個介面,如果未來有需要多種ai-agent程式需要掉用我的eap服務都可以輕鬆串接。