大模型(一)什么是 MCP?如何使用 Charry Studio 集成 MCP?

目录

    • 一、什么是 MCP?
      • 1.1 🤔 开始之前的思考
      • 1.2 MCP 的定义
      • 1.3 MCP 结构
    • 二、MCP 的使用
      • 2.1 uv 的安装
      • 2.2 MCP 广场
      • 2.3 MCP 的配置
      • 2.4 MCP 的依赖安装
      • 2.5 Charry Studio
      • 2.6 测试结果

背景:

MCP 这个概念大概是 2025 年上半年火起来的,每天都活跃在我所浏览的一些文章及评论区中。突然发现我对它仅有粗略的理解,我决定深入学习并记录一下。

  • 官网地址: https://modelcontextprotocol.io/docs/getting-started/intro
  • GitHub地址:https://github.com/modelcontextprotocol

一、什么是 MCP?

1.1 🤔 开始之前的思考

在深入了解 MCP 之前,让我们先思考几个问题:

  • 🔍 你有没有试过让 ChatGPT 帮你查询数据库?
  • 🛠️ 你有没有想过让 AI助手帮你操作 Excel 文件?
  • 🌐 你有没有希望 AI 能够调用你公司内部的 API?

如果答案是 “有”,那么你很可能遇到了这样的困扰:AI模型很聪明,但它无法直接操作外部工具

1.2 MCP 的定义

MCP(Model Context Protocol),即 “模型上下文协议”,是一个开放、标准化的协议,由 Claude 的母公司 Anthropic 于 2024 年底开元发布的。简单来说,MCP 就是 AI 大模型的标准化工具箱,大模型可以利用这些工具与外界互动、获取信息并且完成具体任务(就像 USB-C 让不同设备能够通过相同的接口连接一样)。MCP 的目标是创建一个通用标准,使 AI 应用程序的开发和集成变得更加简单和统一。

从上图可以看出,MCP 就是以更标准的方式让 LLM Chat 使用不同工具。

1.3 MCP 结构

MCP 由三个核心组件构成:HostClientServer。让我们通过一个实际场景来理解这些组件如何协同工作:

  1. Host:Claude Desktop 作为 Host,负责接收你的提问并与 Claude 模型交互。
  2. Client:当 Claude 模型决定需要访问你的文件系统时,Host 中内置的 MCP Client 会被激活。这个 Client 负责与适当的 MCP Server 建立连接。
  3. Server:在这个例子中,文件系统 MCP Server 会被调用。它负责执行实际的文件扫描操作,作为你的桌面目录,并返回找到的文档列表。

整个流程是这样的:

这种架构设计使得 Claude 可以在不同场景下灵活调用各种工具和资源,而开发者只需专注于开发对应的 MCP Server,无需关心 Host 和 Client 的实现细节。


二、MCP 的使用

下面我们通过一个简单的例子来深入了解 MCP。

2.1 uv 的安装

uv 是一款高性能的 Python 包管理工具,可以提供比传统 pip 更快的包安装和依赖管理体验。

  • uv 官网: https://docs.astral.sh/uv/

在使用 MCP 之前,我们需要先安装 uv ,大家可以使用如下命令检查电脑上是否安装了:

uv --version
  • 如果提示 uv 命令不存在,则需要安装。
  • 如果出现了 uv 的版本号,则说明已安装,如下所示:

如果未安装 uv,我们可以使用如下命令进行安装:

# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

确保 uv 安装完毕之后,我们需要使用如下命令创建虚拟空间:

# 创建虚拟环境并激活
uv venv

虚拟空间创建完毕之后,就可以去 MCP 广场挑选我们需要的 MCP 工具了。

2.2 MCP 广场

跟大家推荐两个常用的 MCP 广场:

  • ModelScope MCP 广场: https://modelscope.cn/mcp
  • 阿里云百炼 MCP 广场: https://bailian.console.aliyun.com/?spm=a2c6h.12873639.article-detail.11.6cbb563fdn0kGe&tab=mcp#/mcp-market

这里我们使用 ModelScope MCP 广场,在搜索框中输入 mysql 搜索,点击下面搜索到的 MySQL MCP 服务器,如下图所示:

2.3 MCP 的配置

其实 MCP 配置采用的是 键值对 模式,其中:

  • key插件名称
  • value 是插件的 执行命令参数个性化配置 等。

在 MCP 广场的插件详情页面,我们可以在右侧看到在 uv 下的配置文件,如下图所示:

页面中的 mcpServers 就是我们的大模型配置对象,对象下面的各个属性就代表了不同的插件。所以我们需要的部分为 mcpServers 对象下的 mysql 对象部分,这部分才是插件的内容。

2.4 MCP 的依赖安装

很多新手接触 MCP 的一大误区在于认为在 JSON 文件里面配置好了 MCP 之后,大模型就会自动下载 MCP 的依赖包(就像我们 IDE 里面的插件一样),其实并不是!!

我们需要手动安装 MCP 的依赖包,一般安装方法会直接在 MCP 服务器的详情页面说明,如下所示:

如果电脑上没有 pip 命令,我们可以在前面使用 uv,如下所示:

uv pip install mysql-mcp-server

安装之后,需要再根据具体 MCP 服务器的需要进行相关环境变量的配置。(如果我们已经在 MCP 配置里面指定了具体的变量值,就不需要环境变量了,如下图所示)

2.5 Charry Studio

这里我们以 Charry Studio 为例,具体说明 MCP 的使用。Charry Studio 是目前市面上最流行的 大模型 工具,免费开源,内部还可以集成各种 MCP 和大模型 API,推荐大家用一下,具体下载地址如下:

  • Charry Studio 官网下载: https://www.cherry-ai.com/download

下载安装完 Charry Studio 之后,我们打开页面,在点击右上角的设置:

我们点击 +添加服务器

选择 从 JSON 导入

将如下内容,复制粘贴到框内,点击确定即可。

(具体的 mysql_mcp_server 安装路径和数据库信息需要根据个人情况修改。)

{"mcpServers": {"mysql": {"args": ["--directory","/Users/acgkaka/.venv/bin","run","mysql_mcp_server"],"command": "uv","env": {"MYSQL_HOST": "localhost","MYSQL_PORT": "3306","MYSQL_USER": "root","MYSQL_PASSWORD": "12345678","MYSQL_DATABASE": "my_db"}}}
}

可以看到我们的 MCP 服务器已经添加成功了,我们可以点击右上角的开关进行打开。

(打开时会检测 MySQL 数据库的连接信息,如果连接失败会无法打开)

打开成功之后,如下所示:

2.6 测试结果

做好以上步骤之后,我们就可以在大模型里面使用了。

我们先在 Charry Studio 中配置好自己的大模型 API Key,例如我这里使用的是 DeepSeek,点击 点击这里获取密钥,会自动打开 DeepSeek 的页面。

  • Deep Seek API Key地址: https://platform.deepseek.com/api_keys

由于 Deep Seek API Key 只有在第一次创建的时候才能看到,我们这里可以先创建一个。

创建好之后,将 API Key 复制到 Charry Studio 中就可以正常使用了。

例如我们让 DeepSeek 帮我们查询一下 数据库中表的数据,大模型会自动调用 MCP 服务器去查询数据库,生成相应的 SQL,然后执行之后得到数量为 174 的结果。

到这里你已经学会如何使用 MCP 了,赶紧去 MCP 广场看看有没有可以解决你痛点的 MCP 工具吧~

整理完毕,完结撒花~🌻





参考地址:

1.MCP (Model Context Protocol),一篇就够了。https://zhuanlan.zhihu.com/p/29001189476

2.模型上下文协议——MCP,https://mcp.meetcoding.cn/

3.MCP是啥?技术原理是什么?一个视频搞懂MCP的一切。Windows系统配置MCP,Cursor Cline使用MCP,https://www.bilibili.com/video/BV1AnQNYxEsy/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96864.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

源码导航页

一、Python捕捉动作发送到Unity驱动模型跟着动(获取源码) 二、AI输入法源码(获取源码) 三、Java企业级后台管理系统-登录授权角色菜单(获取源码) 四、Jetson实现纯视觉导航(获取源码&#xff09…

HTTP/2 性能提升的核心原因

一、协议架构优化‌‌二进制分帧(Binary Framing)‌HTTP/2 将传统文本格式的报文(如请求头、数据体)拆分为独立的二进制帧(Frame),每个帧包含流标识符(Stream ID)&#x…

vulnhub-billu_b0x靶机渗透

一、靶场详情 Billu_b0x 是 Vulnhub 上的经典中等难度靶机,主要考察从信息收集到提权的完整渗透流程:先通过端口和目录扫描发现网站入口,利用 SQL 注入或文件包含进入后台并上传 WebShell,再通过反弹 Shell 获取低权限用户&#…

C# 相机内存复用(减少图像采集耗时)以及行数复用

背景我们在做图像处理时,都会对一些相机的SDK进行开发完成图像采集的操作,为后续图像处理做准备。本文主要的目的是降低图像采集的耗时,应用在一些高速检测的场景下。利用循环队列内存复用的方式,去掉或者减少新建内存的时间。线扫…

MTK Linux DRM分析(十三)- Mediatek KMS实现mtk_drm_drv.c(Part.1)

一、简介 MediaTek (MTK) 的DRM驱动(基于mtk_drm_drv.c)是为MediaTek SoC(如MT6985、MT6895等)设计的显示子系统(Display Subsystem)驱动程序。它实现了Linux DRM/KMS框架,支持多CRTC、多平面(plane)、连接器(connector)和编码器(encoder)的显示管道。驱动处理硬…

Wireshark笔记-DHCP流程与数据包解析

背景DHCP从大学上网络课时就开始知道了,当时只知道,能让计算机上网,要不就静态配IP,要不就DHCP获取,就能上网。2021年时,毕业好几年了,想学习下网络知识,就准备考一个软考网工。按要…

Coze用户账号设置修改用户头像-前端源码

概述 Coze Studio的用户头像修改功能是用户账号设置中的重要组成部分,允许用户上传和更新个人头像。本文将深入分析该功能的前端实现,包括组件架构、文件上传处理、API设计和用户体验优化等方面。 技术架构 整体架构设计 Coze Studio采用现代化的前端架构…

新手Github提交PR(Pull requests)详细教程

一、什么是Pull requests? Pull Requests(PR)是代码协作平台(如 GitHub、GitLab 等)中的一种功能,用于提议将某分支的代码变更合并到另一个分支(通常是主分支)。它允许开发者在合并…

本地通过跳板机连接无公网IP的内网服务器

本地环境:SSH client 堡垒机:有公网IP,有连接内网服务器的秘钥 SSH配置: Host jmsHostName [堡垒机的公网IP]Port 22User rootIdentityFile ~/.ssh/id_rsaHost appHostName 10.0.0.14Port 22User rootIdentityFile ~/.ssh/svc-p…

B树,B+树,B*树

下面我们来详细讲解一下 B树、B树、B*树 这三种非常重要的多路平衡查找树。它们在数据库和文件系统中有着极其广泛的应用。一、为什么需要这些树结构?在开始之前,我们先思考一个问题:为什么已经有了二叉搜索树(BST)、A…

汽车零部件工厂ESOP系统工业一体机如何选型

在汽车零部件工厂的生产管理中,ESOP 系统发挥着至关重要的作用。而工业一体机作为 ESOP 系统的关键硬件支撑,其选型的合理性直接关系到生产效率的提升、生产过程的精准控制以及生产数据的可靠采集与分析。因此,为汽车零部件工厂选择一款适合的…

​维基框架 (Wiki Framework) 1.1.0 版本发布​ 提供多模型AI辅助开发

介绍 多模型AI辅助开发​ 维基框架1.1.0集成了主流AI引擎的统一接口,支持开发者按需调用不同模型的优势能力: ​DeepSeek​:专注代码生成与重构,擅长复杂业务逻辑实现 ​ChatGPT​:多模态推理能力,适用于…

LabVIEW调用MATLAB 的分形生成

LabVIEW 调用 MATLAB,可借前者可视化流程与硬件交互优势,结合后者强数值计算、算法能力,复用成熟算法提速开发,还能灵活改代码。但需匹配版本、装运行环境,数据传递有性能损耗,脚本出错需跨软件调试。​优点…

ubuntu20.04开发ros2,使用docker安装部署的详细教程

学习docker的教程:可以直接在菜鸟教程上学习即可阶段 0:系统检查| 内容 | 建议 | |------|------| | 操作系统 | Ubuntu 22.04(与 ROS2 Humble 最匹配) | | 用户权限 | 能执行 sudo |🧩 阶段 1:在 Ubuntu 上…

SQL Server缩小日志文件.ldf的方法(适用于开发环境)

SQL Server缩小日志文件.ldf的方法(适用于开发环境) 核心概念:为什么日志文件会变大? 首先,理解原因至关重要。事务日志文件在以下情况下会增长: 大量操作:执行了大批量插入、更新或删除操作&am…

2.3零基础玩转uni-app轮播图:从入门到精通 (咸虾米总结)

还在uni-app中的轮播图组件头疼吗?看完这篇,让你轻松掌握swiper的所有秘密!轮播图的重要性 在现代移动应用开发中,轮播图(Swiper)已成为展示焦点内容、广告推广和产品展示的首选组件。无论是电商平台的商品…

FPGA学习笔记——AHT20温湿度读取并在串口显示(IIC协议)

目录 一、任务 二、分析 1.需要了解的 2.需要用到的模块 3.流程分析 三、Visio图 四、代码 五、实验现象 一、任务 使用IIC协议通信的AHT20,将温湿度数据读取出来,并在串口助手上显示。 二、分析 1.需要了解的 需要了解IIC协议简介 也可以看看E…

Pycharm SSH连接

添加远程服务器文件——>设置——>项目下的Python解释器——>添加解释器——>SSH在弹出的弹窗中,输入远程的主机、端口和用户名、一直下一步,得到如下图所示的结果:选择Conda 环境:第一步选择Conda环境;第…

c# 读取xml文件内的数据

好多大型的项目&#xff0c;把一些固定的参数都存在 xml文件里。创建c# winfom 项目&#xff0c;test_xml创建resources文件夹存放xml文件创建parameters.xml文件<root><test_xml><param name "threshold" value "128"/><param name …

Legion Y7000P IRX9 DriveList

Legion Y7000P IRX9 DriveList 联想Y7000P驱动列表 驱动列表 intelwlan-TYY5057FK6MQBRF0.exe NVVGA-TYY5057F3M0H9RF0.exe RTKwlan-TYY5077FFSNECRF0.exe audio-TYY5057F4N1JARF0.exe chipset-TYY5037FB10X3RF0.exe hdr-TYY5027FXNF9AWF0.exe intelVGA-TYY5057F5R9J7RF…