工具篇 | AI界新宠MCP!替代Function Call,Trae实操教程
小伙伴们,我们今天聊聊MCP(模型上下文协议),它是直接对标咱们熟悉的Function Call,甚至能完美解决它的所有痛点。
很多用Trae的小伙伴还在纠结:Function Call明明能用,为啥要换MCP?MCP到底怎么用?下面就手把手,从Function Call到MCP实操,附Trae界面具体操作、及代码案例。
为啥需要MCP?先回顾Function Call的“小遗憾”
咱们平时用ChatGPT、Claude这类大模型,其实有个致命局限——模型的知识有“保质期”,想查实时天气、当前时间,它根本做不到。
为了解决这个问题,OpenAI在2023年6月推出了Function Call(函数调用),简单说就是让AI能“意识到”自己需要调用外部工具(比如天气API),来完成它做不到的事。
Function Call 工作原理
不用记复杂理论,跟着步骤走就懂,结合Trae界面给大家标注清楚:
1.定义函数:开发者先写好函数的名称、描述和参数(比如“获取天气”函数,要包含城市、温度单位);
2.传递函数:在Trae左侧对话窗口,将函数定义粘贴给AI,相当于“告诉AI有这个工具可用”;
3.模型决定调用:你输入需求(比如“查北京今天天气”),AI判断需要调用刚才定义的“获取天气”函数;
4.执行函数:你(或Trae)执行这个函数,拿到天气结果;
5.生成回复:AI用函数返回的结果,用自然语言告诉你“北京今天晴天,25℃”。
Function Call案例
以“获取天气”为例,给大家写好Python代码案例,复制到Trae编辑器就能运行,无需手动修改太多:
|
import requestsfrom openai import OpenAI# 1. 初始化OpenAI客户端(Trae中可直接调用,无需额外配置)client = OpenAI(api_key=”你的API密钥,Trae中可在设置→API配置中添加”)# 2. 定义“获取天气”函数(核心:告诉AI函数的作用和参数)def get_weather(location: str, unit: str = “celsius”) -> dict:“””获取指定地点的天气信息:param location: 城市名称,如北京、上海(必填):param unit: 温度单位,可选celsius(摄氏度)、fahrenheit(华氏度):return: 包含温度、天气描述的字典“””# 模拟调用天气API(实际可替换为真实API地址)weather_api = f”https://api.weatherapi.com/v1/current.json?key=你的API密钥&q={location}&aqi=no”response = requests.get(weather_api)data = response.json()return {“temperature”: data[“current”][“temp_c”],“unit”: unit,“description”: data[“current”][“condition”][“text”],“location”: location}# 3. 定义函数结构,传递给模型tools = [{“type”: “function”,“function”: {“name”: “get_weather”,“description”: “获取指定地点的天气信息”,“parameters”: {“type”: “object”,“properties”: {“location”: {“type”: “string”,“description”: “城市名称,如北京、上海”},“unit”: {“type”: “string”,“enum”: [“celsius”, “fahrenheit”],“description”: “温度单位”}},“required”: [“location”]}}}]# 4. 调用模型,传入需求和函数定义(Trae中可直接在对话窗口发送)response = client.chat.completions.create(model=”gpt-4o”,messages=[{“role”: “user”, “content”: “北京今天的天气怎么样?”}],tools=tools)# 5. 处理函数调用,获取结果并生成最终回复tool_calls = response.choices[0].message.tool_callsif tool_calls:# 执行函数weather_result = get_weather(**eval(tool_calls[0].function.arguments))# 将结果传回模型,生成自然语言回复final_response = client.chat.completions.create(model=”gpt-4o”,messages=[{“role”: “user”, “content”: “北京今天的天气怎么样?”},response.choices[0].message,{“role”: “function”, “name”: “get_weather”, “content”: str(weather_result)}])print(final_response.choices[0].message.content)# 输出示例:今天北京天气晴朗,气温25摄氏度。 |
Function Call的局限性
虽然Function Call能解决“AI不会调用工具”的问题,但用久了会发现很多麻烦,尤其是在Trae中开发复杂项目时:
•封闭生态:OpenAI、Google各有各的实现方式,Trae里用的函数,换个AI工具就不能用了;
•管理麻烦:函数多了之后,还要手动维护、修改,越用越乱;
•不能复用:写好的“获取天气”函数,换个项目还要重新写一遍;
•功能有限:AI自主决策能力弱,复杂工具调用还要手动干预。
MCP到底是什么?比Function Call强在哪里呢?
正是因为Function Call的这些局限,Anthropic(就是做Claude的公司)在2024年11月推出了MCP——模型上下文协议,开源免费,现在OpenAI也宣布支持它了,直接成为AI工具连接的“标准协议”!
用一句大白话解释:MCP就像一个万能USB-C插座,不管是Trae、Claude,还是ChatGPT,不管是天气工具、代码工具,只要遵循MCP协议,都能轻松连接,不用再适配不同的接口。
MCP vs Function Call 核心差异
|
对比维度 |
Function Call(函数调用) |
MCP(模型上下文协议) |
|
生态开放度 |
封闭,依赖特定AI厂商 |
开放标准,不依赖任何厂商 |
|
接口规范 |
各厂商自有规范,不统一 |
统一接口,所有工具通用 |
|
工具复用 |
难以复用,换项目需重写 |
可插拔,写一次可在所有MCP客户端(如Trae)使用 |
|
操作复杂度 |
需手动定义、传递函数,维护麻烦 |
配置简单,Trae中可直接添加MCP服务器 |
|
生态支持 |
仅部分AI厂商支持 |
OpenAI、Anthropic、Trae、Qwen3均支持 |
MCP核心架构:Trae中怎么用?
MCP的核心是“客户端–服务器”结构,Trae本身已经内置了MCP客户端,我们不用自己开发,只要配置MCP服务器,就能直接使用各种工具,具体结构和Trae实操步骤如下:
MCP核心组件
•MCP主机:就是我们用的Trae IDE、Claude Desktop,相当于“万能插座的底座”;
•MCP客户端:Trae内置好了,不用手动装,负责和MCP服务器连接;
•MCP服务器:提供具体功能的“工具”(比如查天气、操作文件),轻量级、可插拔;
•数据源/远程服务:MCP服务器调用的资源(比如天气API、本地文件),和MCP本身无关。
Trae中添加MCP服务器
在Trae中添加MCP服务器,直接使用现成工具,不用自己开发,操作步骤如下:
1.打开Trae IDE(这里以3.3.43版本为例),进入任意项目;
2.点击右侧导航栏「设置」,在设置页面找到“MCP”,点击进入后,即可看到「从市场添加」的按钮;(Trae内置,不用额外安装);


3.在MCP市场中,搜索你需要的服务器(比如“高德地图”),支持天气实时查询,点击「+」按钮进行添加;

部分天气查询类智能体(MCP服务器)会弹出JSON配置窗口,配置方式很简单,登录提示框中的介绍页面按操作进行配置即可:


4.补充说明:Trae MCP市场中的天气查询类智能体(MCP服务器),绝大多数是免费开源的,无需付费即可使用,仅少数对接商业天气API的智能体可能需要自行获取API密钥(免费额度足够个人使用),无额外收费成本,Trae本身也不会对MCP智能体收取任何费用,全程免费使用;
回到Trae对话窗口,直接输入需求(比如“用高德MCP服务器查上海天气”),AI会自动调用高德MCP工具,无需手动写函数,Trae的智能体将通过MCP协议完成工具调用全过程。
MCP服务器怎么找?
MCP服务器不用自己从零开发,先找现成的,以下是获取MCP服务的常用渠道:
4个获取现成MCP服务器的渠道(优先用现成的,省时间)
1.Trae MCP市场(最推荐):Trae内置,直接在扩展面板找到,点击添加就能用,适配性最好;
2.官方GitHub仓库:https://github.com/modelcontextprotocol/servers,有大量官方和社区维护的服务器;
3.MCP.so平台(Trae赞助):https://mcp.so/,分类清晰,可直接搜索需要的工具服务器;
4.社区资源:GitHub搜索“MCP Server”,很多开发者分享的免费服务器,可直接下载使用。
当现成的MCP服务不够用时或者不满足我们需求时,我们可以通过自定义的方式来实现,关于这块,我们将在下次分享中继续讲解。
如果觉得不错,请点赞关注哦,后续将分享更多主流AI编程工具实用技巧,及大模型大数据生产实践,一起用AI提升开发效率!
夜雨聆风