多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

使用 AI Toolkit 在 Visual Studio Code 中消费 MCP 服务器:以计算器 Agent 为例的端到端实战

使用 AI Toolkit 在 Visual Studio Code 中消费 MCP 服务器:以计算器 Agent 为例的端到端实战 教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载AI 智能体Agent的价值不只在于生成聪明的回答更在于真正采取行动。本指南基于 mcp-for-beginners 课程的第 7 课完整演示如何借助AI Toolkit for Visual Studio Code扩展把计算器 MCP 服务器接入 AgentPromptBuilder让 Agent 通过一句自然语言提示就能完成加、减、乘、除运算。学完本文你将掌握在 VSCode 中创建 Agent、定义系统提示、用模板搭建 Python MCP 服务器、将二者连通并通过自然语言触发工具调用的全流程并了解如何为服务器扩展新工具。概览为什么需要 MCP 与 AI Toolkit当你在构建 AI Agent 时除了让它生成回答还要赋予它操作外部世界的能力。Model Context ProtocolMCP正是为此而生——它用一种一致的方式让 Agent 访问外部工具与服务。你可以把它理解为把 Agent 插进一个它真正能用的工具箱。想象一下你把 Agent 连上自己的计算器 MCP 服务器它就能仅凭一句47 乘以 89 等于多少完成数学运算无需硬编码逻辑也无需自建 API。本课的核心流程如下创建 Agent 并定义其系统提示system prompt创建带计算工具加、减、乘、除的 MCP 服务器用 AgentPromptBuilder 连接该 MCP 服务器通过自然语言测试 Agent 的工具调用。AI Toolkit 是 Visual Studio Code 上的一个功能强大的扩展能显著简化 Agent 的开发AI 工程师可以方便地构建 AI 应用并在本地或云端开发、测试生成式 AI 模型且该扩展支持当今绝大多数主流生成式模型。[!NOTE] AI Toolkit 目前支持Python和TypeScript的 MCP 模板。学习目标完成本课学习后你将能够通过 AI Toolkit 消费consumeMCP 服务器配置 Agent使其能发现并使用 MCP 服务器提供的工具通过自然语言使用 MCP 工具。前置条件Visual Studio CodeAI Toolkit for Visual Studio Code[!WARNING]macOS 用户请注意目前官方正在调查影响 macOS 上依赖安装的问题因此 macOS 用户暂时无法完成本课练习。一旦修复方案可用课程说明会同步更新。练习总览构建、运行并增强带 MCP 工具的 Agent在本练习中你将直接在 Visual Studio Code 中使用 AI Toolkit 构建、运行并增强一个带 MCP 服务器工具的 AI Agent。整体分为 5 个步骤-0添加模型、-1创建 Agent、-2生成系统提示、-3创建 MCP 服务器、-4运行 Agent 并验证工具调用。步骤 -0把 GPT-4o 模型加入 My Models本练习使用GPT-4o模型因此必须在创建 Agent 之前先把它添加到My Models列表。从Activity Bar活动栏打开AI Toolkit扩展。在Catalog区域选择Models打开Model Catalog它会在新的编辑器标签页中打开。在Model Catalog的搜索框中输入OpenAI GPT-4o。点击 Add将该模型添加到My Models列表确保选择的是hosted on GitHubGitHub 托管的模型。回到Activity Bar确认OpenAI GPT-4o已出现在列表中。步骤 -1创建 Calculator AgentAgentPromptBuilder允许你创建并定制自己的 AI 驱动 Agent。本步将新建一个 Agent并为其指定驱动对话的模型。从Activity Bar打开AI Toolkit扩展。在Tools区域选择Agent (Prompt) Builder它会在新的编辑器标签页中打开。点击 New Agent按钮扩展将通过Command Palette启动设置向导。输入名称Calculator Agent并按下Enter。在Agent (Prompt) Builder的Model字段中选择模型OpenAI GPT-4o (via GitHub)。步骤 -2为 Agent 生成系统提示Agent 骨架搭好后就该定义它的人设与用途了。本步使用Generate system prompt功能描述 Agent 的预期行为——本例是一个计算器 Agent——让模型替你写出系统提示。在Prompts区域点击Generate system prompt按钮会打开一个利用 AI 为 Agent 生成系统提示的提示构建器。在Generate a prompt窗口中输入以下内容You are a helpful and efficient math assistant. When given a problem involving basic arithmetic, you respond with the correct result.点击Generate按钮。右下角会出现通知确认系统提示正在生成。生成完成后提示会出现在Agent (Prompt) Builder的System prompt字段中。检查System prompt如有需要可手动修改。步骤 -3创建计算器 MCP 服务器系统提示决定了 Agent 的行为与回答方式接下来要为它装备实际能力。本步将创建一个计算器 MCP 服务器提供加、减、乘、除四种工具让 Agent 能根据自然语言请求实时完成数学运算。AI Toolkit 自带便于创建 MCP 服务器的模板本练习使用Python 模板创建计算器服务器。在Agent (Prompt) Builder的Tools区域点击 MCP Server按钮扩展会通过Command Palette启动设置向导。选择 Add Server。选择Create a New MCP Server。选择python-weather作为模板。选择Default folder保存 MCP 服务器模板。输入服务器名称Calculator。会打开一个新的 Visual Studio Code 窗口选择Yes, I trust the authors。使用终端TerminalNew Terminal创建虚拟环境python -m venv .venv使用终端激活虚拟环境Windows.venv\Scripts\activatemacOS/Linuxsource .venv/bin/activate使用终端安装依赖pip install -e .[dev]在Activity Bar的Explorer视图中展开src目录选择server.py在编辑器中打开。用以下代码替换server.py中的内容并保存 Sample MCP Calculator Server implementation in Python. This module demonstrates how to create a simple MCP server with calculator tools that can perform basic arithmetic operations (add, subtract, multiply, divide). from mcp.server.fastmcp import FastMCP server FastMCP(calculator) server.tool() def add(a: float, b: float) - float: Add two numbers together and return the result. return a b server.tool() def subtract(a: float, b: float) - float: Subtract b from a and return the result. return a - b server.tool() def multiply(a: float, b: float) - float: Multiply two numbers together and return the result. return a * b server.tool() def divide(a: float, b: float) - float: Divide a by b and return the result. Raises: ValueError: If b is zero if b 0: raise ValueError(Cannot divide by zero) return a / b源码视角FastMCP 工具注册机制上面的实现只用了三行关键代码from mcp.server.fastmcp import FastMCP、server FastMCP(calculator)与server.tool()装饰器。这一模式与本仓库中其他 Python 示例一脉相承例如 01-first-server 的 server.py 中同样以mcp FastMCP(Demo)创建服务器实例并用mcp.tool()注册add、subtract两个工具。从源码结构可以推断server.tool()装饰器会把被装饰的函数注册为可供客户端发现和调用的 MCP 工具函数名成为工具名类型注解与 docstring 会被推导为工具的输入 Schema 与描述正是它们让 Agent模型能够读懂每个工具的用途并正确填入参数。这也解释了为什么除零检查要写在divide内部并抛出ValueError——把业务校验放进工具自身错误就能以可预期的形式回传给调用方。此外仓库中更进阶的示例展示了如何继续扩展这一模型例如 06-http-streaming 的 server.py 引入了FastMCP与Context注册了root、event_stream、stream、process_files等工具与资源说明同一个FastMCP实例可以承载工具、资源和流式端点而 11-simple-auth 的 server.py 则在 FastMCP 之上叠加了认证逻辑。这些示例可以作为你在 AI Toolkit 模板基础上继续深挖的参考资料。步骤 -4运行带计算器 MCP 服务器的 Agent工具就绪现在开始使用它们本步向 Agent 提交提示验证它是否会调用计算器 MCP 服务器中的正确工具。计算器 MCP 服务器将运行在你的本地开发机上Agent Builder 充当 MCP 客户端。按F5开始调试 MCP 服务器。AgentPromptBuilder会在新的编辑器标签页中打开服务器状态显示在终端中。在AgentPromptBuilder的User prompt字段中输入以下提示I bought 3 items priced at $25 each, and then used a $20 discount. How much did I pay?点击Run按钮生成 Agent 的回复。检查 Agent 的输出模型应得出结论你支付了55 美元。预期发生的过程如下Agent 选择multiply与subtract工具协助计算为multiply工具分配相应的a、b参数值为subtract工具分配相应的a、b参数值每个工具的回答显示在对应的Tool Response字段中模型的最终输出显示在最终的Model Response中。提交更多提示进一步测试 Agent。可以点击User prompt字段内部、替换文本以修改现有提示。测试完成后在终端中按CTRL/CMDC停止服务器。从结果面板可以看到Agent 把自然语言问题翻译成了两次结构化的工具调用先以{a: 3, b: 25}调用multiply3 × 25 75再以{a: 75, b: 20}调用subtract75 − 20 55最后把工具返回的75.0等结果组织成面向用户的回答。这正是 MCP 客户端工作流的缩影——关于客户端如何以编程方式列出工具并调用它们可参考 02-client 一课的 TypeScript 示例其中展示了client.listTools()/client.callTool()的调用模式。课后作业为服务器扩展平方根工具尝试在server.py中添加一个新工具例如返回一个数的平方根。然后提交需要 Agent 使用新工具或已有工具的提示记得重启服务器以加载新添加的工具。作业参考解法完整的参考实现位于 07-aitk/solution/README.md。核心思路是在原有四个工具之外新增一个sqrt工具import math server.tool() def sqrt(a: float) - float: Return the square root of a. Raises: ValueError: If a is negative. if a 0: raise ValueError(Cannot compute the square root of a negative number.) return math.sqrt(a)其工作原理如下导入math模块Python 内置的math模块提供了math.sqrt()等数学函数与常量函数定义server.tool()装饰器把sqrt函数注册为 AI Agent 可访问的工具输入参数函数接受一个float类型的参数a错误处理当a为负数时抛出ValueError避免对负数开平方math.sqrt()不支持返回值对非负输入使用math.sqrt()返回a的平方根。添加新工具后务必重启 MCP 服务器Agent 才能识别并使用新增功能。可用以下自然语言提示验证What is the square root of 25?Calculate the square root of 81.Find the square root of 0.What is the square root of 2.25?扩展验证单元测试思路如果你想让服务器行为可验证本仓库的 08-testing 一课 给出了使用pytest对 FastMCP 服务器做单元测试的范例借助mcp.shared.memory的create_connected_server_and_client_session创建服务器-客户端内存会话再通过client_session.list_tools()等断言工具是否按预期注册。把这一模式套用到计算器服务器上即可为add、divide、sqrt等工具编写自动化的行为测试。关键要点AI Toolkit 是一个出色的客户端让你能够使用 MCP 服务器及其工具你可以不断向 MCP 服务器添加新工具随需求演进扩展 Agent 的能力AI Toolkit 内置 MCP 服务器模板如 Python 模板让创建自定义工具变得很容易。补充资源与下一步AI Toolkit 官方文档https://aka.ms/AIToolkit/doc下一步测试与调试赞分享教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载相关推荐使用 AI Toolkit for Visual Studio Code 消费 MCP 服务器以计算器 Agent 为例使用 AI Toolkit for Visual Studio Code 消费 MCP 服务器以计算器 Agent 为例 本文基于 mcp for begin教程文档人工智能在 Visual Studio Code 中使用 GitHub Copilot Agent 模式消费 MCP 服务器在 Visual Studio Code 中使用 GitHub Copilot Agent 模式消费 MCP 服务器 Visual Studio Code 与教程文档人工智能使用 Microsoft Foundry Toolkit 在 VS Code 中消费 MCP 计算器服务器从 Agent 创建到自然语言调用工具使用 Microsoft Foundry Toolkit 在 VS Code 中消费 MCP 计算器服务器从 Agent 创建到自然语言调用工具 本教程基于开教程文档人工智能上一篇如何快速配置ParsecVDisplay虚拟显示器面向新手的完整指南下一篇GetQzonehistory终极指南5分钟免费备份QQ空间所有历史记录创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表