Skip to content

构建使用公开文档 MCP 的技术文档助手 ​

连接 AI 助手

本实战将 Microsoft Learn 的公开文档 MCP Server 接入智能体开发服务平台(AgentWorks),构建一个先搜索、再读取官方页面并附上来源链接的技术文档助手。完成后,可以在 网页版对话 查看回答和工具调用,并通过 Trace 核对调用顺序。

Microsoft Learn MCP Server 是 AgentWorks 外部的公共服务,不需要配置认证 Header。服务不可用、页面调整或限流时,搜索结果和回答可能变化。

本实战将帮助你理解 ​

  • MCP 模板如何保存可复用连接配置,MCP 实例如何成为智能体实际关联的能力资源。
  • 连接测试、插件关联和工具权限为什么分别控制工具发现、能力关联和调用处理。
  • 如何通过 Trace 确认回答确实使用了外部工具和实际读取的来源。

准备条件 ​

开始前需要:

  • 一个已经完成基础回复验证的模型凭证和模型。尚未验证时,先运行创建第一个智能体并完成基础验证。
  • 创建 MCP 模板、MCP 实例、智能体模板和智能体实例的权限。
  • 当前账号有权创建和使用 MCP,且平台网络可以访问 https://learn.microsoft.com/api/mcp。
  • 一组只用于本实战的测试资源。不要修改由其他智能体或生产流程引用的 MCP 实例。

本文使用以下名称:

资源名称
MCP 模板recipe-mslearn-docs-mcp-template-v1
MCP 实例recipe-mslearn-docs-mcp-v1
智能体模板recipe-mslearn-docs-assistant-v1
智能体实例recipe-mslearn-docs-assistant-test-v1

如果环境中已经存在同名资源,请为四个名称统一追加简短后缀,例如 -team-a。

注意

只使用公开、非敏感的问题

MCP 工具调用会把搜索词和请求读取的 URL 发送给 Microsoft,返回内容会进入 AgentWorks 的模型上下文,并可能显示在 Trace 中。不要提交密钥、个人信息、客户资料、租户标识或内部故障信息。

创建并测试 Microsoft Learn MCP ​

先用 MCP 模板保存连接配置,再从模板创建 MCP 实例。

注意

为什么先创建 MCP 模板,再创建 MCP 实例?

MCP 模板保存 Server URL 等连接设置。根据模板创建 MCP 实例后,本实战会把这个实例添加到智能体模板中,让智能体能够使用 Microsoft Learn 提供的工具。以后需要创建相同连接时,可以继续使用这个 MCP 模板,不必重复填写设置;如果只需要一个固定连接,也可以直接新建 MCP 实例。参见区分能力模板和能力实例。

创建 MCP 模板 ​

  1. 从左侧导航进入 MCP 管理,选择 MCP 模板,再选择 新建 MCP 模板。

  2. 将 名称设为 recipe-mslearn-docs-mcp-template-v1,在 描述中填写 Microsoft Learn 公开文档 MCP。

  3. 将 Server URL设为 https://learn.microsoft.com/api/mcp。

  4. 保持 跳过 TLS 校验关闭,保持 Headers为空,其他字段使用默认值。

  5. 选择 创建 MCP 模板。

创建并测试 MCP 实例 ​

  1. 打开刚创建的 recipe-mslearn-docs-mcp-template-v1 模板详情,选择 创建实例。不要从 MCP 实例列表选择 新建;该入口会创建不继承模板的独立实例。

  2. 将 实例名称设为 recipe-mslearn-docs-mcp-v1,然后创建实例。

  3. 在 MCP 实例中选择 测试连接。

  4. 连接成功后,打开 工具页签,确认 工具列表显示:

    • microsoft_docs_search
    • microsoft_docs_fetch
    • microsoft_code_sample_search

    注意

    连接成功只表示工具已经被发现

    测试连接确认 AgentWorks 可以访问 MCP Server 并取得工具定义,但不会自动把工具提供给智能体。还需要把 MCP 实例关联到智能体模板、配置工具权限并创建智能体实例。参见MCP 连接测试成功后,智能体就能使用工具吗?。

连接失败或工具缺失时,先检查 Server URL、平台网络、TLS 和 Microsoft Learn 服务状态。不要关闭 TLS 校验来绕过证书问题,也不要根据本文猜测新的工具名称。

创建技术文档助手 ​

智能体模板保存可复用设计,智能体实例承载实际运行。因此,请在创建实例前完成 MCP 和工具权限配置,使新实例直接采用所需设计。参见区分智能体模板和智能体实例。

  1. 打开 智能体模板,选择 创建智能体模板。

  2. 将 模板名称设为 recipe-mslearn-docs-assistant-v1,并选择已经验证的 模型凭证和 模型。

  3. 在 系统提示词中输入:

    language-text
    你是 Microsoft 技术文档助手。
    回答 Microsoft 产品问题时,先搜索 Microsoft Learn,再读取最相关的官方页面。
    只根据实际读取到的页面回答,并在答案中给出该官方页面链接。
    页面读取失败或资料没有答案时,明确说明失败或资料不足,不要编造内容。
    在当前智能体中直接完成搜索和读取,不要启动异步任务、子代理或后台任务。
  4. 本实战不使用文件、Todo 或长会话压缩。关闭默认开启的 启用文件系统,并保持 启用待办列表和上下文压缩关闭。

  5. 在 插件配置中选择 添加插件,添加 MCP - 实例,再选择 recipe-mslearn-docs-mcp-v1。

    本实战直接关联前面已经创建并测试通过的 MCP 实例,使智能体复用同一个确定的服务连接。如果希望多个智能体实例复用相同的 MCP 配置结构,但分别提供环境地址、租户路径或认证信息等参数,请改为选择 MCP - 模板。

    注意

    插件关联和工具权限解决不同问题

    插件配置负责把 MCP 能力资源关联到智能体模板;下一步的工具权限决定发现的工具调用是允许、拒绝还是交由人工处理。工具权限不会代替 MCP Server 自身的身份验证和业务授权。参见区分能力、插件和能力资源和工具审批规则能代替工具服务的访问授权吗?。

  6. 在 工具权限中分别为 microsoft_docs_search 和 microsoft_docs_fetch 添加允许规则,并将 默认行为设为 拒绝。

    本实战不搜索代码样例,因此不允许 microsoft_code_sample_search。每条规则只填写完整工具名称,不填写参数名或匹配正则。

  7. 选择 创建智能体模板。

  8. 从模板创建名为 recipe-mslearn-docs-assistant-test-v1 的智能体实例。

本实战在创建实例前完成模板配置,因此不需要同步已有实例。如果改为复用已有实例,请在保存和重启模板后,按手动应用新配置更新实例,再运行下一节的真实工具调用。

验证搜索、读取和来源链接 ​

从控制台侧边栏打开 网页版对话,在新标签页的实例选择器中选择刚创建的测试实例。选择 开启新对话,等待连接或重连提示消失后发送:

language-text
请先使用 microsoft_docs_search 搜索 Microsoft Learn,再使用 microsoft_docs_fetch
读取一个最相关的官方页面。然后说明 Azure Resource Manager 是什么、可以帮助我
管理什么,并给出你实际读取的官方页面链接。本次只使用这两个文档工具。

注意

回答正确不等于工具已经参与运行

模型可能根据自身知识回答问题。检查 Trace 中的搜索、读取参数和结果,才能确认本次回答实际使用了 MCP,并区分搜索结果中的候选链接与真正读取的来源。参见智能体没有使用已经添加的能力时,应该检查什么?。

回答不需要逐字固定。确认:

  1. Trace先显示 microsoft_docs_search,再显示 microsoft_docs_fetch。
  2. 读取的 URL 来自 Microsoft Learn,工具结果与问题相关。
  3. 最终回答只概括实际读取到的资料,并包含该官方页面链接。
  4. 本次运行没有调用其他工具。

搜索排名和页面内容可能变化,因此不要求固定页面、返回顺序或逐字相同的答案。

完成结果:智能体先搜索、再读取 Microsoft Learn 官方页面,最终回答包含实际读取的来源链接。

如果验证没有通过 ​

  • 智能体不能正常回复:回到创建第一个智能体并完成基础验证,检查模型和模型凭证。
  • 连接失败或工具列表缺失:检查 Server URL、平台网络、TLS 和 Microsoft Learn 服务状态,再重新测试连接。
  • 工具没有参与运行:确认智能体模板已关联正确的 MCP 实例,并核对两个允许规则和默认拒绝规则。复用已有实例时,还需手动应用新配置。
  • 页面读取失败:不要让智能体编造内容或把未读取的搜索结果当作来源。确认外部页面可用后,在新会话中重试。

下一步 ​

  • 想让智能体规划研究步骤并把结果写成 Markdown 文件时,继续使用 Todo 和文件系统生成研究简报。
  • 改用自己的文档 MCP Server 时,先确认连接方式、实际工具名称、认证要求和读写范围,再更新 MCP 配置、最小权限规则和固定测试。需要认证时,只使用服务方要求的最小权限凭证;服务包含写操作时,还要增加服务端授权、幂等、审计和人工确认。
  • 完成验证后,可以保留本实战的专用测试资源用于定期复测,但要记录负责人、保留用途和下次复查时间。改变或处置这些资源前,先核对当前引用和团队的资源生命周期策略。
  • 准备上线前,为外部服务可用性、超时和限流建立监控与失败提示,并在模型、提示词、MCP 或工具定义变化后重新验证。参见验证智能体实例和将智能体投入生产。