引言
Model Context Protocol(MCP)是由Anthropic推出的一种全新开放标准,旨在为AI助手提供与数据源之间的安全连接能力。通过MCP技术,开发者可以实现AI助手与内容存储库、业务工具和开发环境的无缝集成,从而帮助前沿模型生成更加准确和相关的响应。MCP的推出克服了AI助手因信息孤岛和遗留系统造成的数据隔离问题,为构建真正互联的智能系统提供了可扩展的解决方案。
本文将详细介绍MCP的核心功能与技术原理,随后结合Cline 2.2.0版本的更新内容,探讨其在开发工作流中的实际应用,并提供在Cline中配置与使用MCP的完整指南。
MCP的核心功能与特点
MCP技术的设计目标是通过一个通用开放协议,简化AI系统与数据源之间的连接。如上图所示,以下是其主要特点:
1.开放标准与可扩展性
MCP提供了一个通用协议,取代了当前碎片化的集成方式。开发者可以通过MCP快速构建与不同数据源的连接,而无需为每个数据源单独定制实现。
2.安全的双向连接
MCP允许开发者构建安全的双向连接,使AI工具能够访问和操作数据,同时保护用户的隐私和数据安全。
3.丰富的参考实现与开源支持
MCP提供了多种参考实现,包括Google Drive、Slack、GitHub、Postgres等流行的企业系统。此外,MCP的SDK和服务器实现均为开源,开发者可以根据需要进行定制化开发。
4.支持多种集成场景
MCP支持文件系统操作、数据库查询、浏览器自动化、团队协作工具等多种场景,能够满足企业和个人用户的多样化需求。
5.促进生态系统发展
MCP的生态系统正在快速扩展,已有Block、Apollo等企业以及Zed、Replit等开发工具公司率先采用该协议。
MCP的技术原理与架构
如上图所示,MCP基于客户端-服务器架构,通过以下几个核心组件实现AI助手与数据源的集成:
1.MCP服务器
MCP服务器是MCP架构的核心组件,负责与具体的数据源交互。每个服务器专注于一种资源类型或功能,例如文件系统、数据库、Web搜索等。服务器的模块化设计确保了协议的可扩展性。
2.MCP客户端
MCP客户端是AI助手与MCP服务器之间的通信桥梁,负责将用户请求转化为MCP服务器可识别的标准化API调用,并返回结果。
3.MCP主机
MCP主机(如Claude Desktop、Cline)充当应用程序的中心枢纽,管理与多个数据源的连接,确保数据访问的安全性与权限控制。
4.本地与远程资源
MCP支持与本地文件、远程API、数据库及云服务的集成,能够将多种数据源整合到AI助手的工作流中。
MCP的架构设计使得AI助手能够从孤立的工具转变为动态的智能代理,可以灵活地访问和利用各种数据资源。
MCP服务器示例
MCP生态系统虽然刚开始构建,但已经提供了丰富的服务器参考实现,具体可参见网址:https://github.com/modelcontextprotocol/servers, 以下是一些常用的MCP服务器:
- Filesystem — 文件操作与可配置的访问控制
- GitHub — 仓库管理、文件操作和GitHub API集成
- GitLab — GitLab API,支持项目管理
- Git — 读取、搜索和操作Git仓库
- Google Drive — Google Drive的文件访问和搜索功能
- PostgreSQL — 只读数据库访问与模式检查
- SQLite — 数据库交互
- Slack — 频道管理和消息传递
- Memory — 基于知识图谱的持久化内存系统
- Puppeteer — 浏览器自动化和网页抓取
- Brave Search — 使用Brave的搜索API进行网页和本地搜索
- Google Maps — 位置服务、路线和地点详情
- Fetch — 网络内容抓取和转换以高效使用LLM
这些服务器可以根据需要单独使用,也可以组合使用以构建更复杂的应用场景。例如,在开发环境中,可以同时使用文件系统服务器、数据库服务器和开发工具服务器,实现完整的开发工作流程。
Cline 2.2.0版本MCP支持更新
不愧是最强开源AI编程工具,Cline很快就为了MCP推出了2.2.0版本,为开发者带来了以下重要更新:
1.MCP支持与自定义工具集成
- Cline全面支持Model Context Protocol(MCP),允许用户通过MCP添加和配置自定义工具,如Web搜索工具或GitHub工具。
- 用户可以通过点击菜单栏的新服务器图标,快速添加和管理MCP服务器。
2.自动化MCP服务器创建与安装
- Cline能够自动完成从创建MCP服务器到在扩展中安装的全过程。
- 所有配置的MCP服务器都会保存在
~/Documents/Cline/MCP
目录中,方便用户共享和复用。
3.增强的自然语言工作流
- 用户只需通过简单的自然语言命令即可让Cline为其工作流构建特定工具。例如:“添加一个工具来获取最新的npm文档”:Cline会自动生成对应的工具并安装。
在Cline中配置与使用MCP
这里假设大家对Cline有基本了解,我就不再赘述如何安装Cline了。有需要的朋友可以参看我之前的文章。总的来说,Cline是一个基于VS Code的AI编程扩展,但是通过MCP的集成以后,Cline能够实现对数据源的深度访问与操作,极大地提升开发者的工作效率,同时也扩大了Cline作为通用AI智能体的应用场景。
这里我就以实现Brave Search MCP服务器的配置与使用方法为例,给大家介绍一下如何在Cline中配置与使用MCP。这也解决了一个之前使用Cline的痛点,就是Cline无法直接使用Web搜索工具,想搜索参考信息不太方便。
配置Brave Search MCP服务器
Brave Search MCP服务器允许Cline通过Brave Search API执行Web搜索任务。以下是配置步骤:
1.获取API密钥
访问 Brave API https://brave.com/search/api/ ,注册账户并获取您的免费API密钥。
2.编辑Cline配置文件
如上图所示,打开VS Code,点击左边的Cline插件图标,打开Cline,点击上方的MCP配置图标,然后点击最下方的"Edit MCP Settings", 打开Cline的配置文件。添加以下内容:
{"mcpServers": {"brave-search": {"command": "npx","args": ["-y","@modelcontextprotocol/server-brave-search"],"env": {"BRAVE_API_KEY": "YOUR_API_KEY_HERE"}}}}
如果是Windows系统,根据我的测试结果,可能会找不到npx的执行路径,需要全局安装MCP服务器,使用如下命令:
npm install -g @modelcontextprotocol/server-brave-search
然后在MCP设置中,使用绝对路径直接调用,如下所示:
{"mcpServers": {"brave-search": {"command": "node","args": ["C:\\Users\\wangz\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-brave-search\\dist\\index.js"],"env": {"BRAVE_API_KEY": "YOUR_API_KEY_HERE"}}}}
当然,args中的路径需要根据你电脑上的实际路径进行修改,也别忘了把Brave API Key替换为你的API Key。
3.验证连接状态
如下图所示,在Cline的MCP设置中,检查MCP服务器的连接状态是否为绿色,确保Brave Search服务器已成功连接。如果没连接,可能要重启一下VSCode。如果连接成功,可以看到列出的Brave Search工具。
4.示例对话
因为MCP是开放标准,所以你可以使用任何支持工具调用的LLM,来使用Brave Search工具。正好Cline也支持各种模型的调用,所以我这里直接用OpenRouter选择Gemini 2.0 Flash模型实验版(现在还是免费的,而且是为Agent而设计),如何设置也可以参见我之前的文章。设置好之后,我让Cline:搜索一下生成式AI的最新发展,然后帮我写入本地的一个md文档。
如下图所示,Cline成功使用了brave_web_search工具,然后使用Gemini 2.0 Flash模型实验版对结果进行了总结,并帮我写入本地的一个md文档。是不是很赞!
结论
到此为止,我们已经完整尝试了一个MCP服务器的使用,通过Model Context Protocol,任何AI助手都可以与各种数据源和服务进行集成,从而实现更加强大的功能,这将大幅提升AI助手的能力与生产力。我相信,未来,随着MCP生态系统的不断扩展,它将在更多领域发挥重要作用。我也会继续研究各种新的MCP服务器,并尝试给大家带来更有趣和更实用的示例。