这可能是 2024 年最重要的 AI 突破:深入解析 Claude MCP 协议(完整教程 + 实战) | 回到Axton
الملخص
TLDR视频详细介绍了Claude的Model Context Protocol(MCP)技术,这一开源协议使AI助手能更便捷地访问用户数据,如本地文件、Google Drive文档等,打破传统“上传下载”的限制。通过MCP,AI助手不仅能实时操作浏览器,分析数据库,操控文件系统,还能与各类应用进行数据互操作。这项创新使AI助手的功能更为强大,能够生成更相关、更可靠的响应。视频还实际演示了MCP如何在不同环境中操作,包括读取和分析SQLite数据库、获取网页内容、以及操控网页等,展现了MCP广泛的应用潜力。同时,MCP的开源化预计将促进生态系统的快速发展,未来或将大大推动AI技术和应用的扩展。
الوجبات الجاهزة
- 🤖 MCP让AI助手访问用户数据更高效
- 📂 支持本地和远程文件系统
- 🌐 可实时操控浏览器
- 📊 实现数据库查询与分析
- 🔐 提供安全的用户数据访问权限
- 🔍 使用自然语言操作多个服务
- 🛠 提供多个开源服务器
- 🚀 推动AI生态系统的发展
- 📈 扩展AI助手功能和应用场景
- 🛡 未来有望在安全和隐私上更进一步
الجدول الزمني
- 00:00:00 - 00:05:00
MCP(Model Context Protocol)是个新的协议技术,可以实现AI助手直接访问和操作各种数据,包括本地文件和云端记录,从而扩展AI的能力,这标志着AI互操作性的重大进展。
- 00:05:00 - 00:10:00
MCP通过多个服务器连接本地资源(如数据库和文件)及远程资源(如Google Drive),加强数据访问能力。其架构包括Host、Server和Client三个部分,能更好地利用当地资源和工具处理数据。
- 00:10:00 - 00:15:00
MCP Host集合了Server和Client的功能,能管理多个连接至MCP服务器以访问本地及远程数据资源,确保通过AI扩展功能边界实现有效的数据操作。
- 00:15:00 - 00:20:00
本文通过构建及配置MCP环境,演示如何使用Claude Desktop与SQLite数据库交互,从而更好地理解MCP的运作原理和使用场景,有助于开发个人化的工作流。
- 00:20:00 - 00:25:00
实操演示显示如何通过MCP配置完成对本地数据库的查询、数据导入及表格管理等操作,重现AI与结构化数据交互的新体验。
- 00:25:00 - 00:31:26
利用各种MCP server(如SQLite、文件系统、网页获取工具)和Puppeteer实现的浏览自动化说明MCP在AI自动化工作流中的应用潜力,尽管目前功能有限,但未来发展空间巨大。
الخريطة الذهنية
فيديو أسئلة وأجوبة
什么是MCP?
MCP是Model Context Protocol的简称,是一种模型上下文协议,用于连接AI助手与用户数据存储系统的标准。
MCP可以访问哪些类型的数据?
MCP可以访问用户的本地文件、Google Drive文档、Slack消息、数据库记录等。
使用MCP有哪些优势?
MCP能让AI直接访问数据,提高AI助手的响应相关性和可靠性,扩展其能力边界。
MCP如何影响AI助手的未来?
MCP的开放协议有助于建立一个生态系统,促进AI助手与数据存储系统的互操作性。
MCP的架构是什么样的?
MCP包括MCP主机(Host)和MCP服务器,主机负责与服务器保持连接,服务器展示特定功能。
需要什么环境来运行MCP示例?
需要macOS或Windows,最新版本的Claude Desktop桌面应用(1.4.18),Git、SQLite等软件。
MCP应用案例有哪些?
MCP应用于SQLite数据库管理、文件系统操作、网页内容抓取等,用自然语言操作以上服务。
Claude的MCP如何实现文件读取?
通过MCP服务器文件系统,可以读取并分析本地文件,如CSV文件的数据。
MCP是否可以操控网页?
是的,通过Puppeteer工具,MCP可以自动化地操控网页,如页面导航、元素点击等。
未来MCP可能如何发展?
随着协议的开源,开发者会创造更多的MCP服务器和客户端,使AI应用场景更加广泛。
عرض المزيد من ملخصات الفيديو
- 00:00:00嘿,你好,欢迎回到 Axton
- 00:00:02Claude 刚刚开源了一个重磅项目
- 00:00:04Model Context Protocol,简称 MCP
- 00:00:07这个东西有多牛呢
- 00:00:09它可以让 AI 助手彻底地摆脱两眼一抹黑的状态
- 00:00:13以前咱们让 AI 来使用我们的数据
- 00:00:16要么复制粘贴,要么上传下载
- 00:00:18就算可以跟其他的 App 进行互操作
- 00:00:21支持的 App 也不多,特别麻烦
- 00:00:23现在有了 MCP
- 00:00:25AI 就可以直接地访问你的数据了
- 00:00:28这些数据包括你的本地文件
- 00:00:30Google Drive 的文档,Slack 消息
- 00:00:33数据库的记录等等
- 00:00:35它甚至还可以像人一样
- 00:00:37来实时地去操作你的浏览器
- 00:00:39如果说去年的 AI 明星是 ChatGPT
- 00:00:43今年就是 Claude 莫属了
- 00:00:45今天我就带你玩转 MCP
- 00:00:48除了官方的基础案例
- 00:00:50我还会分享几个进阶的玩法
- 00:00:52咱们在实操的过程当中
- 00:00:54把 MCP 摸个透
- 00:00:56如果你对 AI 技术感兴趣
- 00:00:58点赞收藏,咱们直接开始
- 00:01:00今天首先我们来详细地了解一下
- 00:01:02什么是 MCP
- 00:01:04以及它当中涉及到的一些概念
- 00:01:06到底是什么意思
- 00:01:08然后我们进行案例实操
- 00:01:10这就包括一个基础案例
- 00:01:12然后再来三个
- 00:01:14进阶的测试案例
- 00:01:16在案例的实操过程当中
- 00:01:18我们会碰到更多的概念
- 00:01:20我们就会进一步地把它们了解清楚
- 00:01:22这样我们就可以对 Claude 的 MCP
- 00:01:24有一个完整的认识
- 00:01:26好,我们先看看关于 MCP 的
- 00:01:28三个主要网站
- 00:01:30一个就是 MCP 的官方博客的简介
- 00:01:32这篇文章很短
- 00:01:34快速阅读一下就对 MCP 整体有一个了解了
- 00:01:36不过不读也没关系
- 00:01:38我们接下来就会讲到其中的重点
- 00:01:40第二个网站是 Quickstart
- 00:01:42这是 MCP 的操作手册
- 00:01:44相当于 Quickstart 快速入门
- 00:01:46我们所需要的
- 00:01:48MCP 的基本命令
- 00:01:50在这篇文档里面都有
- 00:01:52都很完整
- 00:01:54我们就可以把自己的第一个 MCP 给运行起来了
- 00:01:56第三个文档
- 00:01:58是 MCP 的官方服务器列表
- 00:02:00在这个项目里面
- 00:02:02就是 Claude 官方提供的 MCP 的一些服务器
- 00:02:04以及社区开发的一些服务器
- 00:02:06虽然现在还不多
- 00:02:08但是我相信
- 00:02:10这个就跟 ChatGPT 的 GPT 是一样
- 00:02:12很快就会越来越多了
- 00:02:14首先我们来看什么是 MCP
- 00:02:16MCP 就是 Model Context Protocol 的
- 00:02:18简称模型上下文协议
- 00:02:20它是一个协议
- 00:02:22它是用来把 AI 助手
- 00:02:24跟你的数据存储系统
- 00:02:26进行连接起来的一个标准
- 00:02:28那你的这些数据存储系统
- 00:02:30可能就会包括你的数据库
- 00:02:32你的 GitHub 的仓库
- 00:02:34包括你使用的各种工具
- 00:02:36甚至是你的开发环境
- 00:02:38连接的目的
- 00:02:40就是为了让 AI 能够
- 00:02:42更好地去访问到你的数据
- 00:02:44这样不但能够
- 00:02:46扩展模型的能力边界
- 00:02:48而且在你的数据加持之下
- 00:02:50这样的模型生成更相关的响应
- 00:02:52也就变得更加可靠
- 00:02:54这个事情的重点是
- 00:02:56它的协议进行了开源
- 00:02:58那么这样就会很快地
- 00:03:00把生态能给建设起来
- 00:03:02目前 MCP 它还是一个本地的服务
- 00:03:04就是它是运行在
- 00:03:06你的自己的电脑上的
- 00:03:08当然不排除将来它会支持
- 00:03:10远程的服务
- 00:03:12MCP 这边主要的两个概念
- 00:03:14就是一个 MCP Server
- 00:03:16MCP 的服务器和 MCP 的 Client
- 00:03:18整个协议针对开发者来说
- 00:03:20有三个主要的组成部分
- 00:03:22一个是协议规范
- 00:03:24一个是 Claude 桌面 APP 当中的
- 00:03:26本地的 MCP 服务器的支持
- 00:03:28还有就是一个开源
- 00:03:30MCP 的服务器库
- 00:03:32就是我们刚才看到的服务器的
- 00:03:34GitHub 的网址
- 00:03:36这里面提到的数据源和 AI 工具
- 00:03:38数据源就是所谓的资源
- 00:03:40包括文件、数据库记录
- 00:03:42API 响应等等
- 00:03:44在我们介绍完整个 MCP 的概念之后
- 00:03:46我们可以来一个测试题
- 00:03:48看看是不是了解了 Claude 的 MCP
- 00:03:50Claude 的桌面端 APP
- 00:03:52到底是 MCP Server 还是 MCP Client
- 00:03:54我们不着急现在去回答它
- 00:03:56我们先看一下 MCP
- 00:03:58它是怎么样工作的
- 00:04:00Claude 官方给出了它的基础架构图
- 00:04:02就是这样的一个图
- 00:04:04我重新画了一下,增加了一些说明
- 00:04:06我们待会就用一个简单的例子
- 00:04:08来帮助大家理解一下
- 00:04:10什么是客户端和服务器架构
- 00:04:12我们先来看 Claude 的整体架构
- 00:04:14怎么样的、怎么运作的
- 00:04:16我们首先来看什么是 MCP Host
- 00:04:18MCP 主机
- 00:04:20MCP 主机它就是像 Claude 的桌面端
- 00:04:22集成的开发环境
- 00:04:24或者通过 MCP 这个协议
- 00:04:26来访问资源的一些
- 00:04:28AI 的工具
- 00:04:30Claude 的桌面应用程序
- 00:04:32它的 APP 就同时负责管理
- 00:04:34MCP 服务器以及负责提供
- 00:04:36MCP 客户端的功能
- 00:04:38而 MCP 的客户端
- 00:04:40它就会通过 MCP 协议
- 00:04:42和 MCP 服务器维持一比一的连接
- 00:04:44一对一的连接
- 00:04:46这是 MCP Host 的概念
- 00:04:48那 MCP 的 Host
- 00:04:50从图示上我们就可以看出
- 00:04:52它通过 MCP 的协议
- 00:04:54跟 MCP 的 Server 进行连接
- 00:04:56这里面有 MCP 的服务器
- 00:04:58A MCP 服务器
- 00:05:00B MCP 服务器、C
- 00:05:02也就是说它在 Host 里面
- 00:05:04它实际上是可以跟多个服务器
- 00:05:06MCP 服务器进行连接的
- 00:05:08因为一个 Host 里面
- 00:05:10每一个 Server
- 00:05:12它就会可以访问到你本地的资源
- 00:05:14也就是你本地的数据
- 00:05:16就是我们刚才提到的
- 00:05:18就是包括本地的文件
- 00:05:20数据库的记录
- 00:05:22图片等等
- 00:05:24这些就叫做资源
- 00:05:26同样 MCP 的服务器
- 00:05:28它也可以上互联网
- 00:05:30获得远程的资源
- 00:05:32比如 Google 资料的文档
- 00:05:34或者 GitHub 你的仓库
- 00:05:36这就是远程的资源
- 00:05:38同样在 Host 当中的 MCP Client
- 00:05:40客户端可以通过 MCP 协议
- 00:05:42跟 MCP 的服务器进行双向的通讯
- 00:05:44MCP 的服务器
- 00:05:46又可以从本地资源
- 00:05:48或者远程资源当中的数据
- 00:05:50进行存取
- 00:05:52那 MCP Server 是什么概念
- 00:05:54按它的定义来说
- 00:05:56就是通过标准化的模型上下文协议
- 00:05:58来展示一些特定的功能
- 00:06:00其实 MCP 的 Server
- 00:06:02我们可以类比为 ChatGPT 的 GPTs
- 00:06:04而所谓的 Server 的能力
- 00:06:06Capabilities
- 00:06:08也就是工具 Tools
- 00:06:10我们可以类比为 GPTs 的 Action
- 00:06:12也可以理解为 ToolCalling
- 00:06:14所以大家你看
- 00:06:16这些 AI 厂商
- 00:06:18大家看起来好像都是殊途同归
- 00:06:20最后就看谁走得更好了
- 00:06:22如果你是非计算机专业
- 00:06:24你可能对客户端服务器架构
- 00:06:26还有点陌生
- 00:06:28我们就用一个简单的例子
- 00:06:30来说明一下什么是客户端服务器架构
- 00:06:32了解的同学可以直接跳过这一段
- 00:06:34我们假设
- 00:06:36你进入一个饭店吃饭
- 00:06:38你是客人,那么你就是客户端
- 00:06:40你跟服务员点餐
- 00:06:42需要按照一定的规矩来
- 00:06:44不同的饭店它可能有不同的规矩
- 00:06:46比如珍珠奶茶
- 00:06:48你不能说是珍珠奶茶
- 00:06:50你要说QQ奶茶好喝到没话说
- 00:06:52这个规矩
- 00:06:54就是协议
- 00:06:56服务员相当于是一个传输协议的网线
- 00:06:58你点完了菜
- 00:07:00我们就可以说
- 00:07:02你完成了一次请求
- 00:07:04而后厨的大师傅
- 00:07:06他就相当于是服务器
- 00:07:08他从本地资源里头
- 00:07:10抓了一把珍珠
- 00:07:12然后混到奶茶里边
- 00:07:14再通过服务员把这杯奶茶
- 00:07:16返回给你
- 00:07:18我们就可以说
- 00:07:20作为服务器的大厨
- 00:07:22完成了一次响应
- 00:07:24如果服务员最后把奶茶端给你了
- 00:07:26我们就可以说
- 00:07:28你成功地收到了服务器返回的应答
- 00:07:30你们就成功地完成了一次交互
- 00:07:32如果服务员拿着你的奶茶跑路了
- 00:07:34你半天没等来
- 00:07:36大声地问一句
- 00:07:38我奶茶呢
- 00:07:40这个就叫做超时重试
- 00:07:42这就是整个一个
- 00:07:44简单的客户服务器结构
- 00:07:46它的通讯和运作过程
- 00:07:48这边我是觉得
- 00:07:50这个图稍微地改动一点点
- 00:07:52可能会更准确一点
- 00:07:54因为针对 Claude desktop
- 00:07:56这个 app 来说
- 00:07:58MCP 的 host
- 00:08:00它这一个 host
- 00:08:02包括了 MCP 客户端的功能
- 00:08:04同时它也提供了 MCP 服务器的功能
- 00:08:06所以实际上 MCP 的 host
- 00:08:08它是包含客户端和服务器这两部分的
- 00:08:10这是我认为
- 00:08:12需要稍微调整一点的地方
- 00:08:14以上就是 MCP 的基本概念
- 00:08:16以及它的工作过程
- 00:08:18MCP 本身它是一个协议
- 00:08:20当这个协议开源之后
- 00:08:22开发者就可以在这个协议的框架之下
- 00:08:24开发 MCP 的服务器
- 00:08:26或者开发 MCP 的客户端
- 00:08:28这样就可以使得我们 AI 的应用场景
- 00:08:30会越来越广
- 00:08:32所以我觉得 Claude 推出一个开放协议
- 00:08:34这个意义还是挺重大的
- 00:08:36同样它目前也是一个测试版
- 00:08:38所以功能并没有太夸张
- 00:08:40它的一些案例
- 00:08:42用其他的 AI 自动化工具
- 00:08:44也许会实现得更好
- 00:08:46但是这是一个开始
- 00:08:48开放的协议会带来
- 00:08:50AI 和其他应用系统互操作的快速的发展
- 00:08:52我们拭目以待
- 00:08:54接下来我们就来看几个实操案例
- 00:08:56一方面可以对 MCP 有更进一步的了解
- 00:08:58另外一方面
- 00:09:00你去用 MCP server 其实非常简单
- 00:09:02那么实操之后
- 00:09:04你就可以自己去用
- 00:09:06适合于你自己的工作场景的
- 00:09:08server
- 00:09:10来搭建出你自己的 MCP 工作流了
- 00:09:12好,我们开始
- 00:09:14接下来我们就看几个实操案例
- 00:09:16然后在练习的过程当中
- 00:09:18就可以更深入地去了解
- 00:09:20MCP 是怎么运作的
- 00:09:22第一个就是一个基础案例
- 00:09:24这是 Claude
- 00:09:26MCP 官方给出的一个例子
- 00:09:28我们首先就按照它的官方的
- 00:09:30步骤来详细地把这个例子走一遍
- 00:09:32在这个过程当中
- 00:09:34我们就去了解一些
- 00:09:36相关的细节问题
- 00:09:38然后我们再来演示几个
- 00:09:40进阶的测试案例
- 00:09:42这样我们对 MCP 的应用场景
- 00:09:44就会有更多的感受了
- 00:09:46好,我们先进入基础案例
- 00:09:48基础案例的整个操作步骤
- 00:09:50在 MCP 的
- 00:09:52Quick Start 文档当中
- 00:09:54都有详细的介绍
- 00:09:56我把重点挑出来
- 00:09:58放到了我的文档里面
- 00:10:00然后对一些其中涉及到的概念
- 00:10:02做了注释
- 00:10:04那么我们就按照我的这个文档
- 00:10:06我们来走一遍
- 00:10:08首先是环境准备
- 00:10:10需要什么样的先决条件呢
- 00:10:12macOS 或者 Windows
- 00:10:14最新版本的
- 00:10:16Claude Desktop
- 00:10:181.4.18
- 00:10:20Git、SQLite
- 00:10:22这边给出了几个命令
- 00:10:24来检查一下你的本机
- 00:10:26安装了这些包没有
- 00:10:28我们来看一下
- 00:10:30这边打开我的 terminal
- 00:10:32打开我的一个终端窗口
- 00:10:34先看 UV
- 00:10:36在 Linux 上面检查一个包有没有安装
- 00:10:38经常用就是用它的命令
- 00:10:40然后加一个 version 的参数
- 00:10:42这样可以一举两得
- 00:10:44不但可以看到它有没有安装
- 00:10:46UV 没有安装
- 00:10:48Git
- 00:10:50Git 有
- 00:10:52SQLite
- 00:10:54也有
- 00:10:56那么我们就需要安装 UV
- 00:10:58那 UV 是什么呢
- 00:11:00UV 它就是一个 Python 的包
- 00:11:02以及项目管理工具
- 00:11:04Project Manager
- 00:11:06MCP 的 server 有两种
- 00:11:08一种就是使用 TypeScript 语言的
- 00:11:10这种 server 我们一般是用
- 00:11:12NPX 去运行它
- 00:11:14一类 server 就是 Python 写的
- 00:11:16这种 server 我们就是用
- 00:11:18UVX 也就是 UV
- 00:11:20或者 PIP 来运行
- 00:11:22那 Claude 官方推荐的就是用 UV
- 00:11:24我们在演示过程当中
- 00:11:26咱们就运行 UV 去运行 Python 的
- 00:11:28server
- 00:11:30我们可以用它的这几个命令
- 00:11:32把这三个包都给安装上
- 00:11:34直接拷贝粘贴到这里来就可以了
- 00:11:36安装完成
- 00:11:38然后我们看下一步
- 00:11:40Claude 官方这个例子是从 SQLite
- 00:11:42数据库里面
- 00:11:44对数据进行查询和分析
- 00:11:46所以我们就需要准备测试数据
- 00:11:48SQLite 是一个本地的数据库
- 00:11:50简单好用
- 00:11:52功能全
- 00:11:54所以了解一下它还是很有意义的
- 00:11:56那我们准备测试数据
- 00:11:58就可以让 Claude 给我们生成一个测试数据
- 00:12:00这边我就是让 Claude
- 00:12:02给我生成了
- 00:12:0420 个在线 AI 课程的一个数据表
- 00:12:06这边我们可以看到
- 00:12:08SQLite 3
- 00:12:10就是你的数据库的文件名
- 00:12:12以及它所在的目录
- 00:12:14如果你需要让它创建在其他地方
- 00:12:16你就给它指定一个路径名
- 00:12:18这边我给它换一个
- 00:12:20文件夹
- 00:12:22创建完成之后
- 00:12:24我们可以简单地测试一下
- 00:12:26看看数据库有没有成功创建
- 00:12:28我们直接运行
- 00:12:30SQLite 3
- 00:12:32然后后面跟上你的数据库的名称
- 00:12:34刚才你创建的数据库的名称
- 00:12:36然后进来之后
- 00:12:38我们直接
- 00:12:40select * from
- 00:12:42我们的表名
- 00:12:44products
- 00:12:46OK,这说明我们的数据库
- 00:12:48创建成功了
- 00:12:52那接下来
- 00:12:54我们就要配置 Claude Desktop 了
- 00:12:56首先打开咱们 Claude Desktop 的
- 00:12:58配置文件
- 00:13:00Mac 电脑的 Claude Desktop 的配置文件
- 00:13:02就是它给出的这个路径
- 00:13:04我们可以先看一下
- 00:13:06这个路径里头有没有这个文件
- 00:13:14配置文件是
- 00:13:16claude-desktop-config.json
- 00:13:18在你第一次使用的时候
- 00:13:20它是没有这个配置文件的
- 00:13:22当然不管它有没有都没关系
- 00:13:24我们直接运行命令编辑这个文件
- 00:13:26创建一个这个文件
- 00:13:28你可以用任何的文本编辑器来打开这个文件
- 00:13:30那这边我用的是 Cursor
- 00:13:32你可以用任何你熟悉的编辑器
- 00:13:34VIM 或者 TextEdit 都可以
- 00:13:36好,这边我就直接
- 00:13:38拷贝,用 Cursor 来做
- 00:13:42那这时候就是个空文件
- 00:13:44我们只要把下面的这个配置文件
- 00:13:46给它拷贝进去就行了
- 00:13:48那这个配置文件都什么意思呢
- 00:13:50首先就会告诉你
- 00:13:52这下面是 MCP Server
- 00:13:54这个 MCP Server 的名字呢
- 00:13:56叫 Azure Light
- 00:13:58然后我要运行什么样的命令呢
- 00:14:00就是运行 UAX
- 00:14:02那这个 UAX 命令的参数是什么呢
- 00:14:04第一个参数就是
- 00:14:06MCP Server Azure Light
- 00:14:08这就是这个 MCP Server 的名称
- 00:14:10然后后面跟的参数是
- 00:14:12你的数据库的路径
- 00:14:14DB Path
- 00:14:16我们需要修改的就是这个数据库的路径
- 00:14:18用我们刚才创建的
- 00:14:20数据库的真实路径来替换掉
- 00:14:22这边就是我刚才创建的数据库的路径
- 00:14:24然后我们保存一下
- 00:14:26这样配置文件就完成了
- 00:14:28我们只要把 Claude Desktop 的 App
- 00:14:30重新重启一下就可以
- 00:14:32Claude 的 App 重启之后呢
- 00:14:34我们就会看到
- 00:14:36在命令窗口的右下角
- 00:14:38这边有一个小榔头的图标
- 00:14:40它就是你的
- 00:14:42MCP 的工具的列表
- 00:14:44点击实际上我们就可以看到
- 00:14:46你现在有哪些
- 00:14:48MCP 的工具了
- 00:14:50因为现在我只安装了一个 SQLite 的 Server
- 00:14:52所以这些所有的工具都是来自于
- 00:14:54SQLite 的
- 00:14:56OK,我们这边就先进行最简单的一个问题
- 00:14:58问他你能连接到
- 00:15:00SQLite 的数据库并告诉我
- 00:15:02有哪些产品可用以及它们的价格吗
- 00:15:04首先就会要求权限
- 00:15:06那么我们点击允许
- 00:15:08很好,他已经查出了我的 Product
- 00:15:10数据库里面的内容
- 00:15:12就是各种 AI 课程的内容
- 00:15:14模拟数据
- 00:15:16当然我的 AI 自动化这不是模拟数据
- 00:15:18这是实际的有的课程
- 00:15:20从 Claude 的回答当中呢
- 00:15:22我们就可以看到它整个执行 MCP 的过程
- 00:15:24首先第一步
- 00:15:26就是从数据库中当中去看
- 00:15:28有多少个表
- 00:15:30然后发现有 Product 表之后呢
- 00:15:32它来确定这个表的结构是什么
- 00:15:34你都有哪些字段
- 00:15:36然后再生成一个 SQL 语句
- 00:15:38去查询
- 00:15:40这个表当中所有的产品信息
- 00:15:42查询这个表当中的
- 00:15:44所有的记录并且按价格来排序
- 00:15:46之后根据它
- 00:15:48拿到的数据进行总结
- 00:15:50给了你一个结果
- 00:15:52这就是它一个标准的执行过程
- 00:15:54我们再来看
- 00:15:56两个进阶的问题吧
- 00:15:58你能分析价格分布
- 00:16:00并提出任何定价优化的建议吗
- 00:16:02这些问题其实对 Claude 来说
- 00:16:04已经是小菜一碟了
- 00:16:06它既然能拿到这个数据
- 00:16:08所以做这些事情都没有丝毫的问题
- 00:16:10居然还把查询写错了
- 00:16:12重新来了一把
- 00:16:14给出了一些定价优化建议等等
- 00:16:16捆绑销售、创建课程包
- 00:16:18我现在还真有一个课程包
- 00:16:20不错
- 00:16:22我们来看一下它在做什么
- 00:16:24首先它这种写法
- 00:16:26will result from read query from SQLite
- 00:16:28read query 就是 tools
- 00:16:30就是工具
- 00:16:32就是 SQLite 这个服务器提供的工具
- 00:16:34所以它首先调用了
- 00:16:36read query 这个工具
- 00:16:38给你来点统计运算
- 00:16:40然后还是调用 read query 的工具
- 00:16:42来做这个价格分布区间的查询
- 00:16:44最后调用了一个
- 00:16:46append insight
- 00:16:48这是另外一个工具了
- 00:16:50这个工具还是挺有用的
- 00:16:52根据你的数据库的数据分析
- 00:16:54它会给你给出一些重要的见解
- 00:16:56这点确实还是很有用的
- 00:16:58那接下来我们再试
- 00:17:00最后一个
- 00:17:02你能帮我设计并创建一个用于
- 00:17:04存储客户订单的新的表格吗
- 00:17:06这就不光是查询了
- 00:17:08我还要写入
- 00:17:10很好,不但会创建
- 00:17:12还知道创建完之后验证一下有没有成功
- 00:17:14OK,这就是创建表格的语句
- 00:17:16这个语句没有问题
- 00:17:18这个也是创建成功
- 00:17:20然后进行了查询
- 00:17:22查询表结构
- 00:17:24证明创建成功了
- 00:17:26那接下来还可以向表插入数据啊
- 00:17:28或者等等吧
- 00:17:30总之你可以通过 Claude 的 MCP
- 00:17:32来对你的数据库进行自然语言的操作
- 00:17:34你完全不需要去学
- 00:17:36SQL 语句了
- 00:17:38那它的整个工作流程
- 00:17:40我们可以来简单总结一下
- 00:17:42那首先在 Claude Desktop 一启动的时候
- 00:17:44它就会进行
- 00:17:46去发现你配置了哪些服务器
- 00:17:48实际上就是通过
- 00:17:50那个 JSON 配置文件来的
- 00:17:52然后它就会连接到
- 00:17:54你配置的那些 MCP 服务器
- 00:17:56这是它启动的时候干的事情
- 00:17:58那当你需要 Claude 来帮你
- 00:18:00处理数据的时候呢
- 00:18:02它就首先会去判断
- 00:18:04哪一个 MCP 的服务器
- 00:18:06是可以来完成这个任务的
- 00:18:08然后就会去查询
- 00:18:10这个服务器的能力
- 00:18:12你这个服务器有没有能力来完成
- 00:18:14这就是它的请求
- 00:18:16所以这边就是一个 negotiation 的过程
- 00:18:18就是一个协商的过程
- 00:18:20然后成功之后呢
- 00:18:22就会去从你的本地的
- 00:18:24SQLite 这个数据库里面去
- 00:18:26获取数据了
- 00:18:28也就是说从你的本地的 MCP server 里面
- 00:18:30可以去获取数据了
- 00:18:32那当然 MCP 有很多安全性的考量
- 00:18:34这就是我们看到的
- 00:18:36不停地来问你权限
- 00:18:38那至少让大家可以安心的呢
- 00:18:40就是首先它是本地的
- 00:18:42然后把这个数据暴露到 Internet 网上
- 00:18:44然后都是需要用户来确认的
- 00:18:46所以这就是 Claude
- 00:18:48在它的文档当中所说的
- 00:18:50它是一个可控安全的一个环境
- 00:18:52好
- 00:18:54接下来我们演示几个
- 00:18:56进阶的测试案例
- 00:18:58这些测试案例就来自于
- 00:19:00MCP 的官方 servers
- 00:19:02里面列举的这些
- 00:19:04所有的这些 servers
- 00:19:06这些网址大家不用记
- 00:19:08回头我会放在描述栏当中
- 00:19:10所有的内容都会在描述栏当中
- 00:19:12那目前官方
- 00:19:14提供的 server 一共提供了
- 00:19:1616 个服务器
- 00:19:18这就包括 Brave Search
- 00:19:20它可以用 Brave API 进行网络搜索
- 00:19:22然后 Everything 是一个
- 00:19:24演示展示一下 MCP 的功能
- 00:19:26Fetch 就是
- 00:19:28获取网页的功能
- 00:19:30可以把网页内容拿过来转换成 Markdown
- 00:19:32然后文件系统
- 00:19:34它可以操作本地的文件系统
- 00:19:36读写文件啊
- 00:19:38目录管理等等
- 00:19:40还有跟谷歌 Drive 的集成
- 00:19:42然后跟 Git 和 GitHub
- 00:19:44这就是你的开发仓库的版本控制的管理
- 00:19:46还有 GitLab
- 00:19:48这些都是类似
- 00:19:50同样跟谷歌地图
- 00:19:52然后还有本地的知识图谱
- 00:19:54还有 PostgreSQL,这也是个数据库
- 00:19:56相比 SQLite 来说
- 00:19:58它就是一个大型的数据库了
- 00:20:00跟 MySQL 是类似的级别的
- 00:20:02然后还有一个 Popkey
- 00:20:04这也是一个非常有用的工具
- 00:20:06它有很多很大的功能
- 00:20:08可以去打开页面啊
- 00:20:10点击页面啊
- 00:20:12甚至给你的页面截图等等
- 00:20:14然后 Sentry 一般都是 app 的问题报告
- 00:20:16Slack 通讯工具
- 00:20:18SQLite 这个我们已经测试过了
- 00:20:20然后 time 时间和时区转换
- 00:20:22好,这就是它目前官方的
- 00:20:24server 的一个列表
- 00:20:26这个网址我也会放到描述栏当中
- 00:20:28那以后有新的更新呢
- 00:20:30我们也会挑选有用的 server 来 update 一下
- 00:20:32好,我们首先测试的
- 00:20:34就是这个文件系统
- 00:20:36那同样它这边已经给出了一个
- 00:20:38现成的配置
- 00:20:40我们只要把它拷贝粘贴到
- 00:20:42咱们那个 JSON 的配置文件里面去
- 00:20:44就可以了
- 00:20:46注意 JSON 文件如果有多个服务器的话
- 00:20:48那前面这些最后结尾是有一个逗号的
- 00:20:50那通过文件系统的这个配置参数呢
- 00:20:52我们刚好可以来看一下
- 00:20:54MCP 它的配置文件一个大概的结构
- 00:20:56首先我们看到的就是命令
- 00:20:58这就是用来执行的命令
- 00:21:00那这个我们前面看到过
- 00:21:02那后面就是给执行命令的参数
- 00:21:04减号 y 就表示
- 00:21:06自动确认所有的提示
- 00:21:08跳过确认步骤
- 00:21:10因为有些命令在执行的时候
- 00:21:12会询问你一些问题
- 00:21:14那减号 y 呢就表示我每一个问题
- 00:21:16我都答是
- 00:21:18那然后这一个呢
- 00:21:20这个参数的配置呢
- 00:21:22首先我们看前面这一块
- 00:21:24那这一部分它是指定要运行的
- 00:21:26MCP 文件系统的服务器的包
- 00:21:28在哪里
- 00:21:30前半部分 at 的这个部分呢
- 00:21:32它是 Claude 官方的命名空间
- 00:21:34然后 server
- 00:21:36filesystem 就是这个文件系统的服务器的包
- 00:21:38那在下面
- 00:21:40跟的就是
- 00:21:42我的文件系统的目录了
- 00:21:44我让它来操作
- 00:21:46我本地的哪一个目录
- 00:21:48这个参数就跟在这
- 00:21:50那这边的命名空间呢
- 00:21:52你就需要完全按照 Claude 官方的命名空间来做
- 00:21:54这块不能错
- 00:21:56如果是你自己开发的
- 00:21:58那么就用你自己的命名空间来替换
- 00:22:00OK
- 00:22:02然后保存
- 00:22:04同样我们需要把 Claude 关闭
- 00:22:06然后重启一下
- 00:22:08重新启动 Claude 之后呢
- 00:22:10我们就可以看到这边变成 15 个了
- 00:22:12原来是 6 个
- 00:22:14那就多了很多本地文件系统的工具
- 00:22:16刚才我们的配置文件写的时候
- 00:22:18有一个小错误
- 00:22:20我第一次把这个 filesystem
- 00:22:22给放到 MCP server 的外头了
- 00:22:24应该放在它的里边
- 00:22:26MCP server 的大括号里边
- 00:22:28这里面是所有的服务的列表
- 00:22:30好
- 00:22:32那么下面我们就来测试几个本地文件系统的功能
- 00:22:34主要就是测试文件的读取
- 00:22:36以及分析
- 00:22:38这是我的本地文件目录
- 00:22:40这里面主要有两个 CSV 文件
- 00:22:42一个是有 2000 行
- 00:22:44记录的 BTC 的数据
- 00:22:46另外一个是 600 万行
- 00:22:48记录的 BTC 数据
- 00:22:502000 行的这个是 191KB 的大小
- 00:22:52600 万行的这个是
- 00:22:54348MB
- 00:22:56好,我们来看一下
- 00:22:58对文件系统的读取
- 00:23:00首先我们让它列举一下
- 00:23:02我本地系统都有多少 CSV 文件
- 00:23:04好,找到了三个 CSV 文件
- 00:23:06文件都没有问题
- 00:23:08然后它还主动地
- 00:23:10去查看文件的信息
- 00:23:122000 行的这个 BTC
- 00:23:14大约 190KB
- 00:23:16600 万行这个大约 348MB
- 00:23:18好,需要我查看
- 00:23:20这些文件中的具体内容吗
- 00:23:22我们首先让它根据 2000 行的数据文件
- 00:23:24来做一个简单的分析
- 00:23:26请根据 2000 行的这个 BTC
- 00:23:28汇集一个简单的分析图表
- 00:23:30OK,这是图表
- 00:23:32图表有点问题
- 00:23:34咱们先不管它
- 00:23:36它好像并没有从我的
- 00:23:38CSV 文件里面获取数据
- 00:23:40读取文件的这部分是没有问题的
- 00:23:42文件应该也全读了过来
- 00:23:44看到最后
- 00:23:46OK,它切掉了
- 00:23:4810 万个字符,它只取 10 万个字符
- 00:23:50好,咱们就不去纠结它的字数问题了
- 00:23:52这边测试是它读取数据
- 00:23:54数据没有问题
- 00:23:56我们再让它试一下
- 00:23:58那个 600 万行的 CSV
- 00:24:00那它很有可能也是
- 00:24:02只拿了 10 万个字符过来
- 00:24:04它一直在读取这个文件
- 00:24:06OK,出错了
- 00:24:08好,没有办法直接读取全部的内容
- 00:24:10它改用 SQL 来做了
- 00:24:12AI 就是聪明
- 00:24:14改用 SQL 来做
- 00:24:16OK,这不如说写 query
- 00:24:18等一下我们去看一下
- 00:24:20无法访问完整的 CSV 文件
- 00:24:22使用了模拟数据
- 00:24:24模拟数据不是逗我玩吗
- 00:24:26我们来看一下它调用工具的过程
- 00:24:28首先读文件的时候它是出错了
- 00:24:30抛出错误
- 00:24:32服务员端着奶茶跑路了
- 00:24:34然后它尝试去调用了 SQLite 的工具
- 00:24:36我看它在干什么
- 00:24:38创建了一个表
- 00:24:40BTC 的表
- 00:24:42表格的结构它应该是按照 CSV 文件来的
- 00:24:44然后创建了表
- 00:24:46我们现在把这个表清空
- 00:24:48再然后呢
- 00:24:50把 CSV 文件导入到这个表里面去
- 00:24:52这个做法还是很聪明的
- 00:24:54但是它这边出现语法错误了
- 00:24:56那很自然
- 00:24:58下面的查询语句就不会出现结果
- 00:25:00我们看可以让它
- 00:25:02把这一部分修改掉
- 00:25:06不支持直接的 CSV 文件导入
- 00:25:08好,现在开始让我给它提建议
- 00:25:10怎么处理这个文件了
- 00:25:12看它会想什么办法来做
- 00:25:14它搞不定就用模拟数据
- 00:25:16我们再来让它尝试一下
- 00:25:18看能不能把 CSV 文件导入到
- 00:25:20SQLite 数据库里面
- 00:25:22OK,它搞不定导入
- 00:25:24我们看一下我们自己能不能导入
- 00:25:36OK,它是可以导入的
- 00:25:38咱们就别让它导入太多了
- 00:25:40好,已经导入了一堆了
- 00:25:44我们看一下
- 00:25:46多少条记录导入了
- 00:25:48个十百千万十万百万
- 00:25:50居然已经导入了三百多万条记录了
- 00:25:52真的吗?这么快?
- 00:25:56好奇怪
- 00:25:58今天它就跟模拟数据杠上了
- 00:26:00OK,咱们就先不跟它
- 00:26:02去折腾分析图表的事情了
- 00:26:04至少它对本地文件系统的操作
- 00:26:06是没有问题的
- 00:26:08好,接下来我们测试下一项
- 00:26:10我们先把 Claude 推出
- 00:26:12每次修改配置文件
- 00:26:14它都需要重新启动 Claude 客户端
- 00:26:16好,下一个就是 Fetch
- 00:26:18这也是个很有用的功能
- 00:26:20可以把网页的内容获取回来
- 00:26:22然后还转换成 Markdown 格式
- 00:26:24同样我们按照它的
- 00:26:26配置要求进行配置
- 00:26:28这边建议你安装 Node.js
- 00:26:30这会让它
- 00:26:32运行得更有效
- 00:26:34那我的 Node 实际上是有的
- 00:26:36好,我这边是已经装过 Node 了
- 00:26:38如果没有装过
- 00:26:40就用这个命令进行安装就可以
- 00:26:42同样我们需要去配置
- 00:26:44Claude 的这个 app
- 00:26:46一样,我们把这个拷贝过来
- 00:26:48再到我们的配置文件里头
- 00:26:50把它粘贴到我们的配置文件里
- 00:26:52因为我们的配置文件里头
- 00:26:54已经有两个 server 了
- 00:26:56所以我们在需要新的配置的时候
- 00:26:58我们不需要前面那个 mcp server 的这部分
- 00:27:00我们只需要这个服务器的部分就行了
- 00:27:02所以这边我们只需要
- 00:27:04Fetch 的部分
- 00:27:06同样记得把上面加个逗号
- 00:27:08保存,格式化一下
- 00:27:10OK,我们再重启 Claude
- 00:27:12增加了一个 Fetch
- 00:27:14好,我们接下来让它
- 00:27:16获取一个 URL 的内容
- 00:27:18进行简要总结
- 00:27:20这个 URL 就是我的一篇博文
- 00:27:22请获取 URL
- 00:27:24为的内容进行
- 00:27:26简要总结
- 00:27:28OK,没有问题,notebook.lm
- 00:27:30所以获取网页内容
- 00:27:32是没有任何问题
- 00:27:34丝滑地就完成了
- 00:27:36然后我们再试一下
- 00:27:38这个可以当作自动化工具来用的 Puppeteer
- 00:27:40它提供浏览器的自动化功能
- 00:27:42它可用的工具很多
- 00:27:44页面导航
- 00:27:46页面截图
- 00:27:48然后点击页面当中的元素
- 00:27:50悬停元素,填充表单
- 00:27:52还能填充表单
- 00:27:54选择下拉框
- 00:27:56以及执行 JavaScript 的脚本
- 00:27:58所以这个功能还是比较多
- 00:28:00应该还是挺有实用价值的
- 00:28:02同样我们按照说明进行配置
- 00:28:04其实我们看到的配置内容
- 00:28:06都很简单
- 00:28:08基本上它的配置都是同样的模式
- 00:28:10我们把这部分拷贝过来
- 00:28:12然后继续粘贴到
- 00:28:14我们的配置文件里
- 00:28:16不要忘了逗号
- 00:28:18保存,格式化一下
- 00:28:20好,配置文件完成,我们再把 Claude 启动起来
- 00:28:22好,等了有一阵以后
- 00:28:24这边就加载成功了
- 00:28:2621 个了已经
- 00:28:28我们到这边新增加的
- 00:28:30Puppeteer 的
- 00:28:32OK
- 00:28:34我们可以尝试一下 Puppeteer 了
- 00:28:36我们先尝试第一步
- 00:28:38直接让它打开我的
- 00:28:40AI 精英学院的首页
- 00:28:42OK,直接调用了我的 Chrome 浏览器
- 00:28:44打开了
- 00:28:46我的首页
- 00:28:48但是是在一个小的 frame 里面
- 00:28:50它是在一个 frame 里面打开的
- 00:28:52我的主页
- 00:28:54没有问题,打开的都没有问题
- 00:28:56已经可以开始操作
- 00:28:58其他的 app
- 00:29:00好,我们看它这边干啥了
- 00:29:02首先使用的 Puppeteer 的 Navigate
- 00:29:04打开了我的网页
- 00:29:06然后截取了一张网页截图
- 00:29:08它倒挺主动
- 00:29:10好,我们先把这个关掉
- 00:29:12然后我们直接再测试一下
- 00:29:14一次给它三个任务
- 00:29:16我们可以
- 00:29:18重新开一个新的会话
- 00:29:20一次给它三个任务
- 00:29:22打开首页,然后点击按钮
- 00:29:24点击查看热销套装详情这个按钮
- 00:29:26我们先看一下
- 00:29:28直接让它点击这个按钮的名称
- 00:29:30看看它能不能点
- 00:29:32我们先测试一下
- 00:29:34告诉它按钮的名称,看它能不能点到
- 00:29:36好,导航到网页
- 00:29:38OK,直接用名字,它没有成功
- 00:29:40然后它尝试截图
- 00:29:42看看它能不能成功
- 00:29:44尝试截取整个页面
- 00:29:46这样可以确保我们至少得到一个截图
- 00:29:48Claude 也变得越来越会凑合事儿了
- 00:29:50重新尝试
- 00:29:52从它的命令上看
- 00:29:54它应该不会尝试成功吧
- 00:29:56还挺厉害,居然开始要执行脚本了
- 00:29:58不错,点了一个按钮
- 00:30:00但是点的
- 00:30:02不是热销套装的按钮
- 00:30:04打开了我的
- 00:30:06AI 实战派的按钮
- 00:30:08然后它会认为成功了
- 00:30:10不错,点了一个按钮
- 00:30:12虽然没点对
- 00:30:14这是因为它自己找到了一个按钮的标识
- 00:30:16然后就点了一下
- 00:30:18虽然按钮没有点对
- 00:30:20但是这个结果已经很不错了
- 00:30:22接下来尝试就给它一个
- 00:30:24明确的 selector
- 00:30:26看它会不会做得更好
- 00:30:28我们先把这个页面关掉
- 00:30:30好,这时候我就给它一个详细的命令
- 00:30:32这个按钮呢
- 00:30:34就给它了 selector
- 00:30:36这是这个按钮的 selector
- 00:30:38看看这次行不行
- 00:30:40很好,再继续
- 00:30:42好,这下就点对了
- 00:30:44因为给了它正确的 selector
- 00:30:46所以它的按钮就点的正确了
- 00:30:48好,又点了一次
- 00:30:50好,再来截图
- 00:30:52中文来一遍,英文来一遍
- 00:30:54双语完成任务
- 00:30:56好,很好,已经很不错了
- 00:30:58这样,MCP 它通过多个服务器之间协同
- 00:31:00确实是已经具备了
- 00:31:02基本的自动化的能力
- 00:31:04当然
- 00:31:06MCP 目前还只是一个预览版
- 00:31:08它相对真正的那些
- 00:31:10自动化工作流的平台
- 00:31:12还是弱很多
- 00:31:14但是这一两年的 AI 的趋势
- 00:31:16已经很明显了
- 00:31:18它一旦开始,它的发展的速度
- 00:31:20真是会超乎我们的想象
- 00:31:22看接下来 AI agent 该怎么走吧
- 00:31:24大家各有各的招
- Claude
- MCP
- AI助手
- 数据互操作
- 协议
- 开源
- 应用案例
- 自动化
- 技术创新
- 生态系统