Mock tooling server(模擬工具伺服器)

Agent 365 CLI 包含一個用於測試與開發目的的模擬工具伺服器。 這個伺服器會模擬MCP(Model Context Protocol,模型情境協定)伺服器的互動,因此你可以在本地測試Agent的工具功能,無需實際伺服器實作。 它不涵蓋其他Agent 365的功能。

使用模擬伺服器的優點

模擬伺服器為本地開發與測試提供以下優點:

  • 離線開發:在沒有網際網路連線或外部相依性的情況下測試您的Agent。
  • 一致性測試:獲得可預測的回覆以測試邊緣案例。
  • 除錯:即時檢視所有請求與回覆
  • 快速迭代:無需等待外部 API呼叫,也不需設定複雜的測試環境。

先決條件

在使用模擬工具伺服器之前,請確認你已具備以下必要條件:

  • 已安裝Agent 365 CLI - 搭配 CLI 使用模擬工具伺服器。 請參考Agent 365 CLI的安裝說明。
    • 要使用模擬工具伺服器,版本需至少為 1.1.25-預覽版。
  • 範例Agent專案 - 一個可連接MCP伺服器的本地Agent專案。 如需可用的起點,請參閱我們的 Agent365-Samples 存放庫

啟動模擬工具伺服器

使用 a365 develop start-mock-tooling-server 指令來啟動模擬工具伺服器。

# Full command
a365 develop start-mock-tooling-server

# Short alias
a365 develop mts

命令選項

模擬工具伺服器支援以下選項:

選項 描述 預設
-p, --port <port> 模擬伺服器的連接埠號 5309
-v, --verbose 啟用詳細資訊記錄 False
-?, -h, --help 顯示協助及使用說明 -
-bg 在新的終端機上執行伺服器 -

範例

以下範例展示了啟動模擬工具伺服器的常見方法:

透過預設設定啟動:

a365 develop start-mock-tooling-server

使用自訂連接埠啟動:

a365 develop start-mock-tooling-server -p 8080

透過詳細日誌啟動

a365 develop start-mock-tooling-server -v

當你執行這個指令時,它會:

  1. 在指定的連接埠啟動模擬伺服器(預設:localhost:5309)。
  2. 在終端機中顯示伺服器日誌及收到的請求。

與範例Agent一起使用模擬伺服器

若要將您的範例 Agent 連線至模擬工具伺服器:

步驟 1:啟動模擬伺服器

a365 develop start-mock-tooling-server

伺服器啟動後會顯示與下列範例類似的輸出:

info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5309
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.

步驟 2:設定您的 Agent

設定範例Agent的 MCP_PLATFORM_ENDPOINT 環境變數,使其指向模擬伺服器:

MCP_PLATFORM_ENDPOINT=http://localhost:5309

如果您使用自訂連接埠,請將 5309 取代為您選擇的連接埠。

步驟三:執行你的Agent

如同平常一樣啟動你的範例Agent。 Agent現在連接到模擬伺服器,而非實際的MCP伺服器。

步驟4:監控伺服器活動

模擬伺服器終端顯示:

  • 來自您 Agent 的傳入要求
  • 模擬回覆已送出
  • 連線狀態與錯誤(如有)

伺服器日誌範例:

info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5309/agents/servers/mcp_CalendarTools - application/json 351
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'HTTP: POST /agents/servers/{mcpServerName}'
info: Microsoft.AspNetCore.Http.Result.JsonResult[3]
      Writing value of type '<>f__AnonymousType14`3' as Json.
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'HTTP: POST /agents/servers/{mcpServerName}'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 POST http://localhost:5309/agents/servers/mcp_CalendarTools - 200 - application/json;+charset=utf-8 399.1814ms

停止模擬伺服器

要停止模擬伺服器,請在正在執行伺服器的終端機按下 Ctrl+C,或直接關閉該終端機視窗。

疑難排解​​

本節包含有關如何針對模擬工具伺服器的常見問題進行疑難排解的資訊。

提示

Agent 365 疑難排解指南包含高階疑難排解建議、最佳做法,以及每個階段的疑難排解連結,涵蓋 Agent 365 開發生命週期的所有部分。

模擬伺服器啟動失敗

徵兆:Error: Address already in use

原因:另一個程序已佔用預設埠(5309)或您指定的埠。

解決方案:

  • 使用不同的連接埠

    a365 develop start-mock-tooling-server -p 8080
    
  • 終止佔用該埠的程序,然後重新嘗試。

Agent無法連線至模擬伺服器

症狀:Agent 日誌顯示嘗試連接模擬伺服器時出現連線錯誤或逾時。

原因:

  • 模擬伺服器尚未執行
  • MCP_PLATFORM_ENDPOINT 環境變數設定錯誤
  • 防火牆或網路設定問題。

解決方案:

  1. 確認模擬伺服器正在執行,並顯示「正在監聽:http://localhost:5309"」。
  2. 檢查 MCP_PLATFORM_ENDPOINT 環境變數是否比對伺服器位址。
  3. 確保沒有防火牆阻擋指定連接埠的連線。