当前位置: 首页 > news >正文

大模型(一)什么是 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.xdnf.cn/news/1366345.html

相关文章:

  • 深分页实战
  • 计算机网络:HTTP、抓包、TCP和UDP报文及重要概念
  • GPT5的Test-time compute(测试时计算)是什么?
  • Legion Y7000P IRX9 DriveList
  • HTTP 与 HTTPS 深度解析:从原理到实际应用
  • 链表OJ习题(1)
  • 1. 并发产生背景 并发解决原理
  • pytest 并发执行用例(基于受限的测试资源)
  • 现代C++工具链实战:CMake + Conan + vcpkg依赖管理
  • week4-[一维数组]数码个数
  • k8s笔记02概述
  • C++|UDP通讯使用总结
  • HTML应用指南:利用GET请求获取MSN 天气数据并可视化
  • [系统架构设计师]应用数学(二十一)
  • list容器的使用
  • GNN:用MPNN(消息传递神经网络)落地最短路径问题模型训练全流程
  • 用 GSAP + ScrollTrigger 打造沉浸式视频滚动动画
  • 【Day 33】Linux-Mysql日志
  • DDR3入门系列(二)------DDR3硬件电路及Xilinx MIG IP核介绍
  • linux 正则表达式学习
  • 使用 gemini 来分析 github 项目
  • 安卓11 12系统修改定制化_____修改固件 默认给指定内置应用系统级权限
  • 大模型的思考方式
  • Java全栈开发实战:从Spring Boot到Vue3的项目实践
  • ZKmall开源商城多端兼容实践:鸿蒙、iOS、安卓全平台适配的技术路径
  • 8.25作业
  • [MH22D3开发笔记]2. SPI,QSPI速度究竟能跑多快,双屏系统的理想选择
  • Linux笔记9——shell编程基础-3
  • Tesseract OCR之页面布局分析
  • Linux系统的网络管理(一)