|

MCP(Model Context Protocol,模型上下文协议)是Anthropic于2024年11月开源的通信协议。 简单说,它就是AI模型除了返回文件还能读文件看数据库操作电脑。 一个案例:这才叫Agent! Claude3.7 MCP Blender 3D 建模 本文将会MCP的配置文件做一下解析,不过在这之前,我个人还是感觉配置文件任是MCP最失败的设计之一。原因有以下几个: MCP默认是使用的Json格式,Json格式本身的局限性,作为配置格式有明显缺点: - 无法添加配置说明,降低了可维护性
- 格式严格,一个逗号错误就会导致整个配置失效
- 结构固定:缺乏灵活性,不如YAML等更适合复杂配置,也没有Scheme,很难得去调试。
配置路径很恶心,以官方Claude Desktop为例,配置文件的路径过于隐蔽,反正我现在都没有记住,另外: - 不同系统路径不一致, 这一点尤其是Windows用户,得手动加上很多的转义符号。
- 缺乏明确的配置界面或引导,官方给一个按钮哪怕是可以直接打开配置都可以。
前置配置违背直觉,MCP这种从平台应用的配置模式采用"先配置,后使用"的方式,违背了普通用户的直觉: - 正常流程:用户先进入应用,在需要时才提供配置
- MCP方式:要求用户预先在配置文件中设置好所有参数
这就像比登录一个网站平台,你不是记事本上写好用户名密码,再去网站登录,而不是打开网页后再填写登录信息。更合理的做法应该是统一入口协议后再按需配置,将配置参数化。然后又是因为明文配置同样变相导致了后面的问题。 安全风险:敏感信息明文存储,配置文件中的敏感信息以明文方式存储,带来严重安全隐患: - API密钥、访问令牌等完全暴露
- 没有加密或混淆机制,导致在分享屏幕或截图时容易泄露
我就记得Windsurf官方有一次演示MCP教程时,主持人在视频里填写了Gmail token后还特意要求后期剪辑打码,实在是尴尬至极! 我个人觉得更好的设计方案: - 将配置项后移到Server,客户端仅提供默认配置,通过统一的协议来要求用户填写相关的参数,
- 采用按需授权模式,而非预先配置。同时约定大于配置在很多的配置进行默认化处理,统
- 一的配置入口和发现机制
- 使用更友好的配置格式(如YAML,JOSN5
- 提供凭证管理机制,安全存储敏感信息
MCP的简单介绍MCP不只是一个简单的文件读取工具,它能做的远不止于此: - 读取本地资源:AI可以查看你电脑上的文件、数据库记录等
- 使用本地工具:可以操作浏览器、执行SQL查询、管理Git等
- 实时更新:资源变化时,主动推送最新信息
- 保护隐私:所有操作在本地完成,敏感数据不会上传第三方
MCP采用客户端-服务器架构: - MCP客户端:通常是AI应用,比如Claude Desktop或cline插件
- MCP服务器:轻量级程序,负责执行具体操作
- 通信方式:基于JSON-RPC 2.0标准,保证通信稳定可靠
当AI需要读取文件时,它会发送一个JSON-RPC请求,MCP服务器处理后将文件内容返回给AI。整个过程对用户来说是完全无缝的! 当你让Claude"帮我查看sales.xlsx中的销售数据并生成报表"时,Claude会通过MCP客户端向你本地运行的MCP服务器发送请求,服务器读取文件内容返回给Claude,然后Claude为你分析数据。整个过程快速、安全,且无需手动上传文件。 Playwright MCP服务器的配置以下是在VSCode中使用cline插件配置Playwright MCP服务器的步骤: - 安装cline插件(VSCode扩展市场搜索即可)
- 在cline MCP扩展中搜索并安装playwright插件
- 配置启动项:
{
"mcpServers":{"playwright":{"command":"npx","args":["-y","@executeautomation/playwright-mcp-server"]}
}}配置详解这个看似简单的配置项包含了丰富的信息: 首先,整个配套是一个嵌套关系,也就是一个配置文件,里面包含了多个server,而每个server又是如下的选项: - mcpServers:根级别键,定义所有MCP服务器配置
- playwright:服务器实例名称,你可以配置多个不同的服务器
- command:启动命令,这里用npx执行Node.js包
- args:命令参数
- -y:用于自动确认所有提示
- @executeautomation/playwright-mcp-server:要执行的npm包名
NPX的执行机制:先拉后执行上面配置中使用的NPX是什么?它的工作原理是什么?简单说,NPX是Node.js提供的包执行工具,采用"先拉后执行"的模式: - 拉取阶段:当你通过配置触发Playwright MCP服务器时,NPX会先检查本地或全局是否已安装该包。如果没有,它会从npm仓库临时下载
@executeautomation/playwright-mcp-server包到临时目录。 - 执行阶段:下载完成后,NPX会立即执行该包中的主程序,启动Playwright MCP服务器。
- 清理阶段:任务完成后,NPX会自动清理临时下载的文件,不会污染你的系统环境。
这种机制带来几个重要好处: - 零配置:用户无需预先安装任何东西
- 总是最新:每次执行都会获取最新版本
- 环境隔离:避免版本冲突
- 用完即走:不留下额外垃圾文件
配置完成后,你可以尝试让AI完成这样的任务: "帮我打开百度,搜索'MCP协议',然后截图保存到桌面"
AI会调用Playwright服务器,打开浏览器,完成所有操作,无需你编写一行代码。 |