首个国产AI IDE在前两天迎来了一波大的版本更新,加入了很多此前呼声很高的功能:
- 上下文能力增强:加入了Web和Doc两种Context。
- 自定义规则:支持个人规则和项目规则,约束AI行为。
- MCP工具链:内置MCP市场和第三方MCP Server自由添加。
- 智能体能力全面升级:支持自定义智能体,轻松打造自己的专属AI团队。
如果你也想体验Trae的强大功能,可以点击链接https://juejin.cn/loyalty-program-v1?inviteCode=Td4skjC4Em5jqtt8FXUxe2KqdoGPWqub&utm_campaign=jifen_invite下载体验(还能免费薅Claude、Gemini和GPT,领取超多礼品)。
这里以一个简单的案例来带着大家自建一个MCP Server并调用生成日报网页,让大家感受一下更新后的Trae的强大,其基本实现思路如下:
- 1. 在扣子上创建智能体,输入关键词返回对应的新闻,并发布成API;
- 2. 基于扣子API文档的相关内容,借助Trae的Builder模式进行AI编程,创建MCP Server;
- 3. 通过Trae的Builder with MCP调用刚刚创建的MCP Server获取新闻内容,再生成可视化的网页。
1.创建扣子每日新闻智能体
登录扣子https://www.coze.cn/并创建智能体,名称例如每日新闻助手:
选择对话流模式:
输入对话流名称和描述,即可进入对话流编辑页面,整体布局如下:
1.开始节点:
输入用户传过来的关键词。
2.getToutiaoNews节点:
选择添加插件:
输入节点选择开始节点的USER_INPUT:
3.大模型节点:
输入:选择getToutiaoNews节点输出的news字段。
系统提示词和用户提示词如下:
其中系统提示词:
将搜索到的新闻内容整理成日报,按照以下格式:
标题
摘要
链接
4.结束节点
结束节点直接输出大模型的输出即可:
配置好,进行试运行,然后发布即可。发布成功之后,会回到智能体编辑页面,点击将对话流添加至当前智能体即可。可以体验一下智能体:
然后点击发布,选择API:
如果没有配置,需要先进行配置:
需要注意,创建好令牌之后只能查看一次,后续无法再次查看,请妥善保存。
还有创建好的智能体的id,可以从智能体编辑页的链接(https://www.coze.cn/space/737669xxxxxx/bot/749778xxxxxx)中获取,bot后面的一串数字就是智能体的bot_id,例如749778xxxxxx。还有自己账号的user_id,在扣子主页就能获取到:
得到3个认证信息(后面会用到):
token:pat_rh6VvExxxxxx
bot_id:749778xxxxxx
user_id:user7309xxxxxx
2.使用Trae进行AI编程创建MCP Server
有了Trae来创建和编写MCP Server,事半功倍。
电脑上先创建好空文件夹,例如MCP Agent in Trae,同时使用Trae打开新创建的文件夹:
然后借助Trae的AI编程能力来实现Coze API调用MCP Server的编写,直接在Trae右侧选择Builder模式:
可以选择最强大的Claude-3.7,如果排队时间过长也可以选择其他的模型。输入框中输入需要让AI实现的功能,这里是实现调用Coze API获取新闻内容,如果采用非流式方案,需要依次调用3个接口才能获取到期望的输出,完整提示词如下(可直接复制使用):
我需要通过npx @modelcontextprotocol/create-server命令在目录custom-mcp下创建一个使用Coze API来获取新闻素材的MCP服务:coze-daily-news-mcp-server,入参是Client传入的新闻关键词,服务会通过API的方式调用指定的Coze智能体获取指定关键词的新闻。
需要调用3次API得到智能体返回的新闻内容,调用过程如下(需要转为TS代码):
1.发起对话
```
curl -X POST 'https://api.coze.cn/v3/chat?' \
-H "Authorization: Bearer pat_rh6VvExxxxxx" \
-H "Content-Type: application/json" \
-d '{
"user_id": "user7309xxxxxx",
"bot_id": "749778xxxxxx",
"stream": false,
"additional_messages": [
{
"content": "AI新闻",
"content_type": "text",
"role": "user"
}
],
"auto_save_history": true
}'
```
返回数据格式:
```
{
"data": {
"id": "749797xxxxxx", # data字段中的id即为chat_id,即对话ID
"conversation_id": "749797xxxxxx",
"bot_id": "749778xxxxxx",
"created_at": 1745757527,
"last_error": {
"code": 0,
"msg": ""
},
"status": "in_progress"
},
"code": 0,
"msg": ""
}
```
2.查看对话详情
请求API,以2秒的频率轮询查看对话详情API,不超过20次,请求方式:
```
curl -X GET 'https://api.coze.cn/v3/chat/retrieve?conversation_id=749797xxxxxx&chat_id=749797xxxxxx&' \
-H "Authorization: Bearer pat_rh6VvExxxxxx" \
-H "Content-Type: application/json"
```
返回数据格式:
```
{
"code": 0,
"data": {
"bot_id": "749778xxxxxx",
"completed_at": 1745757799,
"conversation_id": "749797xxxxxx",
"created_at": 1745757773,
"id": "749797xxxxxx",
"status": "completed",
"usage": {
"input_count": 1153,
"output_count": 528,
"token_count": 1681
}
},
"detail": {
"logid": "20250427204515A6DD305F776A91B14AB6"
},
"msg": ""
}
```
直到本轮对话已结束(status字段值为completed)。
3.查看对话消息详情
请求方式:
```
curl -X GET 'https://api.coze.cn/v3/chat/message/list?conversation_id=749778xxxxxx&chat_id=749797xxxxxx&' \
-H "Authorization: Bearer pat_rh6VvExxxxxx" \
-H "Content-Type: application/json"
```
返回数据格式:
```
{
"code": 0,
"data": [
{
"bot_id": "749778xxxxxx",
"chat_id": "749797xxxxxx",
"content": "### 近期AI新闻热点综述……",
"content_type": "text",
"conversation_id": "749797xxxxxx",
"created_at": 1745757774,
"id": "7497972543895142410",
"reasoning_content": "",
"role": "assistant",
"type": "answer",
"updated_at": 1745757798
},
{
"bot_id": "749778xxxxxx",
"chat_id": "749797xxxxxx",
"content": "{\"msg_type\":\"generate_answer_finish\",\"data\":\"\",\"from_module\":null,\"from_unit\":null}",
"content_type": "text",
"conversation_id": "749797xxxxxx",
"created_at": 1745757799,
"id": "7497972636471984138",
"role": "assistant",
"type": "verbose",
"updated_at": 1745757798
},
{
"bot_id": "749778xxxxxx",
"chat_id": "749797xxxxxx",
"content": "{\"msg_type\":\"generate_answer_finish\",\"data\":\"{\\\"finish_reason\\\":0,\\\"FinData\\\":\\\"\\\"}\",\"from_module\":null,\"from_unit\":null}",
"content_type": "text",
"conversation_id": "749797xxxxxx",
"created_at": 1745757799,
"id": "7497972636472000522",
"role": "assistant",
"type": "verbose",
"updated_at": 1745757798
}
],
"detail": {
"logid": "20250427204921780766D8D04430796B29"
},
"msg": ""
}
```
获取type为answer类型的对话项对应的content的内容,即为智能体回复,返回给Client端。
其中,user_id、bot_id和token(api_key)3个字段属于认证参数,应该作为配置项放到代码最前面方便修改(不用单独创建配置文件)。
整个过程非常顺利,这也说明了Claude-3.7的编程能力确实是非常稳定。Builder智能体按照提示很好地拆解了执行步骤并逐一执行:
在最开始初始化MCP Server框架时,需要在命令行中进行交互,根据自己的情况输入相关信息即可:
整个过程确实像一个有十年开发经验的老程序员:
- 1. 通过npx @modelcontextprotocol/create-server coze-daily-news-mcp-server来创建MCP Server模板。
- 2. 重写index.ts文件,实现通过Coze API获取新闻的功能,包括三个API调用步骤和配置管理。
- 3. 在package.json中添加axios依赖。
- 4. 安装项目依赖并构建MCP服务器,以便用户可以使用。
整个项目创建在目录custom-mcp\coze-daily-news-mcp-server)下,根据使用方法进行操作即可:
- 1. 替换index.ts中的3个字段为我们刚才准备的3个认证信息。
- 2. 命令行依次执行npm install(如果已安装依赖,可跳过)和npm run build,用于将index.ts编译为index.js(位于build目录下),因为代码是在本地,所以运行方式是node方式来执行本地编译好的index.js文件,获取其完整路径,比如我本地的是在D:\Work\Code\AI Programming\MCP Agent in Trae\custom-mcp\coze-daily-news-mcp-server\build\index.js,后面会用到。
- 3. 执行命令npm run inspector启动网页服务进行测试:
会启动一个服务:
复制链接到浏览器或者Trae自带的预览中打开,并连接查看:
效果符合预期,就可以进入下一步。
如果执行时遇到如下的MCP error -32001: Request timed out情况:
是因为MCP服务的默认超时时长为10秒,而Coze的执行和调用往往会超过10秒,此时需要增大请求时长:
🍫说明:AI生成代码具有随机性,每次执行就像抽卡一样,所以你生成的代码和我生成的大概率不同,因此也需要根据自己的情况进行处理、不能一概而论,逢山开路遇水搭桥才是万能的解决办法。
3.Builder with MCP调用创建的MCP服务
新版本的Trae原生支持MCP,再也不用安装Cline、Roo Code等第三方插件了:
Trae自带有MCP市场,但是数量有限,可以手动配置:
配置实例如下:
只要显示√并且处于可使用状态就可以在智能体中添加MCP进行使用。
配置内容示例如下:
{
"mcpServers": {
"coze-daily-news-mcp-server": {
"command": "node",
"args": [
"D:\\Work\\Code\\AI Programming\\MCP Agent in Trae\\custom-mcp\\coze-daily-news-mcp-server\\build\\index.js"
]
}
}
}
其中,只需要修改args字段中的值为自己对应的index.js的绝对路径即可(注意是编译后的index.js,而不是原始的index.ts,同时如果是Windows系统,需要用\\而非\)。
此时需要创建一个智能体并且添加刚刚创建的coze-daily-news-mcp-server:
创建好后,就可以点击立即使用:
可以看到,这里@AI日报助理即可与刚刚创建的Agent进行对话,模型自动根据输入识别任务、匹配到可用的coze-daily-news-mcp-server并调用获取与关键词匹配的新闻,然后返回。这里用的是DeepSeek-V3模型,说明该模型也具备了工具调用能力。
在完成调用 MCP后还可以后续接着继续执行其他的任务,例如将返回的新闻做成可视化的HTML,如下:
Agent很好地识别出了任务需求,并且调用大模型根据返回的新闻内容生成简洁美观的HTML页面,并且导出图片:
现在,Trae接入了Agent with MCP,就可以轻松实现不同的Agent根据实际需要配置不同的MCP Server,从而使得在使用时可以直接根据需求选择对应的Agent,极大地避免了为了完成不同的任务要去手动增删MCP Server的情况,更加符合使用习惯。
最后谈一点我使用Trae接近2个月的感受:作为以Python为主要技术栈的我来说,之前一直以PyCharm为主力开发工具,并且基本上形成了使用依赖,对于更通用的VSCode系列反而使用较少。直到两个月前接触到了Trae,现在已经完全适应了Trae的开发模式,抛弃了使用了六七年的笨重PyCharm,并且预计完全不会再回头了。Trae确实大大提高了我做数据模型工作和工具开发的速度,并且与AI原生结合的特性确实大大挖掘出了AI的潜力和价值,特别是最近更新出的规则、MCP、Agent,大大缩短了与国外竞品的差距。不管你是专业开发者还是初学者都值得一试,现在点击链接https://juejin.cn/loyalty-program-v1?inviteCode=Td4skjC4Em5jqtt8FXUxe2KqdoGPWqub&utm_campaign=jifen_invite还能参与活动领取华为MatePad Air 12英寸、雷蛇(Razer)机械键盘等好礼,快去体验一下吧!