1 00:00:00,000 --> 00:00:01,870 我会把它叫做 MCP 2 2 00:00:01,960 --> 00:00:03,960 因为它实在太重要了 它解决了 3 00:00:03,980 --> 00:00:07,840 MCP长久以来一个非常痛苦的 4 00:00:07,860 --> 00:00:09,370 问题 就是Stateful 5 00:00:12,920 --> 00:00:14,470 大家好 这里是AsyncTalk 6 00:00:14,540 --> 00:00:15,380 我是AsyncTalk 7 00:00:15,400 --> 00:00:16,060 主播 AnnatarHe 8 00:00:16,080 --> 00:00:18,200 今天想跟大家来去聊一个AI时代 9 00:00:18,220 --> 00:00:21,630 非常重要的一个基础设施 叫MCP 10 00:00:21,760 --> 00:00:22,540 Model Context 11 00:00:22,560 --> 00:00:23,020 Protocol 12 00:00:23,040 --> 00:00:24,760 这个东西它为什么重要呢 13 00:00:24,780 --> 00:00:27,480 它因为它其实是第一代的 14 00:00:27,500 --> 00:00:30,870 AI和外部世界交互的一个唯一的入口 15 00:00:31,320 --> 00:00:34,000 它的第一代的话非常的简陋 16 00:00:34,020 --> 00:00:35,640 只有本地的stdio 17 00:00:35,660 --> 00:00:37,060 in 和 out 的接口 18 00:00:37,080 --> 00:00:39,700 它甚至都没办法连接到网络 19 00:00:39,720 --> 00:00:40,820 当时的话 20 00:00:40,840 --> 00:00:42,960 它大概就是唯一的除了 21 00:00:42,980 --> 00:00:43,840 WebSearch之外 22 00:00:43,860 --> 00:00:45,680 和外部世界交互了 23 00:00:45,700 --> 00:00:47,880 比如说你问今天天气怎么样 24 00:00:47,900 --> 00:00:50,860 那它一方面它可以去通过 25 00:00:50,880 --> 00:00:51,460 WebSearch 26 00:00:51,480 --> 00:00:53,980 去拉一下目前网上的信息 27 00:00:54,000 --> 00:00:54,860 说今天天气怎么样 28 00:00:54,880 --> 00:00:55,500 那同样的 29 00:00:55,520 --> 00:00:57,810 它也可以去连一个 30 00:00:58,120 --> 00:01:00,400 天气服务的提供商的一个MCP 31 00:01:00,420 --> 00:01:02,160 然后通过这个MCP 32 00:01:02,180 --> 00:01:04,410 里面通过程序化的形式比如说 33 00:01:05,060 --> 00:01:07,700 调某一个DB的某一个字段来去获取 34 00:01:07,720 --> 00:01:09,460 那这种情况的话 35 00:01:09,480 --> 00:01:11,060 是通过MCP来做的 36 00:01:11,080 --> 00:01:14,400 那MCP它相对于我们简单一点理解 37 00:01:14,420 --> 00:01:16,500 在这个AI时代的功能的话 38 00:01:16,520 --> 00:01:19,100 那Model就是脑子了 39 00:01:19,120 --> 00:01:20,680 因为它决定了我们的 40 00:01:20,700 --> 00:01:21,920 对用户的意图识别 41 00:01:21,940 --> 00:01:25,300 对于怎么样做某件事情 42 00:01:25,320 --> 00:01:27,740 这都是model来去控制的 43 00:01:27,760 --> 00:01:28,820 那harness的话 44 00:01:28,840 --> 00:01:30,020 它就相当于一个手 45 00:01:30,040 --> 00:01:30,800 然后这个手 46 00:01:30,820 --> 00:01:32,420 它比如说可以把鼠标 47 00:01:32,440 --> 00:01:33,480 从左边移到右边 48 00:01:33,500 --> 00:01:34,640 发现不对之后 49 00:01:34,660 --> 00:01:37,600 再把右边可能移到前边这样的 50 00:01:37,620 --> 00:01:39,600 那对于我们model而言的话 51 00:01:39,620 --> 00:01:40,880 它有时候有些事情 52 00:01:40,900 --> 00:01:41,680 它可能并不会 53 00:01:41,700 --> 00:01:43,060 比如说它要做一道菜 54 00:01:43,080 --> 00:01:44,640 那做一道菜这个事情 55 00:01:44,660 --> 00:01:46,460 做一个鱼香肉丝这个事情的话 56 00:01:46,480 --> 00:01:49,020 它可能很多model它并不会 57 00:01:49,040 --> 00:01:50,360 那他需要去调用一个 58 00:01:50,380 --> 00:01:52,120 Skills来去做这件事情 59 00:01:52,140 --> 00:01:53,620 而Skills的话 60 00:01:53,640 --> 00:01:54,360 他就是技能 61 00:01:54,380 --> 00:01:56,160 他通过告诉手说 62 00:01:56,180 --> 00:01:58,220 你应该先去冰箱拿一块肉 63 00:01:58,240 --> 00:01:59,260 这样来去做 64 00:01:59,280 --> 00:02:00,080 那这个MCP 65 00:02:00,100 --> 00:02:01,920 他其实就是中间的 66 00:02:01,940 --> 00:02:02,880 比如说冰箱 67 00:02:02,900 --> 00:02:04,440 他在去存取一些东西 68 00:02:04,460 --> 00:02:06,460 和外部真实世界的一个交互 69 00:02:06,480 --> 00:02:07,580 那MCP 1的 70 00:02:07,600 --> 00:02:09,960 他的一个在我看来最核心 71 00:02:09,980 --> 00:02:10,620 最核心的问题 72 00:02:10,640 --> 00:02:12,620 就在于他是一个有状态的服务 73 00:02:12,640 --> 00:02:15,380 你有之前有尝试去实现 74 00:02:15,400 --> 00:02:17,200 MCP 1时代的一个 75 00:02:17,220 --> 00:02:19,360 接口就是最初版本的那些的话 76 00:02:19,380 --> 00:02:21,280 你会发现中间情况很复杂 77 00:02:21,300 --> 00:02:24,020 然后它即使后面可以做远程 78 00:02:24,040 --> 00:02:24,940 server连接的话 79 00:02:24,960 --> 00:02:27,360 它中间是需要一个有状态的 80 00:02:27,380 --> 00:02:28,200 一个session 81 00:02:28,220 --> 00:02:30,980 来去一直维护这个状态和server 82 00:02:31,000 --> 00:02:33,680 然后它就会导致非常非常多的问题 83 00:02:33,700 --> 00:02:35,920 那大家都知道我们HTTP 84 00:02:35,940 --> 00:02:37,260 服务是一个无状态服务 85 00:02:37,280 --> 00:02:38,520 那有状态服务是什么 86 00:02:38,540 --> 00:02:40,200 有状态服务的话 87 00:02:40,220 --> 00:02:43,920 它就是中间你需要一直的去保持这个联系 88 00:02:43,940 --> 00:02:46,780 它就会导致说我们的其实扩缩容 89 00:02:46,800 --> 00:02:48,460 rebalance 就是 90 00:02:48,480 --> 00:02:49,100 load balance 91 00:02:49,120 --> 00:02:50,020 它很难做 92 00:02:50,040 --> 00:02:52,060 因为你这个对话 93 00:02:52,080 --> 00:02:53,740 它就和服务器上的 94 00:02:53,760 --> 00:02:55,900 比如说123 4 5 95 00:02:55,920 --> 00:02:57,380 这个IP的服务器 96 00:02:57,400 --> 00:02:58,940 就已经产生了一个绑定 97 00:02:58,960 --> 00:03:00,460 当然也可以通过 98 00:03:00,480 --> 00:03:01,940 比如说像Redis中间的 99 00:03:01,960 --> 00:03:03,380 session共享来去做解耦 100 00:03:03,400 --> 00:03:05,880 但它总归是有点麻烦 101 00:03:05,900 --> 00:03:08,300 中间的扩缩容是很难去处理的 102 00:03:08,320 --> 00:03:10,860 因为当你在新版本上线的时候 103 00:03:10,880 --> 00:03:12,840 你的老版本是那个机器 104 00:03:12,860 --> 00:03:13,900 如果里面有连接的话 105 00:03:13,920 --> 00:03:15,300 你还是需要去维持 106 00:03:15,320 --> 00:03:16,140 不然说用户 107 00:03:16,160 --> 00:03:18,860 他可能跟MCP聊着聊着突然发现 108 00:03:18,880 --> 00:03:20,340 不能用了他需要新开一个 109 00:03:20,360 --> 00:03:21,460 session才可以 110 00:03:21,480 --> 00:03:22,820 这就很麻烦 111 00:03:22,840 --> 00:03:25,940 那MCP有各种各样的这些问题 112 00:03:25,960 --> 00:03:29,920 那后面的话其实大家最近非常火的 113 00:03:29,940 --> 00:03:33,120 风靡全世界的就是Skills Skills的话它是 114 00:03:33,140 --> 00:03:34,900 用另一种办法来去解决 115 00:03:34,920 --> 00:03:36,380 它是通过Skills 116 00:03:36,400 --> 00:03:38,340 加CLI的方式来去实现 117 00:03:38,360 --> 00:03:40,720 每个产品它都提供一个CLI的服务 118 00:03:40,740 --> 00:03:43,280 那通过CLI里面的命令调用的话 119 00:03:43,300 --> 00:03:45,680 来去和外部世界进行交互 120 00:03:45,700 --> 00:03:46,540 所以这样的话 121 00:03:46,560 --> 00:03:47,800 它就绕过来MCP 122 00:03:47,820 --> 00:03:49,680 我们之前其实也有提到过 123 00:03:49,700 --> 00:03:50,980 说怎么样做一个CLI 124 00:03:51,000 --> 00:03:53,700 在那个视频里面的话 125 00:03:53,720 --> 00:03:55,340 我其实非常推崇CLI 126 00:03:55,360 --> 00:03:57,240 因为CLI它是一种非常直观 127 00:03:57,260 --> 00:03:58,630 非常语义化的方式 128 00:03:59,180 --> 00:04:01,880 当然它是一个非常好的一条路 129 00:04:01,900 --> 00:04:03,560 就像现在其实我们看到 130 00:04:03,580 --> 00:04:05,420 我们其实多数的AI 产品 131 00:04:05,440 --> 00:04:07,600 都更加重视Skills 132 00:04:07,620 --> 00:04:09,440 你可以看到Skills的市场 133 00:04:09,460 --> 00:04:11,680 已经多到难以想象 134 00:04:11,700 --> 00:04:13,920 甚至连各种平台 135 00:04:13,940 --> 00:04:16,140 都有自己的Skills的一个市场 136 00:04:16,160 --> 00:04:19,410 但是Skills它真的有这么完美吗 137 00:04:19,720 --> 00:04:22,180 其实你如果写过Skills 138 00:04:22,200 --> 00:04:23,100 或者用过Skills 139 00:04:23,120 --> 00:04:24,900 发现Skills它有几个问题 140 00:04:24,920 --> 00:04:27,220 首先第一点的话我认为 141 00:04:27,240 --> 00:04:29,420 像是如果大家写过CLI的话 142 00:04:29,440 --> 00:04:34,220 其实你是通过像Linux Unix的那套规范来去做的 143 00:04:34,240 --> 00:04:36,680 你是通过单词来去拼接的 144 00:04:36,700 --> 00:04:39,620 比如说你一个软件叫AsyncTalk 145 00:04:39,640 --> 00:04:41,560 第二个参数可能是Fetch 146 00:04:41,580 --> 00:04:42,640 第三个参数的话 147 00:04:42,660 --> 00:04:48,240 就是fetch 一个 URL这种命令OK CLI它确实语义化很好 148 00:04:48,260 --> 00:04:50,600 但是如果相对于自然语言的话 149 00:04:50,620 --> 00:04:51,840 自然语言的话 150 00:04:51,860 --> 00:04:54,220 它就略逊一筹了对不对 151 00:04:54,240 --> 00:04:56,860 因为你CLI里的参数 152 00:04:56,880 --> 00:04:58,740 其实还是一个单词拼接的 153 00:04:58,760 --> 00:05:00,380 那大家都学过英文 154 00:05:00,400 --> 00:05:01,640 一个单词你凑一块 155 00:05:01,660 --> 00:05:03,040 它并不能成为一个句子 156 00:05:03,060 --> 00:05:04,020 而一个句子的话 157 00:05:04,040 --> 00:05:06,960 是MCP里边的某一个Message 158 00:05:06,980 --> 00:05:08,960 它的表达是会更好的 159 00:05:08,980 --> 00:05:10,810 那Skills其实还有另一个 160 00:05:11,600 --> 00:05:12,380 很大的问题 161 00:05:12,400 --> 00:05:15,220 就是它必须要在一个环境里运行 162 00:05:15,240 --> 00:05:17,820 如果大家有注意到过的话 163 00:05:17,840 --> 00:05:20,640 最近像ChatGPT和Claude 164 00:05:20,660 --> 00:05:22,680 他们不约而同地去把 work 165 00:05:22,700 --> 00:05:25,560 它之前都是有分成了 166 00:05:25,580 --> 00:05:27,320 Chat和Work两个环节的 167 00:05:27,340 --> 00:05:29,200 那最近的话当然它是合成了 168 00:05:29,220 --> 00:05:32,160 一个Chat和Work合起来了 169 00:05:32,180 --> 00:05:33,480 那中间有什么问题呢 170 00:05:33,500 --> 00:05:36,500 其实就是如果你是在用Work模式的话 171 00:05:36,520 --> 00:05:39,120 它背后其实对应的是一台虚拟机 172 00:05:39,140 --> 00:05:40,900 因为Skills这个东西的话 173 00:05:40,920 --> 00:05:42,220 它需要用CLI对不对 174 00:05:42,240 --> 00:05:43,840 那CLI它运行在哪里呢 175 00:05:43,860 --> 00:05:45,250 它不可能说 176 00:05:45,480 --> 00:05:47,000 在你对话里去执行 177 00:05:47,020 --> 00:05:48,260 每一个CLI的执行 178 00:05:48,280 --> 00:05:49,810 它都依赖于一个 179 00:05:50,080 --> 00:05:51,420 线上的一个运行环境 180 00:05:51,440 --> 00:05:52,940 那可能是一个sandbox 181 00:05:52,960 --> 00:05:55,380 可能是一个非常小的VM 182 00:05:55,400 --> 00:05:57,640 来去做这样一个事情 183 00:05:57,660 --> 00:05:59,260 那这就带来两个问题 184 00:05:59,280 --> 00:06:01,560 就是当我们去调用Skills的话 185 00:06:01,580 --> 00:06:02,880 我们一定要有台机器 186 00:06:02,900 --> 00:06:04,320 要么是在我们用户本地 187 00:06:04,340 --> 00:06:06,140 要么是在远程的服务器上 188 00:06:06,160 --> 00:06:07,120 它需要开一台机器 189 00:06:07,140 --> 00:06:09,580 那这个成本的话是比较高的 190 00:06:09,600 --> 00:06:12,400 尤其是现在我们AI基础设施建设 191 00:06:12,420 --> 00:06:14,680 你可以想象像内存 192 00:06:14,700 --> 00:06:17,120 像CPU其实还有GPU 193 00:06:17,140 --> 00:06:18,780 其实价格都蛮高的 194 00:06:18,800 --> 00:06:20,340 它很难下来 195 00:06:20,360 --> 00:06:22,060 那这对服务商来说的话 196 00:06:22,080 --> 00:06:22,900 它是一个个成本 197 00:06:22,920 --> 00:06:24,160 那另一方面的话 198 00:06:24,180 --> 00:06:26,500 就是它其实比较危险 199 00:06:26,520 --> 00:06:28,380 因为你的CLI程序 200 00:06:28,400 --> 00:06:30,460 它其实是一个黑盒对不对 201 00:06:30,480 --> 00:06:32,960 然后它在用户的本地来去执行 202 00:06:32,980 --> 00:06:36,740 那如果你运行一些不受信的 203 00:06:36,760 --> 00:06:37,700 一些Skills的话 204 00:06:37,720 --> 00:06:38,960 它在用户本地 205 00:06:38,980 --> 00:06:41,360 它可能会去调用比如说 206 00:06:41,380 --> 00:06:43,380 password这种事情 207 00:06:43,400 --> 00:06:45,370 它其实蛮有可能的 208 00:06:45,980 --> 00:06:48,080 你可以去看一下npm的供应链攻击 209 00:06:48,100 --> 00:06:50,360 它蔓延到Skills 210 00:06:50,380 --> 00:06:52,000 我觉得只是早晚的问题 211 00:06:52,020 --> 00:06:54,060 可能明天或者后天就会有个新闻出来 212 00:06:54,080 --> 00:06:56,380 它实际上是一个不太安全的行为 213 00:06:56,400 --> 00:06:59,060 如果你无脑的去运行CLI 214 00:06:59,080 --> 00:06:59,980 那另一方面的话 215 00:07:00,000 --> 00:07:01,380 就是CLI它里边的 216 00:07:01,400 --> 00:07:02,440 某一个message 217 00:07:02,460 --> 00:07:04,840 就是我们需要去祈祷这个开发者 218 00:07:04,860 --> 00:07:06,020 他去遵循这个语义 219 00:07:06,040 --> 00:07:07,180 他如果不遵循 220 00:07:07,200 --> 00:07:09,750 他把一个GET做成一个POST的方法 221 00:07:10,480 --> 00:07:11,860 在我们HTTP的 222 00:07:11,880 --> 00:07:13,900 RESTful接口实现里面的话 223 00:07:13,920 --> 00:07:15,980 是非常多这种情况的 224 00:07:16,000 --> 00:07:17,600 那同样在CLI的时候 225 00:07:17,620 --> 00:07:18,800 我相信啊 226 00:07:18,820 --> 00:07:20,280 现在有非常多的CLI 227 00:07:20,300 --> 00:07:23,020 应该已经不是这么遵循语义了 228 00:07:23,040 --> 00:07:24,950 他可能用一些小花招来去 229 00:07:25,280 --> 00:07:26,660 跳过一些安全检查 230 00:07:26,680 --> 00:07:27,800 或者是怎么样的 231 00:07:27,820 --> 00:07:29,140 当然也可能并不是开发者 232 00:07:29,160 --> 00:07:31,220 他自己故意是要把一个GET 233 00:07:31,240 --> 00:07:33,080 做成一个POST的这种事情的 234 00:07:33,100 --> 00:07:35,240 但是另一方面 235 00:07:35,260 --> 00:07:36,540 我们回到MCP这边的话 236 00:07:36,560 --> 00:07:37,620 每个message它都是 237 00:07:37,640 --> 00:07:38,540 有一个description 238 00:07:38,560 --> 00:07:39,980 它也是有一个分类的 239 00:07:40,000 --> 00:07:42,480 那可以把它分类成读还是写 240 00:07:42,500 --> 00:07:45,160 这样AI agent它就可以去做一个 241 00:07:45,180 --> 00:07:46,940 非常比较简单的分类 242 00:07:46,960 --> 00:07:49,360 那其实到现在为止的话 243 00:07:49,380 --> 00:07:51,100 我讲了有一些MCP的好处 244 00:07:51,120 --> 00:07:52,610 有一些Skills的好处 245 00:07:53,200 --> 00:07:54,840 那我们回到我们的主题 246 00:07:54,860 --> 00:07:55,790 MCP 2 247 00:07:56,520 --> 00:07:58,760 但MCP它实际上并没有2 248 00:07:58,780 --> 00:08:01,060 这个严格意义上的版本的 249 00:08:01,080 --> 00:08:04,160 它只有一个0728的一个版本 250 00:08:04,180 --> 00:08:05,960 它是以日期来去做区分的 251 00:08:05,980 --> 00:08:08,560 MCP 0728这个版本的话 252 00:08:08,580 --> 00:08:14,300 它把中间验证和保持的环节完全干掉 253 00:08:14,320 --> 00:08:17,140 它改成了像是HTTP一样的 254 00:08:17,160 --> 00:08:18,140 一个无状态的接口 255 00:08:18,160 --> 00:08:21,260 中间的像是握手 256 00:08:21,280 --> 00:08:23,320 它并不再需要维持一个 257 00:08:23,340 --> 00:08:25,540 Session ID这样一个东西 258 00:08:25,560 --> 00:08:28,600 它只需要去在每次请求的时候 259 00:08:28,620 --> 00:08:30,780 带上另外一个一些header 260 00:08:30,800 --> 00:08:32,660 一些处理的模式 261 00:08:32,680 --> 00:08:33,700 那这样的话 262 00:08:33,720 --> 00:08:34,560 Server的话 263 00:08:34,580 --> 00:08:35,580 它就可以做到一个 264 00:08:35,600 --> 00:08:37,160 无状态的处理问题 265 00:08:37,180 --> 00:08:38,060 那这样的话 266 00:08:38,080 --> 00:08:38,840 你就可以想象到 267 00:08:38,860 --> 00:08:40,880 它回到了我们熟悉的HTTP模式 268 00:08:40,900 --> 00:08:42,260 那我们的服务扩充 269 00:08:42,280 --> 00:08:43,700 就可以变得非常的简单 270 00:08:43,720 --> 00:08:44,280 同样的话 271 00:08:44,300 --> 00:08:45,400 我们的load balance 272 00:08:45,420 --> 00:08:46,400 也终于可以有 273 00:08:46,420 --> 00:08:48,400 非常好的用武之地了 274 00:08:48,420 --> 00:08:50,980 那这个如果做好之后的话 275 00:08:51,000 --> 00:08:53,020 像是MCP它带来了更多的 276 00:08:53,040 --> 00:08:54,300 比如说便于审计 277 00:08:54,320 --> 00:08:57,520 因为你可以分类某一个操作 278 00:08:57,540 --> 00:08:58,980 那另外的话 279 00:08:59,000 --> 00:09:02,060 就是易于拓展相对安全 280 00:09:02,080 --> 00:09:03,580 因为它并不运行在 281 00:09:03,600 --> 00:09:05,540 在你的电脑上而是AI agent 282 00:09:05,560 --> 00:09:07,260 它通过去调用远程的 283 00:09:07,280 --> 00:09:07,860 MCP server 284 00:09:07,880 --> 00:09:09,080 来去做一些操作 285 00:09:09,100 --> 00:09:10,400 所以相对来说的话 286 00:09:10,420 --> 00:09:12,900 它是一个更安全的选择好的 287 00:09:12,920 --> 00:09:13,760 那接下来的话 288 00:09:13,780 --> 00:09:16,720 我觉得我有必要来去介绍一个实例 289 00:09:16,740 --> 00:09:19,700 就是看一下怎么样和MCP交互 290 00:09:19,720 --> 00:09:20,360 那首先的话 291 00:09:20,380 --> 00:09:22,740 我来去介绍一下我的代码 292 00:09:22,760 --> 00:09:23,720 那这里的话 293 00:09:23,740 --> 00:09:26,480 我用ShellTime来去演示一下 294 00:09:26,500 --> 00:09:27,640 那这个version里边 295 00:09:27,660 --> 00:09:28,760 它有一个Stateless 296 00:09:28,780 --> 00:09:31,300 它是实现一个0728版本的 297 00:09:31,320 --> 00:09:32,880 一个MCP server 298 00:09:32,900 --> 00:09:34,920 那至于这个代码的话 299 00:09:34,940 --> 00:09:36,100 我相信大家你现在有 300 00:09:36,120 --> 00:09:37,120 Coding Agent的话 301 00:09:37,140 --> 00:09:39,260 都可以很容易地去实现 302 00:09:39,280 --> 00:09:40,580 一个MCP server 303 00:09:40,600 --> 00:09:42,900 而且实现的还是比较不错的 304 00:09:42,920 --> 00:09:43,960 那接下来的话 305 00:09:43,980 --> 00:09:46,490 我就来演示一下说大概怎么样会用 306 00:09:48,880 --> 00:09:49,840 那首先的话 307 00:09:49,860 --> 00:09:51,360 我们可以来看一下说 308 00:09:51,380 --> 00:09:52,640 MCP server 309 00:09:52,660 --> 00:09:53,340 那这里的话 310 00:09:53,360 --> 00:09:54,740 我以ShellTime为例的话 311 00:09:54,760 --> 00:09:55,840 大家可以看到说 312 00:09:55,860 --> 00:09:58,280 像是屏幕上我们有一些 313 00:09:58,300 --> 00:09:59,580 read-only的tool 314 00:09:59,600 --> 00:10:00,880 那这个read-only的话 315 00:10:00,900 --> 00:10:03,380 我就可以给它直接显示成 316 00:10:03,400 --> 00:10:04,380 Always allow 317 00:10:04,400 --> 00:10:07,260 那如果那有没有写的一些操作呢 318 00:10:07,280 --> 00:10:08,770 那这里的话我用另一个 319 00:10:09,340 --> 00:10:10,600 同样是我们Rawback的 320 00:10:10,620 --> 00:10:11,600 服务来去演示一下 321 00:10:11,620 --> 00:10:13,740 那这个的话你可以看到说 322 00:10:13,760 --> 00:10:15,420 那写的服务的话有32个 323 00:10:15,440 --> 00:10:16,620 那写和delete 324 00:10:16,640 --> 00:10:18,880 那这样的话可以有更好的分类嘛 325 00:10:18,900 --> 00:10:21,440 然后这样的话我们可以去针对某一个 326 00:10:21,460 --> 00:10:22,440 比如说read-only 327 00:10:22,460 --> 00:10:24,140 其实我们都可以认为说 328 00:10:24,160 --> 00:10:25,820 我们可以一直把它给放开 329 00:10:25,840 --> 00:10:27,560 那但是一些写的操作 330 00:10:27,580 --> 00:10:28,740 比如说删除的操作的话 331 00:10:28,760 --> 00:10:30,540 我们可以说选择给它禁止掉 332 00:10:30,560 --> 00:10:32,240 或者说一直允许 333 00:10:32,260 --> 00:10:34,410 那我来调用一下 334 00:10:38,020 --> 00:10:39,300 好你可以看到说 335 00:10:39,320 --> 00:10:40,580 它其实已经load了 336 00:10:40,600 --> 00:10:41,740 ShellTime的MCP 337 00:10:41,760 --> 00:10:43,500 然后它去调用了 338 00:10:43,520 --> 00:10:44,360 ShellTime里面的 339 00:10:44,380 --> 00:10:48,130 众多的tool的方法 340 00:10:51,400 --> 00:10:52,670 你可以看到说 341 00:10:53,400 --> 00:10:57,140 最近我从Codex使用 342 00:10:57,160 --> 00:10:59,220 这是以USD的价格为例 343 00:10:59,240 --> 00:11:01,460 然后你可以发现说 344 00:11:01,480 --> 00:11:02,060 我最近的话 345 00:11:02,080 --> 00:11:03,560 多数都是在用Claude 346 00:11:03,580 --> 00:11:05,090 Code来去工作 347 00:11:06,000 --> 00:11:08,520 就有一些数据在这里 348 00:11:08,540 --> 00:11:11,000 很有趣对不对它就是 349 00:11:11,020 --> 00:11:12,720 通过ShellTime里边的MCP 350 00:11:12,740 --> 00:11:13,960 来去获取的数据 351 00:11:13,980 --> 00:11:16,800 然后再结合Claude的AI的智能 352 00:11:16,820 --> 00:11:18,540 来去做一些分析 353 00:11:18,560 --> 00:11:19,720 然后做一些渲染 354 00:11:19,740 --> 00:11:23,560 这就是MCP它和我们产品里面 355 00:11:23,580 --> 00:11:24,620 很好的一个结合 356 00:11:24,640 --> 00:11:26,580 当然你可以通过Skills来做 357 00:11:26,600 --> 00:11:28,080 就像我刚刚提到的说 358 00:11:28,100 --> 00:11:29,040 MCP server的 359 00:11:29,060 --> 00:11:32,140 实现是相对来说比较简单的 360 00:11:32,160 --> 00:11:34,900 另外的话它的安全性是更好一点 361 00:11:34,920 --> 00:11:36,260 然后它的语义化程度 362 00:11:36,280 --> 00:11:38,120 我认为是会更高一点 363 00:11:38,140 --> 00:11:40,480 那大家也可以在评论区来留下你的看法 364 00:11:40,500 --> 00:11:44,080 你认为说MCP 0728这样一个版本 365 00:11:44,100 --> 00:11:46,420 是不是真的可以让make 366 00:11:46,440 --> 00:11:47,680 MCP great again 367 00:11:47,700 --> 00:11:49,920 你对于MCP和Skills的 368 00:11:49,940 --> 00:11:51,180 看法是怎么样的 369 00:11:51,200 --> 00:11:52,140 对于我来说的话 370 00:11:52,160 --> 00:11:53,820 我是推荐各位你去 371 00:11:53,840 --> 00:11:55,140 如果有自己产品的话 372 00:11:55,160 --> 00:11:56,600 去实现一个MCP server 373 00:11:56,620 --> 00:11:59,340 你会理解到它中间还是比较有趣的 374 00:11:59,360 --> 00:12:00,480 那今天的节目就到这里 375 00:12:00,500 --> 00:12:02,410 好的我们下期节目再见拜拜