掘金 人工智能 前天 11:03
都说MCP牛B,牛刀小试了一下,代码案例自取
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文旨在通过一个Java版的MCP(Model Control Protocol)项目,帮助读者深入理解MCP协议。文章介绍了MCP协议的核心概念,包括客户端、服务端和主机,并详细阐述了MCP的运行原理。通过一个基于SpringBoot的实战案例,演示了如何利用MCP实现大模型与本地应用的交互,例如获取天气预报并写入本地文件。文章还提供了代码仓库地址,方便读者进行学习和实践。

💻 MCP核心组成:MCP协议主要由三部分构成:客户端(内置于MCP hosts,负责与MCP server建立连接)、服务端(提供各种服务,如天气预报等)和主机(用户与大模型交互的界面,如IDE或工具)。

⚙️ 实战案例:通过SpringBoot技术栈开发两个应用,一个用于获取天气预报,另一个用于将天气数据写入本地txt文件并打开。这展示了MCP如何实现大模型与本地服务的交互。

🛠️ 准备工作:文章强调了准备工作的重要性,包括配置Cline插件(用于与大模型交互)、选择大模型厂商(如硅基流动),以及配置MCP-server(包括SpringBoot应用的导入和打包)。

💡 实战效果:通过在大模型端输入指令,大模型能够调用本地的MCP-server应用,实现获取天气预报、写入文件和打开文件的操作,展示了MCP的核心功能。

📚 代码获取:文章提供了MCP项目的源代码链接,方便读者下载、学习和实践,从而更好地理解MCP协议的实现细节。

在本文中,我们将实现一个Java版的MCP项目,通过这个项目来理解MCP协议。用到的代码会在下文中提供代码仓库地址,大家可以直接下载进行学习。

前言

目前大模型能做的就是你在框框里问他问题,他给你答案。但是现在我们希望在框框里提一些需求,大模型去帮你执行一些操作,比如去查天气预报,去打开你电脑上的浏览器等等这种涉及操作交互的行为。MCP的出现就是为了实现这种操作交互行为。

这就需要用到一个协议:MCP!通过MCP这个接头,我们可以实现让大模型进入软件,操作软件帮助我们干活!

MCP运行原理

在我看来,当前MCP分为三个部分:

MCP的实战案例

这个案例将采用SpringBoot作为技术栈开发两个应用,一个应用负责去三方获取天气预报;一个应用负责将获取的天气预报数据写入到本地桌面txt文档,并打开这个文档。

准备工作

需要用到的一些工具需要提前说一下

需要用到的技术栈:

上面提到的这个Cline其实是一个和大模型交互的插件界面,可以通过这个插件选择我们喜欢的大模型厂商:

我在Cline选择的大模型厂商是硅基流动的api-key。

MCP-server服务的配置

我们在准备工作中已经做好了clinet的配置,现在需要配置mcp-server。

我们用到的mcp-server有两个,这两个是我们自己写的:

这两个mcp-server都是SpringBoot写的!我们将其导入到idea里,打好jar包,保存好这个打包好的地址,回到我们的cline配置界面进行一个简单配置:

上图左边部分表示我们配置的两个mcp-server已经被cline识别到了,右边表示我们配置的两个应用的本地路径极其命令参数。

MCP实战效果展示

我们在大模型端交互一下:

得到的本地文件:

我们在大模型端输入:

我要将今日上海与北京天气写入到d:/temp/目录下,文件名格式为[日期].txt,最后用系统自带的记事本打开该文件

实际上大模型会很智能的去调用我们本地的两个mcp-server应用。这就是MCP的核心的一个点。这意味着我们可以用java、python、go去写各种不同的mcp-server,再通过大模型来调用!

代码的获取

《MCP项目源代码链接》

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

MCP Java SpringBoot 大模型 协议
相关文章