最近 MCP 非常火,各种演示的任务的层出不穷。协议层是优雅了很多,但能搞定的任务的复杂度仍略显单薄。都说人人可以借助 MCP 打造自己的 Manus,但基于目前的绝大多数 API 封装的 MCP Server 是不足够的。
简单的原因,MCP 是 LLM-Based 的协议,设计初衷是以单个大模型为大脑来自主计划执行任务,虽然通用了些(仍要事前框定有限集的 Server 来提升效率),但还是单 Agent 的逻辑,任何 Tool Use 的调用和验证都要返回中心节点来完成。但现实世界中的任务大多不是简单的 1234,大概率是父子任务的总分总。所以 通用 Agent 仍可能需要 Supervisor Agent+Excutor Agent 的多 Agent 框架来胜任更多复杂任务。
MCP 打造的 LLM Host 其实是非常理想的 Supervisor Agent 雏形。如果再能借助一些强执行的 LLM Workflow 的能力来打造些 MCP Server 作为 Excutor Agent,应该会有更好的实用价值。
Coze 的 Workflow 沉淀了很多有用的节点和插件,就非常合适做这个,但期待的官方的“Workflow 即 Server”一直没出来。今天就试着手搓一下看看如何最短路径的将 Coze Workflow 能力接入 MCP 中。
一,创建 Coze 智能体和配对的工作流
如果已经有搭建好的智能体可以直接用,发布时勾选 API 方式即可。
-
1.登录https://www.coze.cn/
-
2.创建智能体
智能体名称输入:MCP_Test,选一个图标,点击确认。
这里智能体只是工作流的代理,所以我们选择“单 Agent(对话流模式)”,然后点击添加对话流
这里我们重新创建一个示例对话流来演示。输入对话流名称为“daily_creator”,对话流描述为“根据新闻关键词生成日报素材”,点击确认。
对话流里新增两个工作节点,从开始连线到 getToutiaoNews 找新闻,将找到的新闻让大模型整理,再连线到结束。
根据关键词找新闻,添加节点—插件中找到 getToutiaoNews 添加进来。
配置 getToutiaoNews 的输入项
添加一个大模型节点,配置项如下:
-
1.输入的变量类型调整为 Array-Object,后面的变量值直接选择 getToutiaoNews 的 news 数组
-
2.系统提示词填入
将搜索到的新闻内容整理成日报,按照以下格式:
---
###
标题
摘要
### 链接
---
-
3.用户提示词直接引用{{input}}
结束节点配置
对话流就完成了,试运行后发布即可。
发布完成后会返回到 MCP_Test 智能体的搭建页,应该会弹出“是否添加至当前智能体”,点击确认。如果没有弹出,就手动添加进来。
点击右上角的发布,勾选 API 的选项直接发布即可。
记录下自己 Bot ID,在浏览器地址末尾的数字串,比如xxxx/bot/7493377169xxx496552中的7493377169xxx496552
二,获取 Coze API Key
添加一个新令牌
填入名称,比如“MCP”,过期时间选一个,比如“30 天”,权限为省事先直接全选,工作空间也全选,点击确定后保存好自己的 API Key,后面要用。
APIKey 只有一次展示查看的机会,妥善保管。
三,新建 MCP Server
这里我们使用 Trace 来创建和编写 MCP Server,效率加倍。
-
1.在电脑先创建好一个空的文件夹,比如命名为:Coze-MCP
-
2.打开 Trace,这时候没有任何项目目录,选择打开创建的文件夹。
然后我们就可以借助 AI Coding 快速的完成 MCP Server 的代码编写,基本能一步到位。
在 Trace 的右侧选择【Builder】模式,填入以下的内容来完成任务说明。
我需要通过npx @modelcontextprotocol/create-server 命令在当前目录下创建一个使用Coze API 来获取新闻素材的 MCP 服务:mcp-server-coze-daily-creator。
入参是 Client 传入的新闻关键词,服务会通过API的方式调用Coze的指定的bot获取新闻素材内容,命令行示例如下,需要改写成TS代码:
先通过
```
curl --location --request POST 'https://api.coze.cn/v3/chat' \
--header 'Authorization: Bearer pat_dGstyY6RZxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"bot_id": "指定的bot的id",
"user_id": "12345678",
"stream": false,
"auto_save_history":true,
"additional_messages":[
{
"role":"user",
"content":"AI Agent",
"content_type":"text"
}
]
}'
```
返回数据结构
```
{
// 在 chat 事件里,data 字段中的 id 为 Chat ID。
"id": "737662389258662****",
"conversation_id": "737554565555041****",
"bot_id": "指定的bot的id",
"completed_at": 1717508113,
"last_error": {
"code": 0,
"msg": ""
},
"status": "completed",
"usage": {
"token_count": 6644,
"output_count": 766,
"input_count": 5878
}
}
```
发送日报的请求,再1500毫秒的频率轮询,不超过30次
```
curl --location --request GET 'https://api.coze.cn/v3/chat/retrieve?chat_id=id&conversation_id=conversation_id' \
--header 'Authorization: Bearer pat_dGstyY6RZxxxxx' \
--header 'Content-Type: application/json' \
```
返回数据结构
```
{
// 在 chat 事件里,data 字段中的 id 为 Chat ID,即会话 ID。
"id": "737662389258662****",
"conversation_id": "737554565555041****",
"bot_id": "736661612448078****",
"completed_at": 1717508113,
"last_error": {
"code": 0,
"msg": ""
},
"status": "completed",
"usage": {
"token_count": 6644,
"output_count": 766,
"input_count": 5878
}
}
```
查看"status"直到"completed"时,调用
```
curl --location --request GET 'https://api.coze.cn/v3/chat/message/list?chat_id=id&conversation_id=conversation_id' \
--header 'Authorization: Bearer pat_OYDacMzM3WyOWV3Dtj2bHRMymzxP****' \
--header 'Content-Type: application/json' \
```
返回数据结构
```
{
"code": 0,
"data": [
{
"bot_id": "737946218936519****",
"content": "{\"msg_type\":\"generate_answer_finish\",\"data\":\"\",\"from_module\":null,\"from_unit\":null}",
"content_type": "text",
"conversation_id": "738147352534297****",
"id": "738216762080970****",
"role": "assistant",
"type": "verbose"
},
{
"bot_id": "7379462189365198898",
"content": "2024 年 10 月 1 日是星期二。您可以通过日历或者相关的日期查询工具来核实确认。 ",
"content_type": "text",
"conversation_id": "738147352534297****",
"id": "738216760624724****",
"role": "assistant",
"type": "answer"
}
],
"msg": "",
"detail": {
"logid": "20250106172024B5F607030EFFAD653960"
}
}
```
获取type 为 answer类型的那一项里的content的内容,返回给 Client 端
以上内容主要说明:
-
1.通过@modelcontextprotocol/create-server来创建新的 MCP Server 的代码模板。
-
2.强调这个 MCP Server 的功能是根据新闻关键词调用 Coze API 来获取新闻内容。
-
3.根据 Coze API 文档说明对话相关的异步调用和获取回复的三个接口和返回数据结构。
等待 Trace 自己把代码写完。在命令行中输入npm run watch,这样后面任何基于代码的修改,都会自动完成编译。
进入到mcp-server-coze-daily-creator/src/index.ts中,找到“pat_dGstyY6RZxxxxx”替换为自己的 Coze API Key,找到“指定的 bot 的 id”替换为自己的 Coze 中的 MCP_Test 的 bot ID。
输入npm run inspector可以本地起一个 Client 网页版来测试这个服务执行情况。(如果是超时的报错可以忽略,可能是网页超时设置的问题)
四,使用 Coze MCP Server
Trace 目前还没支持 MCP Client 功能,但可以在 Trace 里安装 Cline 来使用。在扩展商店中搜索 Cline 安装后就会出现左侧边栏。
我们来配置上面创建的mcp-server-coze-daily-creator服务。因为目前代码是在本地,所以运行方式是 node 方式来执行本地编译好的 JS 文件。比如我本地的是在/Users/fred/Documents/Coze-MCP/mcp-server-coze-daily-creator/build/index.js
配置好后点击“Done”就可以在 Cline 里用这个服务了,当用户输入的任务和新闻日报相关,就会执行相应的 Tool Use
到此,将 Coze 的工作流接入 MCP 使用的流程就完整跑通了。后面就大家发挥想象力的时间了。
五,课后作业
如果你希望服务分享给别人用,最简单的方式将代码发布为 Public 的 NPM 包。可以试试口喷的方式让 Trace 来修改,记得将原先写死在代码中 Coze APIKey 改为在环境变量中配置的方式。
大模型&AI产品经理如何学习
求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。
1.学习路线图
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方图片前往获取
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓