这可能是 2024 年最重要的 AI 突破:深入解析 Claude MCP 协议(完整教程 + 实战) | 回到Axton
Résumé
TLDR视频详细介绍了Claude的Model Context Protocol(MCP)技术,这一开源协议使AI助手能更便捷地访问用户数据,如本地文件、Google Drive文档等,打破传统“上传下载”的限制。通过MCP,AI助手不仅能实时操作浏览器,分析数据库,操控文件系统,还能与各类应用进行数据互操作。这项创新使AI助手的功能更为强大,能够生成更相关、更可靠的响应。视频还实际演示了MCP如何在不同环境中操作,包括读取和分析SQLite数据库、获取网页内容、以及操控网页等,展现了MCP广泛的应用潜力。同时,MCP的开源化预计将促进生态系统的快速发展,未来或将大大推动AI技术和应用的扩展。
A retenir
- 🤖 MCP让AI助手访问用户数据更高效
- 📂 支持本地和远程文件系统
- 🌐 可实时操控浏览器
- 📊 实现数据库查询与分析
- 🔐 提供安全的用户数据访问权限
- 🔍 使用自然语言操作多个服务
- 🛠 提供多个开源服务器
- 🚀 推动AI生态系统的发展
- 📈 扩展AI助手功能和应用场景
- 🛡 未来有望在安全和隐私上更进一步
Chronologie
- 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自动化工作流中的应用潜力,尽管目前功能有限,但未来发展空间巨大。
Carte mentale
Vidéo Q&R
什么是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应用场景更加广泛。
Voir plus de résumés vidéo
- 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助手
- 数据互操作
- 协议
- 开源
- 应用案例
- 自动化
- 技术创新
- 生态系统