此文章为我观看MCP实战指南所做的个人笔记和实操流程。

学习视频地址:https://www.bilibili.com/video/BV1eK5DzHEWu/?spm_id_from=333.1391.0.0&p=18

目录

MCP概述

准备工作

使用MPC案例

Cline中使用MCP

MCP进一步说明

MCP的C/S架构

MCP工作流程


MCP概述

MCP(Model context Protocal,模型上下文协议)是由Anthropic推出的一种开放标准。旨在为大语言模型提供统一的、标准化方式与外部数据源和工具之间进行通信。MCP作为一个标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一的方式为AI应用添加各种能力。

MPC的通信机制:

1.stdio(标准输入输出):主要用于本地服务上,操作你本地的软件或文件。这是MCP默认的通信方式。优点是无需依赖外部网络,通信速度快,易于调试,但缺点是Stdio的配置比较复杂,需要提前安装需要的命令行工具。stdio模式是单进程通信,无法并行处理多个客户端请求,同时由于进程资源开销较大,不适合在本地运行大量服务。

2.SSE(Server-Sent Events):主要用于远程通信服务上,这个服务本身就有在线的API。比如访问谷歌邮件,天气情况等。SSE适用于客户端和服务器不同物理位置的场景,对于分布式或远程部署的场景,基于HTTP和SSE的传输方式更为合适。配置方式也十分简单,基本上就是一个链接就行。

准备工作

在使用stdio模式前,我们应该先做好准备工作,在本地环境安装uxv和npx,分别是python和typescript编写的服务。

有python编辑器环境的话,uvx可以使用pip的方式下载。

npx需要到官网上把node进行下载,接着将node在本地的路径放进环境变量里面。

使用MPC案例

因为学习视频中的filesystem的MCP和MySQL的MCP在smithsery网站没找着,所以我为了方便测试,只测试高德地图的MCP即可。首先找到高德开放平台,进行登陆后,需要到应用管理中我的应用进行创建新应用,在新应用中添加key。

创建好key之后,就可以到你的模型里面去进行配置了

我是用的是现代化终端Warp里面的claude壳套的kimi-k2.5模型(示例)。

点击设置里的MCP server 的添加MCP功能

里面配置好高德地图提供的MCP配置模板,key就是你创建的key。

点击保存后,看看能否启动,成功启动说明配置成功。

实现效果如下

但是我途中遇到了windows的权限问题,我找到 D:\NodeJs\node_cache 文件夹将用户权限勾选勾选 “完全控制” 和 “修改”得到了解决。如果你并不是这种的现代化终端,可以就在模型的工作目录下创建setting.json来把MCP配置写进去。

MCP配置好后,我们给他发布任务后进行测试

测试结果如下:

成功创建了两个txt文件和一个十分精美的html文件,ai还是太过强大了,无法战胜。

Cline中使用MCP

cline的核心优势在于它的任务拆解能力。你给他一个复杂需求,它会自动拆分成小步骤,逐一搞定代码、数据库和API调用。MCP的加持还能让他能控制浏览器、编辑文件甚至运行终端命令,像个真正的助手。而且它还能通过MCP调用外部工具,上手后效率暴增。

在vscode中下载cline插件,配置好自己的模型。(我下的是中文版)

可以看到cline底部拥有计划模式和执行模式两种模式

不过我们得先到cline的MCP服务器进行相关配置,如图所示。

首先对计划模式进行测试。

测试内容

现在交给你几个任务,编写一个广州一日游的出行攻略。
1. 从高德地图的MCP服务中获取广州站到北京路、北京路到广州塔、广州塔到永庆坊的地铁路线。
2. 从高德地图的MCP服务中获取广州塔、永庆坊附近的美食信息,每处获取三家美食店铺信息。
3. 在工作目录 "D:\LearningCode\MCPtest" 下创建一个新的文件夹,命名为“广州旅行”在其中创建两个txt,分别将前两个任务的结果存进去。
4. 最后根据txt中的内容,生成一个精美的html前端展示页面,并存放在该目录下。
注意,你的工作背景是windows的终端,严格谨慎执行任务

执行结果如下,计划模式生成完全部步骤后,它会提醒你切换到act模式进行执行。

接下来它会自己操控终端来进行执行,这很酷。

全部完成后的效果如下:

前端html展示效果:

其实,cline这种你给他需求,它会自己生成完整的步骤然后交给执行模式去执行,本质上也是一个agent,具备“先思考再行动”的智能特征。

当然,这种模式消耗的token也会比只有执行模式的多。

MCP进一步说明

MCP的C/S架构

MCP遵循客户端-服务器架构,其中包含以下几个核心概念:

MCP 主机、MCP客户端、MCP服务器、本地资源、远程资源。

MCP主机:作为运行MCP的主应用程序,例如claude desktop、cursor、cline或AI工具,为用户提供LLM交互的接口,同时集成MCP客户端和MCP服务器。

MCP客户端:充当LLM和MCP服务器之间的桥梁,嵌入在主机程序里。主要负责接受LLM的请求,将请求转发到相应的MCP服务器,将MCP服务器的结果返回LLM。

MCP服务器:每一个MCP服务器都提供了一组特定的工具,负责从本地或远程服务中检索信息,是MCP的关键组件.与传统的API服务器不同,MCP服务器既可以部署在本地,也可以部署到远程服务器.

MCP工作流程

第一阶段:初始化阶段

  1. 启动客户端:用户启动 MCP Client
  2. 连接服务器:MCP Client 向 MCP Server 发起连接请求
  3. 确认连接:MCP Server 返回连接确认
  4. 请求可用工具列表:MCP Client 向服务器查询支持的工具有哪些
  5. 返回工具列表和描述:MCP Server 将可用工具及其功能描述返回给客户端

此阶段完成客户端与服务器的握手,并建立可用的工具清单。


第二阶段:查询处理阶段

  1. 输入查询:用户向 MCP Client 提交自然语言查询/指令
  2. 发送查询和可用工具信息:MCP Client 将用户查询 + 可用工具列表一起发送给 LLM

【工具调用循环】开始

  1. 返回响应(文本或工具调用):LLM 分析后返回两种结果之一:
    • 纯文本回复:直接回答用户问题,流程结束
    • 工具调用指令:需要调用外部工具来完成任务
  1. 执行工具调用(如果是工具调用):MCP Client 根据 LLM 的指令,向 MCP Server 发起具体的工具执行请求
  2. 返回工具执行结果:MCP Server 执行完成后,将结果返回给 MCP Client

步骤 8-10 构成一个循环(loop),LLM 可以根据工具返回的结果再次判断是否需要继续调用其他工具,直到任务完成。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐