概念
MCP(Model Context Protocol)是 Anthropic 为 Claude 开发的一项协议,它让 AI 能够安全地访问和使用你的本地资源。
这项技术打破了传统的 AI 与本地环境之间的壁垒,让AI可以联网了以查询数据库可以作图甚至是直接操作电脑。
一个真实的场景来理解 MCP:
你是一个数据分析师,每天需要处理大量的销售数据。以前,你需要先自己从数据库中提取数据,再把这些数据复制粘贴给 AI 进行分析。现在有了 MCP,你可以直接让 AI 连接数据库,自动完成数据提取和分析的全过程。
MCP 的工作机制(此处不想看 可以跳过):
- 请求识别:当你向 Claude 提出需求时,它会识别出需要访问哪些本地资源
- 安全验证:MCP 会检查这个访问请求是否在允许的范围内
- 数据交互:通过 MCP 安全地访问本地资源,获取所需数据
- 结果处理:Claude 处理获取到的数据,并以人类易懂的方式呈现结果
MCP环境搭建
要开始使用 MCP,我们需要先搭建正确的环境。这个过程就像是在搭建一座桥梁,让 AI 能够安全地往返于不同的系统之间。
第一步:软件安装
首先,我们需要安装以下软件:
- Claude Desktop:访问 Anthropic 官网下载最新版本完成安装后先运行一次,确保基本功能正常,这个客户端相当于是一个中间商,当然,后面也会提起不使用这个中间商,换成其他的中间商
- uv 工具:这是一个包管理工具,我们可以用它来理解为是一个下载和管理应用的软件
# Windows 系统 pip install uv # Mac/Linux 系统 brew install uv
- SQLite 数据库:从官网下载适合你系统的版本,确保将 SQLite 添加到系统环境变量中,这个可以看成你平时使用的数据表,或者是excel
第二步:创建测试数据库
让我们创建一个实际的数据库来进行测试。这个数据库将存储一个在线商店的销售数据:
-- 创建销售数据表 CREATE TABLE sales ( id INTEGER PRIMARY KEY, date TEXT, product_name TEXT, quantity INTEGER, price REAL, total_amount REAL ); -- 插入一些测试数据 INSERT INTO sales (date, product_name, quantity, price, total_amount) VALUES ('2024-02-01', '笔记本电脑', 2, 6999.00, 13998.00), ('2024-02-01', '无线鼠标', 5, 99.00, 495.00), ('2024-02-02', '显示器', 3, 1299.00, 3897.00), ('2024-02-02', '机械键盘', 4, 499.00, 1996.00), ('2024-02-03', '游戏耳机', 6, 299.00, 1794.00); -- 创建商品库存表 CREATE TABLE inventory ( product_id INTEGER PRIMARY KEY, product_name TEXT, stock_quantity INTEGER, reorder_level INTEGER ); -- 插入库存数据 INSERT INTO inventory (product_name, stock_quantity, reorder_level) VALUES ('笔记本电脑', 15, 5), ('无线鼠标', 50, 20), ('显示器', 25, 10), ('机械键盘', 30, 15), ('游戏耳机', 40, 20);
执行步骤:
打开终端或命令提示符,进入你想保存数据库的目录,运行 sqlite3 store.db
复制粘贴上述 SQL 代码并执行
使用 .tables
命令确认表格创建成功
第三步:配置 MCP
现在我们需要告诉 Claude 如何找到并使用这个数据库。这个配置文件就像是一张地图导航,指导 AI 如何安全地访问数据。
让我们分别看看 Windows 和 Mac 系统的配置方法:
Windows 系统配置
- 找到配置文件位置:
- 打开文件资源管理器
- 在地址栏输入:
%APPDATA%Claudeclaude_desktop_config.json
- 如果文件不存在,可以创建一个新的文本文件并命名为
claude_desktop_config.json
- 添加以下配置内容:
{ "mcpServers": { "sqlite": { "command": "uvx", "args": [ "mcp-server-sqlite", "--db-path", "C:\Users\你的用户名\store.db" ] } } }
注意:请将 你的用户名
替换为你的实际 Windows 用户名。Windows 系统使用反斜杠(\
)作为路径分隔符。
Mac 系统配置
- 找到配置文件位置:
- 打开终端
- 输入命令:
mkdir -p ~/Library/Application Support/Claude/
- 然后创建或编辑配置文件:
vim ~/Library/Application Support/Claude/claude_desktop_config.json
- 添加以下配置内容:
{ "mcpServers": { "sqlite": { "command": "uvx", "args": [ "mcp-server-sqlite", "--db-path", "/Users/你的用户名/store.db" ] } } }
注意:将 你的用户名
替换为你的 Mac 用户名,完全退出程序重新启动以加载新配置(如果有多个配置,那么就需要把它嵌套到同一级的目录下。那么在图中其实我已经有两个配置项,我是追加到了第二项当中去)
上面的配置完成之后,之后的每次会话都要选择MCP的集成,也就是如图所示类似于电子元件的符号,在上传文件的旁边
另外,在使用MCP时会要求我们开放和允许脚本的使用权限,把权限给到它就行了,也就是如图所看到的Allow
MCP 实战
现在让我们通过实际案例来看看 MCP 能做什么:
场景一:销售数据分析
向 Claude 提问:
“请分析过去三天的销售数据,帮我找出销售额最高的产品,并计算总营业额。”也就是说,我们可以通过自然语言的描述来正确获取SQL语句,并得到正确的结果,同时以图表的方式来展现数据分析结果。
Claude 会自动执行执行类似这样的操作:
SELECT product_name, SUM(quantity) as total_quantity, SUM(total_amount) as total_sales FROM sales GROUP BY product_name ORDER BY total_sales DESC;
并给出清晰的分析报告:
“根据数据分析,笔记本电脑的销售额最高,达到 13,998 元,总营业额为 22,180 元。建议重点关注高价值产品的销售策略…”
场景二:库存管理
向 Claude 提问:
“请检查所有商品的库存情况,找出需要补货的产品。”
Claude 会查询库存表:
SELECT product_name, stock_quantity, reorder_level, CASE WHEN stock_quantity <= reorder_level THEN '需要补货' ELSE '库存充足' END as status FROM inventory;
并提供建议:
“以下产品需要关注库存:笔记本电脑、无线耳机、平板电脑、智能手表”
场景三:销售趋势分析
向 Claude 提问:
“请分析每日销售趋势,并预测可能的库存问题。”
这里有视频演示:
Claude 会结合销售和库存数据:
SELECT s.date, s.product_name, s.quantity as sold_quantity, i.stock_quantity as current_stock FROM sales s JOIN inventory i ON s.product_name = i.product_name ORDER BY s.date;
并提供详细分析:
“根据销售趋势,游戏耳机的销售量呈上升趋势,当前库存可能在下周出现短缺…”
还有更多
- 你可以让 Claude 将分析结果导出为特定格式:”请将销售分析数据导出为 CSV 格式。”
- 可以处理复杂的多表查询:”请分析每个产品的销售量与库存比例,找出最需要关注的商品。”
- 可以让 Claude 生成定期报告:”请生成本周的销售报告,包含销售趋势、库存状态和补货建议。”
最后
MCP 技术让 AI 助手从一个简单的对话工具升级成了真正的工作助手。通过示例,我们看到了它在数据分析、库存管理等实际业务场景中的强大作用。
但是现在MCP好象现在只是Claude的桌面客户端中使用有没有办法脱离这个桌面客户端呢?
然后能不能结合一下 DeepSeek-R1呢?
请看下一期字节笔记本微信公众号«MCP从入门到完全不用»系列!