1.前言什么是MCP-server?MCP-server(模型上下文协议服务器)是一种遵循Model Context Protocol (MCP)的标准化服务,旨在为大型语言模型(LLM)提供安全访问本地或远程资源的能力,从而扩展AI的功能。以下是其核心要点: 1.基本定义与架构2.核心功能资源访问:允许LLM读取本地文件、数据库(如SQLite、iMessage)或远程API(如GitHub、Google Drive)。 工具调用:提供预定义工具(如执行脚本、浏览器自动化、金融数据查询),类比于GPTs的Action功能。 提示管理:通过标准化的提示模板指导LLM完成任务,例如生成代码或分析数据。
3.工作流程初始化连接:Client向Server发送请求,建立通信通道。 能力协商:Server返回支持的工具和资源列表。 请求处理:Client发送具体操作请求(如查询数据库),Server执行后返回结果。 安全控制:需用户授权敏感操作,确保数据隔离和权限管理。
4.典型应用场景本地资源集成:访问文件系统、iMessage数据库、执行本地命令。 云服务交互:集成Cloudflare Workers、GitHub API、Salesforce等平台。 自动化任务:浏览器自动化(通过Playwright)、数据分析、实时监控
5.与类似技术的对比MCP-server作为连接AI模型与真实世界的桥梁,通过统一协议和安全设计,使LLM能够灵活、安全地调用外部能力,推动AI应用向更深层次的实用化发展。开发者可通过丰富的工具链快速构建自定义服务,而用户则能通过标准化接口享受更智能的交互体验。 目前已经支持的MCP-clients 有下面这些工具组件 
今天就带大家使用vs code+cline 实现MCP-server 来讲解一下如何实现大模型+MCP 实现万物互联。 2.工具介绍本地演示我们用了如下几个工具 VSCode 微软免费的代码开发工具,下载地址https://code.visualstudio.com/ 
建议使用最新的版本1.97.2 
cline 一款集成于VS Code的开源AI编程助手,通过大模型(如Claude 3.5、GPT)生成代码,自动修复语法和逻辑错误。 可以在VS Code插件市场上安装,目前最新版本3.5.0 
Navicat PremiumNavicat Premium 是一款功能强大的数据库管理工具。目前这个软件是收费的,目前可以有14天试用期。关于这个工具我们这里就不详细展开了。 nodejsNode.js 是一个基于 Chrome V8 JavaScript 引擎构建的开源、跨平台的 JavaScript 运行环境,它使 JavaScript 可以在服务器端运行,极大地拓展了 JavaScript 的应用场景。如果你电脑上没有安装这个nodejs 需要把这个软件安装。下载地址https://nodejs.org/zh-cn/download 
下载上面windows 版本,安装即可,这里就不详细展开。 安装好后参考上面的额命令保证你命令行能显示node-v npm -v 版本显示成功 

3.MCP-server 安装和使用目前已经有好几个网站收集整理了MCP-server,给大家介绍一下这个网站https://www.pulsemcp.com/目前这个网站已经收集到1300MCP-server,而且每天都有增加。 
这个网站上有很多MCP-server,比如排名靠前的 Filesystem 它提供通过受控的API读取,编写和操纵本地文件。说白了就是通过大模型可以操控本地文档。 另外还有很多其他的MCP-server 这里我们就不详细展开,下面给大家介绍2个MCP-server 在cline中使用和安装。 1.sleep-mcp这个sleep功能非常简单和上手,主要功能是大模型调用远程执行时间长的时候可以调用这个组件实现sleep. 我们打开cline,配置好模型厂商API key.目前cline 提供如下几个厂商 
这里我们选择openrouter,主要是因为 openrouter提供部分免费和收费的模型。而且国内网络访问它也没有限制。通过它可以使用免费的google gemini. 我们知道google gemini提供免费的gemini2 系列模型,模型能力非常强、模型上下文分成大达到1M,另外最主要是免费。 如果大家没有https://openrouter.ai 可以去网站上开通注册一个。我记得好像QQ邮箱就可以注册一个,然后生成免费的api key 这里关于这个网站注册 创建apikey就不带大家展示了。 选定模型厂商、输入模型key,选择好模型cline 就可以使用了。 
目前cline 在3.4.0版本上线了MCP-server 插件市场。点击“+” 号旁边插件市场打开MCP-server 插件市场 
这里列举了非常多的插件和分类,有浏览器自动化的、数据库的、开发工具的 
大家根据自己的需要安装MCP-server . 我们给大家先安装一个sleep-mcp 点击sleep install 
cline 会调用大模型自动给你安装。 
模型会提示你是否创建生成这个文件夹,点击 run command 
模型会提示你是否通过git clone 下载这个代码到C:\Users\Administrator\Documents\Cline\MCP\sleep-mcp 模型下。我们同样点击 run command 这里需要注意的是有的小伙伴电脑上网络可能会受到限制访问https://github.com/Garoth/sleep-mcp.git 访问不了。 如果遇到这问题可以手工下载放到这个目录下。 
复制代码到 
如果网络没有问题 点击 run command 提示下载的程序使用npm install 命令安装这个代码 

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

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

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

这样就按照成功了。 通过上述方法,我们成功完成了一个最简单的 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对于开源项目地址,搜索到后点击链接 
点击地址https://github.com/designcomputer/mysql_mcp_server 
文档的下面有安装的说明,我们简单解读一下 第一步安装mysql-mcp-server 组件包我们需要使用pip 安装 mysql-mcp-server 组件包, 这个代码是python 写的所以我们需要pip 依赖包安装。我们在cmd窗口中执行 pipinstallmysql-mcp-server-ihttps://pypi.tuna.tsinghua.edu.cn/simple/ 
安装完成后,我们在windows cmd 命令行窗口输入 pipshowmysql-mcp-server 
确保这个组件安装完成。 第二步安装数据库及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; 
数据库脚本执行完成后,数据库有3个表 分别是students、courses、scores 
接下来我们需要记事本记录下数据库连接信息 : 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 
第三步cline 手工安装mysql-mcp-server 组件包我们打开cline mcp server 点击 configure mcp servers 
复制下面的代码 "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文件夹下 
以上就是我添加完成的效果,大家可以发现上面的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 
简单来说它就是个包管理器,我们可以使用pip install uv 安装 pipinstalluv-ihttps://pypi.tuna.tsinghua.edu.cn/simple/ 
确保电脑上有uv 运行环境,这样他们就可以执行command 命令了。 以上配置完成后我们就可在cline 聊天对话形式测试它的可用性了。 
出现上面绿色 说明这个组件和我们数据库已经实现连接了。 第四步验证测试我们在cline聊天对话中输入内容,先让大模型告诉我这个数据库有哪些表。 
测试返回 显示3个表 和我们上面的 数据库表对应上 
通过上面我们已经实现了cline +mysql-mcp-server+大模型实现数据库连接了。接下来我在问几个问题 

上面生成的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 ('语文', '数学', '英语')" }
数据库执行的语句和返回也一致的。 也就是我们通过自然语音的形式也能帮我生成SQL 语句甚至查询都不用我查询,直接把我的的查询结果给我返回了。 这也太爽了,数据库开发工程是估计也要偷着乐了,又可以提早下班了。
总结今天主要带大家深入了解了使用 vs code + cline 实现 MCP - server 来讲解如何实现大模型 + MCP 实现万物互联的相关内容。包括核心要点、工作流程等,还对比了类似技术。随后介绍演示所用工具如 VSCode、cline 等。最后讲 MCP - server 安装使用,推荐网站,着重讲 sleep - mcp和mysql-mcp-server 2个mcp-server安装过程。测试下来感觉这个东西非常强大,感兴趣的下伙伴也可以去尝试。 |