通过


模拟模具服务器

重要

你需要是边境预览计划的一部分,才能提前访问 Microsoft Agent 365。 边界将你直接与Microsoft最新的 AI 创新联系起来。 边境预览版受客户协议现有预览条款的约束。 由于这些功能仍在开发中,其可用性和功能可能会随时间而变化。

Agent 365 CLI 包含一个用于测试和开发的模拟工具服务器。 该服务器模拟MCP(模型上下文协议)服务器交互,因此你可以在本地测试代理的工具能力,无需实际服务器实现。 它不涵盖其他Agent 365的功能。

使用模拟服务器的优势

模拟服务器为本地开发和测试提供了以下优势:

  • 离线开发:测试您的代理时不连接互联网或外部依赖。
  • 持续测试:在测试边缘案例时获得可预测的响应。
  • 调试:实时查看所有请求和响应
  • 快速迭代:无需等待外部 API 调用或搭建复杂的测试环境。

先决条件

在使用模拟模具服务器之前,请确保你具备以下先决条件:

  • 已安装Agent 365 CLI ——在CLI旁边使用模拟工具服务器。 安装说明请参见 Agent 365 CLI
    • 你至少应该有1.1.25-preview版本才能使用模拟工具服务器。
  • 示例代理项目 ——一个可以连接到MCP服务器的本地代理项目。 请参阅我们的 Agent365-Samples 仓库 以获取可用的起点。

启动模拟模具服务器

使用 a365 develop start-mock-tooling-server 命令 启动模拟模具服务器。

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

# Short alias
a365 develop mts

命令选项

模拟工具服务器支持以下选项:

选项 Description 违约
-p, --port <port> 模拟服务器的端口号 5309
-v, --verbose 启用详细日志记录
-?, -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. 在终端中显示服务器日志和收到的请求。

使用带有示例代理的模拟服务器

要将你的样品代理连接到模拟模具服务器:

步骤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 ,或关闭终端窗口。

Troubleshooting

本节包含如何排查模拟模具服务器常见问题的信息。

小窍门

Agent 365 故障排除指南 包含高层次的故障排除建议、最佳实践以及针对 Agent 365 开发生命周期各阶段的故障排除内容链接。

模拟服务器启动失败

症状:Error: Address already in use

原因: 另一个进程已经在使用默认端口(5309)或你指定的端口。

Solution:

  • 换个端口吧。

    a365 develop start-mock-tooling-server -p 8080
    
  • 或者停止使用端口的进程,重新尝试。

代理无法连接到模拟服务器

症状: 代理日志显示连接错误或超时,试图访问模拟服务器。

原因:

  • 模拟服务器没有运行。
  • 环境变量不正确 MCP_PLATFORM_ENDPOINT
  • 防火墙或网络配置问题。

Solution:

  1. 确认模拟服务器是否运行,并显示“正在监听: http://localhost:5309"。
  2. 检查 MCP_PLATFORM_ENDPOINT 环境变量是否与服务器地址匹配。
  3. 确保指定端口没有防火墙阻断连接。