链载Ai

标题: 速来围观!vs code cline 联手 MCP-server,解锁大模型万物互联新玩法! [打印本页]

作者: 链载Ai    时间: 8 小时前
标题: 速来围观!vs code cline 联手 MCP-server,解锁大模型万物互联新玩法!


1.前言

什么是MCP-server?MCP-server(模型上下文协议服务器)是一种遵循Model Context Protocol (MCP)的标准化服务,旨在为大型语言模型(LLM)提供安全访问本地或远程资源的能力,从而扩展AI的功能。以下是其核心要点:

1.基本定义与架构

2.核心功能

3.工作流程

  1. 初始化连接:Client向Server发送请求,建立通信通道。

  2. 能力协商:Server返回支持的工具和资源列表。

  3. 请求处理:Client发送具体操作请求(如查询数据库),Server执行后返回结果。

  4. 安全控制:需用户授权敏感操作,确保数据隔离和权限管理。

4.典型应用场景

5.与类似技术的对比

MCP-server作为连接AI模型与真实世界的桥梁,通过统一协议和安全设计,使LLM能够灵活、安全地调用外部能力,推动AI应用向更深层次的实用化发展。开发者可通过丰富的工具链快速构建自定义服务,而用户则能通过标准化接口享受更智能的交互体验。

目前已经支持的MCP-clients 有下面这些工具组件

image-20250302114110553

今天就带大家使用vs code+cline 实现MCP-server 来讲解一下如何实现大模型+MCP 实现万物互联。

2.工具介绍

本地演示我们用了如下几个工具

VSCode

微软免费的代码开发工具,下载地址https://code.visualstudio.com/

image-20250302114625004

建议使用最新的版本1.97.2

image-20250302114718680

cline

一款集成于VS Code开源AI编程助手,通过大模型(如Claude 3.5、GPT)生成代码,自动修复语法和逻辑错误。

可以在VS Code插件市场上安装,目前最新版本3.5.0

image-20250302115116696

Navicat Premium

Navicat Premium 是一款功能强大的数据库管理工具。目前这个软件是收费的,目前可以有14天试用期。关于这个工具我们这里就不详细展开了。

nodejs

Node.js 是一个基于 Chrome V8 JavaScript 引擎构建的开源、跨平台的 JavaScript 运行环境,它使 JavaScript 可以在服务器端运行,极大地拓展了 JavaScript 的应用场景。如果你电脑上没有安装这个nodejs 需要把这个软件安装。下载地址https://nodejs.org/zh-cn/download

image-20250302121418459

下载上面windows 版本,安装即可,这里就不详细展开。 安装好后参考上面的额命令保证你命令行能显示node-v npm -v 版本显示成功

image-20250302121539812

image-20250302121553021

3.MCP-server 安装和使用

目前已经有好几个网站收集整理了MCP-server,给大家介绍一下这个网站https://www.pulsemcp.com/目前这个网站已经收集到1300MCP-server,而且每天都有增加。

image-20250302115604913

这个网站上有很多MCP-server,比如排名靠前的 Filesystem 它提供通过受控的API读取,编写和操纵本地文件。说白了就是通过大模型可以操控本地文档。

另外还有很多其他的MCP-server 这里我们就不详细展开,下面给大家介绍2个MCP-server 在cline中使用和安装。

1.sleep-mcp

这个sleep功能非常简单和上手,主要功能是大模型调用远程执行时间长的时候可以调用这个组件实现sleep.

我们打开cline,配置好模型厂商API key.目前cline 提供如下几个厂商

image-20250302120044135

这里我们选择openrouter,主要是因为 openrouter提供部分免费和收费的模型。而且国内网络访问它也没有限制。通过它可以使用免费的google gemini.

我们知道google gemini提供免费的gemini2 系列模型,模型能力非常强、模型上下文分成大达到1M,另外最主要是免费。

如果大家没有https://openrouter.ai 可以去网站上开通注册一个。我记得好像QQ邮箱就可以注册一个,然后生成免费的api key 这里关于这个网站注册 创建apikey就不带大家展示了。

选定模型厂商、输入模型key,选择好模型cline 就可以使用了。

image-20250302120553736

目前cline 在3.4.0版本上线了MCP-server 插件市场。点击“+” 号旁边插件市场打开MCP-server 插件市场

image-20250302120811377

这里列举了非常多的插件和分类,有浏览器自动化的、数据库的、开发工具的

image-20250302120947064

大家根据自己的需要安装MCP-server . 我们给大家先安装一个sleep-mcp

点击sleep install

image-20250302121740088

cline 会调用大模型自动给你安装。

image-20250302121850674

模型会提示你是否创建生成这个文件夹,点击 run command

image-20250302121937226

模型会提示你是否通过git clone 下载这个代码到C:\Users\Administrator\Documents\Cline\MCP\sleep-mcp 模型下。我们同样点击 run command

这里需要注意的是有的小伙伴电脑上网络可能会受到限制访问https://github.com/Garoth/sleep-mcp.git 访问不了。 如果遇到这问题可以手工下载放到这个目录下。

image-20250302122205221

复制代码到

image-20250302122242264

如果网络没有问题 点击 run command 提示下载的程序使用npm install 命令安装这个代码

image-20250302122319656

image-20250302122425213

安装完成后,会提示你把安装路径写到 cline_mcp_settings.json

image-20250302122550837

image-20250302122639010

点击保存按钮完成设置。返回测试结果 这样我们就确保这个mcp server 组件安装成功

image-20250302122713060

image-20250302122808446

安装完成后,我们可以在 install 查看到显示绿色

image-20250302122915523

image-20250302122932879

这样就按照成功了。

通过上述方法,我们成功完成了一个最简单的 MCP Server 的安装。需要注意的是,不同的 MCP Server 在安装过程中可能会存在一些差异。此外,软件所依赖的第三方软件是否受到网络环境的限制,也会对不同 MCP Server 的安装方法产生影响,从而造成安装上的差异。大家可以依据实际情况进行判断。

2.mysql

目前,通过 marketplace 中的 MCP Server 市场来安装 cline 相关组件相对较为简便,借助大语言模型对话就能完成组件的安装。不过,这个市场的更新可能不太及时。在我使用 MySQL 的过程中,发现市场里并没有针对 MySQL 的 MCP Server。但在https://www.pulsemcp.com/servers?q=mysql这个网站上是可以找到相关内容的。接下来,我们就为大家介绍如何通过手工方式将 MySQL MCP Server 整合到 cline 中。

首选我们需要在mcp server 市场上找到mysql mcp server对于开源项目地址,搜索到后点击链接

image-20250302133140570

点击地址https://github.com/designcomputer/mysql_mcp_server

image-20250302133236928

文档的下面有安装的说明,我们简单解读一下

第一步安装mysql-mcp-server 组件包

我们需要使用pip 安装 mysql-mcp-server 组件包, 这个代码是python 写的所以我们需要pip 依赖包安装。我们在cmd窗口中执行

pipinstallmysql-mcp-server-ihttps://pypi.tuna.tsinghua.edu.cn/simple/

image-20250302133447019

安装完成后,我们在windows cmd 命令行窗口输入

pipshowmysql-mcp-server

image-20250302133907505

确保这个组件安装完成。

第二步安装数据库及SQL 脚本

我们使用Navicat Premium 创建数据库student_score,执行如下脚本

student_score.sql

-- 创建学生表
CREATETABLEstudents(
student_idINTPRIMARYKEY,
student_nameVARCHAR(50)NOTNULL,
genderCHAR(1),
class_nameVARCHAR(20),
admission_dateDATE
);

-- 创建课程表
CREATETABLEcourses(
course_idINTPRIMARYKEY,
course_nameVARCHAR(50)NOTNULL,
creditDECIMAL(3,1)
);

-- 创建成绩表
CREATETABLEscores(
score_idINTPRIMARYKEY,
student_idINT,
course_idINT,
scoreDECIMAL(5,2),
exam_dateDATE,
FOREIGNKEY(student_id)REFERENCESstudents(student_id),
FOREIGNKEY(course_id)REFERENCEScourses(course_id)
);

-- 插入测试数据
-- 1. 插入学生数据
INSERTINTOstudents(student_id,student_name,gender,class_name,admission_date)VALUES
(1001,'张三','M','高一(1)班','2023-09-01'),
(1002,'李四','F','高一(1)班','2023-09-01'),
(1003,'王五','M','高一(2)班','2023-09-01'),
(1004,'赵六','F','高一(2)班','2023-09-01'),
(1005,'孙七','M','高一(3)班','2023-09-01');

-- 2. 插入课程数据
INSERTINTOcourses(course_id,course_name,credit)VALUES
(1,'语文',4.0),
(2,'数学',4.0),
(3,'英语',4.0),
(4,'物理',3.0),
(5,'化学',3.0);

-- 3. 插入成绩数据
INSERTINTOscores(score_id,student_id,course_id,score,exam_date)VALUES
(1,1001,1,85.5,'2023-12-20'),
(2,1001,2,92.0,'2023-12-20'),
(3,1001,3,78.5,'2023-12-20'),
(4,1002,1,88.0,'2023-12-20'),
(5,1002,2,95.5,'2023-12-20'),
(6,1002,3,90.0,'2023-12-20'),
(7,1003,1,82.5,'2023-12-20'),
(8,1003,2,86.0,'2023-12-20'),
(9,1003,3,75.5,'2023-12-20'),
(10,1004,1,91.0,'2023-12-20'),
(11,1004,2,89.5,'2023-12-20'),
(12,1004,3,94.0,'2023-12-20'),
(13,1005,1,87.5,'2023-12-20'),
(14,1005,2,88.0,'2023-12-20'),
(15,1005,3,85.5,'2023-12-20');

-- 一些常用查询示例
-- 1. 查询某个学生的所有成绩
SELECTs.student_name,c.course_name,sc.score
FROMstudents s
JOINscores scONs.student_id=sc.student_id
JOINcourses cONsc.course_id=c.course_id
WHEREs.student_id=1001;

-- 2. 查询某个班级的平均成绩
SELECTs.class_name,c.course_name,AVG(sc.score)asavg_score
FROMstudents s
JOINscores scONs.student_id=sc.student_id
JOINcourses cONsc.course_id=c.course_id
GROUPBYs.class_name,c.course_name;

-- 3. 查询各科成绩排名前三的学生
WITHRankedScoresAS(
SELECT
c.course_name,
s.student_name,
sc.score,
RANK()OVER(PARTITIONBYc.course_idORDERBYsc.scoreDESC)asstudent_rank
FROMscores sc
JOINstudents sONsc.student_id=s.student_id
JOINcourses cONsc.course_id=c.course_id
)
SELECT*FROMRankedScoresWHEREstudent_rank<=3;

image-20250302134408222

数据库脚本执行完成后,数据库有3个表 分别是students、courses、scores

image-20250302134440799

接下来我们需要记事本记录下数据库连接信息 :

MYSQL_HOST=localhost  # Database host
MYSQL_PORT=3306 # Optional: Database port (defaults to 3306 if not specified)
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database

image-20250302134635528

第三步cline 手工安装mysql-mcp-server 组件包

我们打开cline mcp server 点击 configure mcp servers

image-20250302135018259

复制下面的代码

 "mysql": {
"command":"uv",
"args": [
"run",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST":"192.168.1.5",
"MYSQL_PORT":"3306",
"MYSQL_USER":"root",
"MYSQL_PASSWORD":"xxxxxx",
"MYSQL_DATABASE":"student_score"
},
"disabled":false,
"autoApprove": []
},

到cline_mcp_settings.json 里面,关于cline_mcp_settings.json 我的目录在C:\Users\Administrator\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings文件夹下

image-20250302135344289


以上就是我添加完成的效果,大家可以发现上面的sleep-mcp 就在mysql 安装的下面。大家知道原理后手工复制也是可以实现mcp server安装的。

这里我们需要用的uv command 命令来执行。 那么什么是uv 呢?

uv 一个非常快速的Python软件包管理工具,使用rust写的一种替代PIP,PIP-Tools,Pipx,Poetry,Pyenv,Twine,Virtualenv等的一种工具文档地址https://docs.astral.sh/uv/github地址https://github.com/astral-sh/uv

image-20250302135736673

简单来说它就是个包管理器,我们可以使用pip install uv 安装

pipinstalluv-ihttps://pypi.tuna.tsinghua.edu.cn/simple/

image-20250302135914727

确保电脑上有uv 运行环境,这样他们就可以执行command 命令了。

以上配置完成后我们就可在cline 聊天对话形式测试它的可用性了。

image-20250302140051055

出现上面绿色 说明这个组件和我们数据库已经实现连接了。

第四步验证测试

我们在cline聊天对话中输入内容,先让大模型告诉我这个数据库有哪些表。

image-20250302140256356

测试返回image-20250302140316123

显示3个表 和我们上面的 数据库表对应上

image-20250302140347637

通过上面我们已经实现了cline +mysql-mcp-server+大模型实现数据库连接了。接下来我在问几个问题

image-20250302140645834

image-20250302140701165

上面生成的SQL 语句查询返回的结果。

生成的sql 语句

{
"query": "SELECT s.student_name, c.course_name, sc.score FROM students s JOIN scores sc ON s.student_id = sc.student_id JOIN courses c ON sc.course_id = c.course_id WHERE s.student_name = '张三' AND c.course_name IN ('语文', '数学', '英语')"
}

image-20250302141000977

数据库执行的语句和返回也一致的。 也就是我们通过自然语音的形式也能帮我生成SQL 语句甚至查询都不用我查询,直接把我的的查询结果给我返回了。

这也太爽了,数据库开发工程是估计也要偷着乐了,又可以提早下班了。


总结

今天主要带大家深入了解了使用 vs code + cline 实现 MCP - server 来讲解如何实现大模型 + MCP 实现万物互联的相关内容。包括核心要点、工作流程等,还对比了类似技术。随后介绍演示所用工具如 VSCode、cline 等。最后讲 MCP - server 安装使用,推荐网站,着重讲 sleep - mcp和mysql-mcp-server 2个mcp-server安装过程。测试下来感觉这个东西非常强大,感兴趣的下伙伴也可以去尝试。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5