乐于分享
好东西不私藏

工具篇 | AI界新宠MCP!替代Function Call,Trae实操教程

工具篇 | AI界新宠MCP!替代Function Call,Trae实操教程

小伙伴们,我们今天聊聊MCP(模型上下文协议),它是直接对标咱们熟悉的Function Call,甚至能完美解决它的所有痛点

很多用Trae的小伙伴还在纠结:Function Call明明能用,为啥要换MCPMCP到底怎么用?下面就手把手,从Function CallMCP实操,附Trae界面具体操作、及代码案例

为啥需要MCP?先回顾Function Call小遗憾

咱们平时用ChatGPTClaude这类大模型,其实有个致命局限——模型的知识有保质期,想查实时天气、当前时间,它根本做不到。

为了解决这个问题,OpenAI20236月推出了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中开发复杂项目时:

封闭生态:OpenAIGoogle各有各的实现方式,Trae里用的函数,换个AI工具就不能用了;

管理麻烦:函数多了之后,还要手动维护、修改,越用越乱;

不能复用:写好的获取天气函数,换个项目还要重新写一遍;

功能有限:AI自主决策能力弱,复杂工具调用还要手动干预。

MCP到底是什么?比Function Call强在哪里呢

正是因为Function Call的这些局限,Anthropic(就是做Claude的公司)在202411月推出了MCP——模型上下文协议,开源免费,现在OpenAI也宣布支持它了,直接成为AI工具连接的标准协议

用一句大白话解释:MCP就像一个万能USB-C插座,不管是TraeClaude,还是ChatGPT,不管是天气工具、代码工具,只要遵循MCP协议,都能轻松连接,不用再适配不同的接口。

MCP vs Function Call 核心差异

对比维度

Function Call(函数调用)

MCP(模型上下文协议)

生态开放度

封闭,依赖特定AI厂商

开放标准,不依赖任何厂商

接口规范

各厂商自有规范,不统一

统一接口,所有工具通用

工具复用

难以复用,换项目需重写

可插拔,写一次可在所有MCP客户端(如Trae)使用

操作复杂度

需手动定义、传递函数,维护麻烦

配置简单,Trae中可直接添加MCP服务器

生态支持

仅部分AI厂商支持

OpenAIAnthropicTraeQwen3均支持

MCP核心架构:Trae中怎么用

MCP的核心是客户端服务器结构,Trae本身已经内置了MCP客户端,我们不用自己开发,只要配置MCP服务器,就能直接使用各种工具,具体结构和Trae实操步骤如下:

MCP核心组件

MCP主机:就是我们用的Trae IDEClaude 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提升开发效率!