MCP技术与Cline集成指南:打造智能AI助手的数据连接解决方案

embedded/2024/12/21 9:29:15/

引言

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服务器,并尝试给大家带来更有趣和更实用的示例。


http://www.ppmy.cn/embedded/147498.html

相关文章

零基础学安全--wireshark简介

目录 主要功能 捕获网络数据包 协议解析 数据包分析 数据包重组 过滤功能 统计与图表功能 官网 Wireshark是一个开源的网络协议分析工具 主要功能 捕获网络数据包 能够实时捕获网络中传输的数据包,用户选择要监听的网络接口(如以太网、WiFi等…

【ppt技巧】如何设置PPT带有密码的只读模式?

有没有同学,想要给PPT文件设置修改权限,却没有找到功能,给PPT文件设置只读模式,没有密码设置的?今天给大家分享给PPT文件设置带有密码的只读模式(修改权限)。 打开PPT文件之后,将PP…

用bootstrap搭建侧边栏

要注意&#xff1a; 标签的id"v-pills-dataset1-tab"要和跳转内容的aria-labelledby"v-pills-dataset1-tab"一致 标签的aria-controls"v-pills-dataset1"要和跳转内容的id"v-pills-dataset1"一致 <!-- 左边的列&#xff08;侧边栏…

python飞机大战游戏.py

python飞机大战游戏.py import pygame import random# 游戏窗口大小 WINDOW_WIDTH 600 WINDOW_HEIGHT 800# 颜色定义 BLACK (0, 0, 0) WHITE (255, 255, 255)# 初始化Pygame pygame.init()# 创建游戏窗口 window pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))…

深度学习0-前置知识

一、背景 AI最大&#xff0c;它的目的是通过让机器模仿人类进而超越人类&#xff1b; ML次之&#xff0c;它是AI的一个分支&#xff0c;是让机器模仿人类的一种方法。开发人员用大量数据和算法“训练”机器&#xff0c;让机器自行学会如何执行任务&#xff0c;它的成功取决于…

Unity复刻胡闹厨房复盘 模块一 新输入系统订阅链与重绑定

本文仅作学习交流&#xff0c;不做任何商业用途 郑重感谢siki老师的汉化教程与代码猴的免费教程以及搬运烤肉的小伙伴 版本&#xff1a;Unity6 模板&#xff1a;3D 核心 渲染管线&#xff1a;URP ------------------------------…

ArcGIS;InVEST实践;生物多样性生境质量模型、固碳模块、城市热岛缓解(降温)模块

以InVEST模型结合实际项目进行由浅入深的实战技术讲解&#xff0c;针对学者的特点及需求进行分析&#xff0c;融合内容体系&#xff0c;对接工作实际项目及论文写作&#xff0c;解决参会者关注的重点及实际项目过程问题&#xff0c;采取逐步延伸的逻辑&#xff0c;不论您是小白…

[创业之路-201]:价值主张与APPEALS模型

目录 前言&#xff1a; 一、价值主张&#xff1a;产品的独特价值和竞争优势 二、APPEALS模型&#xff1a;用户最关心的8个维度的问题 三、价值主张与APPEALS模型的关系&#xff1a;配对 前言&#xff1a; 价值主张与APPEALS模型是两个在产品开发、市场营销和竞争分析中非常…