Agent 365 CLI 包含一个用于测试和开发的模拟工具服务器。 该服务器模拟 MCP(模型上下文协议)服务器的交互,因此你可以在本地测试智能体的工具功能,无需实际服务器实现。 它不涵盖其他 Agent 365 的功能。
使用模拟服务器的优势
模拟服务器为本地开发和测试提供了以下优势:
- 离线开发:无需连接互联网或外部依赖即可测试您的智能体。
- 一致性测试:在测试边缘情况时获得可预测的回复。
- 调试:实时查看所有请求和回复
- 快速迭代:无需等待外部 API 调用或搭建复杂的测试环境。
必备条件
在使用模拟工具服务器之前,请确保您具备以下先决条件:
-
已安装 Agent 365 CLI - 模拟工具服务器需配合 CLI 使用。 安装说明请参见 Agent 365 CLI。
- 要使用模拟工具服务器,至少需要 1.1.25 预览版版本。
- 示例智能体项目:一个可以连接到 MCP 服务器的本地智能体项目。 请参阅我们的 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
当你运行该命令时,它:
- 在指定端口(默认:localhost:5309)启动模拟工具服务器。
- 在终端中显示服务器日志和传入请求。
将模拟服务器与示例智能体一起使用
要将你的示例智能体连接到模拟工具服务器:
步骤 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 步:配置您的智能体
在您的示例智能体中设置 MCP_PLATFORM_ENDPOINT 环境变量,使其指向模拟服务器:
MCP_PLATFORM_ENDPOINT=http://localhost:5309
如果您使用自定义端口,请将 5309 替换为您选择的端口号。
步骤 3:运行你的智能体
像平时一样启动您的示例智能体。 您的智能体现在连接到的是模拟服务器,而不是实际的 MCP 服务器。
步骤 4:监控服务器活动
模拟服务器终端显示:
- 来自智能体的传入请求
- 要发送回的模拟回复
- 连接状态及错误(如有)
示例服务器日志:
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终止正在使用该端口的进程,然后重新尝试。
智能体无法连接到模拟服务器
症状:智能体日志在尝试连接模拟服务器时显示连接错误或超时。
原因:
- 模拟服务器没有运行。
-
MCP_PLATFORM_ENDPOINT环境变量不正确。 - 防火墙或网络配置问题。
解决方案:
- 验证模拟服务器是否正在运行并显示“Now listening on: http://localhost:5309"”。
- 检查
MCP_PLATFORM_ENDPOINT环境变量是否与服务器地址匹配。 - 确保防火墙未阻断指定端口的连接。