本教程将带你深入了解 MCP(Model Context Protocol)协议,学习如何利用 MCP Server 让大模型智能体轻松调用外部工具,并通过 CherryStudio 客户端完成文件操作和数据库查询实战。
简介
MCP 全称为 Model Context Protocol,是一个大模型智能体与外部工具或数据源的交互协议。智能体可以通过该协议去调用所有支持该协议的服务,从而增强智能体的能力。
在没有 MCP 时,不同的智能体都需要对不同的外部工具做单独的适配才能调用,即使用各自独有的协议。MCP 的出现统一了外部调用协议,大大降低了智能体的开发成本,也可以快速接入不同的外部服务。
本文主要带你简单认识 MCP,并利用 MCP 来调用本地文件系统和数据库完成实际案例。
准备工作
本文使用的客户端是 CherryStudio[1]。
接着,前往阿里云百炼申请免费的大模型额度,获取 API KEY。
最后,将 API KEY 配置到 CherryStudio 中,即可使用大模型进行对话。
小提示:阿里云百炼的免费额度通常足够初步测试使用。如果遇到配额不足,可考虑其他兼容 OpenAI 协议的大模型服务。
通过大模型操作本地文件
首先需要配置支持本地文件系统的 MCP Server,这里选择的是 desktop-commander[2]。
步骤1:获取 MCP Server 运行命令
在 desktop-commander 的项目页面中找到服务运行的命令(通常是类似 npx @anthropic/desktop-commander 的形式)。
步骤2:配置到 CherryStudio
将上述命令填写到 CherryStudio 的 MCP 配置项中,点击保存即可。
步骤3:开始对话
进入对话页面,选择使用的大模型,再选择上面添加好的 desktop-commander 服务,就可以进行对话了。
步骤4:实际操作演示
在对话中,让大模型帮忙在桌面上创建一个文件。可以看到客户端分别调用了 desktop-commander 服务中的两个方法:create_directory 和 write_file。
看向桌面,发现了文件 hello.txt,打开发现内容与对话中的内容一致。
常见问题:
- Q: 为什么我配置了命令但 CherryStudio 找不到服务?
A: 请确认命令路径正确,且电脑已安装 Node.js 及 npm。建议在终端中先手动运行该命令测试是否正常启动。 - Q: 操作文件时,大模型创建的目录或文件权限不足怎么办?
A: 确保 CherryStudio 有访问该目录的权限,或者将 MCP Server 的运行用户权限提升(但注意安全风险)。
通过大模型完成 PostgreSQL 查询
首先需要提前准备好一个 PostgreSQL 数据库,数据示例如下:
这里选择的是 server-postgres[3] 作为 PostgreSQL 的 MCP Server,找到服务运行的命令。
步骤1:获取命令并配置
将命令配置到 CherryStudio 中,点击保存即可。
步骤2:选择服务并对话
在对话框中选择我们配置好的 server-postgres 服务,然后就可以进行对话了。
步骤3:执行数据库操作
现在可以对话中让大模型执行数据库操作,例如查询表以及表中的数据。
小提示:配置 server-postgres 时,注意数据库连接字符串的格式(通常需要提供主机、端口、数据库名、用户名、密码),确保该 MCP Server 能正常连接你的数据库。
常见问题:
- Q: 为什么大模型无法查询到数据库表结构?
A: 检查 server-postgres 的配置命令是否正确,以及数据库用户是否有访问目标表的权限。可以先用数据库客户端手工测试连接。 - Q: 大模型生成的 SQL 语句有语法错误怎么办?
A: 不同模型对 SQL 的理解能力不同,可尝试使用更先进的模型(如 qwen-max 或 gpt-4 等)。必要时可以在对话中明确指定数据库类型(如 PostgreSQL)及表结构信息。
总结
AI 的发展趋势越来越快,而 MCP 的出现,使得 AI 可以更加方便地与外部服务进行交互,从而实现更加智能的应用。通过本文的实战,你已经掌握了在 CherryStudio 中配置 MCP Server 并进行文件操作和数据库查询的方法,这为后续开发更复杂的智能体应用打下了坚实基础。
