在 Visual Studio Code 的 AI Toolkit 扩展中使用服务器 构建 AI 代理时,不仅仅是生成智能回复,还要赋予代理执行操作的能力。这就是 Model Context Protocol (MCP) 的作用。MCP 让代理能够以统一的方式访问外部工具和服务。可以把它想象成为你的代理接入了一个真正能用的工具箱。 比如,你把代理连接到计算器 MCP 服务器。这样,代理只需收到“47 乘以 89 等于多少?”这样的提示,就能执行数学运算——无需硬编码逻辑或开发自定义 API。 概述 本课将介绍如何使用 Visual Studio Code 中的 AI Toolkit 扩展,将计算器 MCP 服务器连接到代理,使代理能够通过自然语言执行加、减、乘、除等数学运算。
构建 AI 代理时,不仅仅是生成智能回复,还要赋予代理执行操作的能力。这就是 Model Context Protocol (MCP) 的作用。MCP 让代理能够以统一的方式访问外部工具和服务。可以把它想象成为你的代理接入了一个真正能用的工具箱。
比如,你把代理连接到计算器 MCP 服务器。这样,代理只需收到“47 乘以 89 等于多少?”这样的提示,就能执行数学运算——无需硬编码逻辑或开发自定义 API。
本课将介绍如何使用 Visual Studio Code 中的 AI Toolkit 扩展,将计算器 MCP 服务器连接到代理,使代理能够通过自然语言执行加、减、乘、除等数学运算。
AI Toolkit 是 Visual Studio Code 的强大扩展,简化了代理开发流程。AI 工程师可以轻松开发和测试生成式 AI 模型,无论是在本地还是云端。该扩展支持目前大多数主流生成式模型。
注:AI Toolkit 当前支持 Python 和 TypeScript。
完成本课后,你将能够:
我们的大致步骤如下:
很好,了解流程后,让我们配置一个 AI 代理,通过 MCP 利用外部工具,提升它的能力!
本练习中,你将使用 AI Toolkit 在 Visual Studio Code 内构建、运行并增强一个带有 MCP 服务器工具的 AI 代理。
本练习使用 GPT-4o 模型。创建代理前,应先将该模型添加到 我的模型。
%E5%88%9D%E5%AD%A6%E8%80%85%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/aitk-model-catalog.webp)
Agent (Prompt) Builder 允许你创建和定制自己的 AI 代理。本节将创建一个新代理,并为其指定对话所用模型。
%E5%88%9D%E5%AD%A6%E8%80%85%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/aitk-agent-builder.webp)
代理搭建完成后,接下来定义其个性和用途。本节将使用 生成系统提示 功能,描述代理的预期行为(此处为计算器代理),并让模型帮你写出系统提示。
%E5%88%9D%E5%AD%A6%E8%80%85%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/aitk-generate-prompt.webp)
You are a helpful and efficient math assistant. When given a problem involving basic arithmetic, you respond with the correct result.定义好代理的系统提示后,接下来为代理配备实际功能。本节将创建一个带有加、减、乘、除工具的计算器 MCP 服务器。该服务器将使代理能够根据自然语言提示执行实时数学运算。
%E5%88%9D%E5%AD%A6%E8%80%85%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/aitk-add-mcp-server.webp)
AI Toolkit 提供了模板,方便你创建 MCP 服务器。这里我们使用 Python 模板创建计算器 MCP 服务器。
注:AI Toolkit 当前支持 Python 和 TypeScript。
在 Agent (Prompt) Builder 的 工具 部分,点击 + MCP Server 按钮。扩展将通过 命令面板 启动设置向导。
选择 + 添加服务器。
选择 创建新的 MCP 服务器。
选择 python-weather 模板。
选择 默认文件夹 保存 MCP 服务器模板。
输入服务器名称:Calculator
新的 Visual Studio Code 窗口会打开,选择 是,我信任作者。
使用终端(终端 > 新建终端),创建虚拟环境:python -m venv .venv
在终端激活虚拟环境:
.venv\Scripts\activatesource venv/bin/activate在终端安装依赖:pip install -e .[dev]
在 活动栏 的 资源管理器 视图中,展开 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
既然代理已有工具,接下来就用它们吧!本节将向代理提交提示,测试并验证代理是否能正确调用计算器 MCP 服务器的工具。
%E5%88%9D%E5%AD%A6%E8%80%85%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/aitk-agent-response-with-tools.webp)
你将通过 Agent Builder 作为 MCP 客户端,在本地开发机上运行计算器 MCP 服务器。
我买了3件商品,每件25美元,然后用了20美元折扣。我实际支付了多少钱?a and b values are assigned for the multiply tool.a and b 的值被分配给 subtract 工具。尝试在你的 server.py 文件中添加一个额外的工具条目(例如:返回数字的平方根)。提交需要代理调用你新增工具(或已有工具)的提示。记得重启服务器以加载新添加的工具。
本章的主要收获包括:
免责声明:
本文件由 AI 翻译服务 Co-op Translator 翻译而成。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。原始文件的原文版本应被视为权威来源。对于重要信息,建议使用专业人工翻译。对于因使用本翻译而产生的任何误解或误释,我们不承担任何责任。