首页/新闻资讯/正文详情

自定义一个简单的MCP Server:使用SpringAI + Cline + DeepSeek实现AI创建文件并写入内容

发布时间:2026/9/27 7:38:36 来源:云帆数科 栏目:资讯中心
自定义一个简单的MCP Server:使用SpringAI + Cline + DeepSeek实现AI创建文件并写入内容
实现功能通过与AI的对话让AI自动完成将指定内容写入指定目标文件的功能效果如下环境windows 11、jdk 17、SpringBoot 3.4.4步骤1、安装vscode并安装Cline插件2、在Cline插件中配置大模型Cline可以配置多种大模型比如本地的Ollama、阿里的千问、deepseek等等这里以配置deepseek为例先去deepseek开放平台注册账号然后随便充值十来块钱购买使用量然后创建api-key接着就可以在Cline中配置deepseek了配置好后可以返回Cline的对话界面问一个简单的问题试一下大模型是否生效注意对话界面的右下角有Plan、Act两个选项Plan可以理解为一般的对话聊天Act就是需要大模型配合MCP服务执行任务这里测试大模型是否生效就选择Plan就行发句“你好”测试一下3、实现MCP服务首先创建一个SpringBoot项目注意最好使用JDK 17和SpringBoot 3引入以下依赖?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.4.4/versionrelativePath/!-- lookup parent from repository --/parentgroupIdcom.example/groupIdartifactIdai-demo/artifactIdversion0.0.1-SNAPSHOT/versionnameai-demo/namedescriptionai-demo/descriptionurl/licenseslicense//licensesdevelopersdeveloper//developersscmconnection/developerConnection/tag/url//scmpropertiesjava.version17/java.versionspring-ai.version1.0.0-M6/spring-ai.version/propertiesdependenciesdependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-mcp-server-spring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.36/version/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion${spring-ai.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project其中最重要的一个依赖是spring-ai-mcp-server-spring-boot-starter引入这个依赖后项目才能和大模型进行通信之后编写服务类实现文件写入的具体逻辑importcom.example.aidemo.bean.FileWriteRequest;importlombok.extern.slf4j.Slf4j;importorg.springframework.ai.tool.annotation.Tool;importorg.springframework.stereotype.Service;importjava.nio.file.Path;importjava.nio.file.Paths;Slf4jServicepublicclassLocalFileService{Tool(description写入本地文件自动创建文件和目录)publicStringwriteLocalFile(FileWriteRequestrequest){StringfilePathrequest.getFilePath();PathpathPaths.get(filePath);PathpathParentpath.getParent();Stringcontentrequest.getContent();// 文件内容try{if(!pathParent.toFile().exists()){pathParent.toFile().mkdirs();}java.nio.file.Files.write(path,content.getBytes());return写入成功;}catch(Exceptione){log.error(写入文件失败,e);return写入文件失败;}}}importcom.fasterxml.jackson.annotation.JsonInclude;importcom.fasterxml.jackson.annotation.JsonProperty;importcom.fasterxml.jackson.annotation.JsonPropertyDescription;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;NoArgsConstructorAllArgsConstructorDataJsonInclude(JsonInclude.Include.NON_NULL)publicclassFileWriteRequest{JsonProperty(requiredtrue,valuefilePath)JsonPropertyDescription(需要写入的文件路径)privateStringfilePath;JsonProperty(requiredtrue,valuecontent)JsonPropertyDescription(写入文件的具体内容)privateStringcontent;}将服务类注册进MCP服务importcom.example.aidemo.service.LocalFileService;importorg.springframework.ai.tool.ToolCallbackProvider;importorg.springframework.ai.tool.method.MethodToolCallbackProvider;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;ConfigurationpublicclassMcpServerConfig{BeanpublicToolCallbackProviderlocalFileToolCallbackProvider(LocalFileServicelocalFileService){returnMethodToolCallbackProvider.builder().toolObjects(localFileService).build();}}之后可以启动该项目查看日志在日志里可以看到已经成功注册了一个工具就是之前编写的文件写入服务。然后将该项目打成jar包就行了4、在Cline中配置MCP服务在Cline的右上方点击MCP Server再点击Installed再点击下面的Configure MCP Servers配置文件其他的基本都是固定的需要改变的是jar包的位置和方法名如果方法涉及到中文输入比如查询某个城市的天气需要在启动命令中添加-Dfile.encodingUTF-8 -Dconsole.encodingUTF-8配置完毕保存后Cline会自动更新配置更新完毕后就可以在Installed一栏中看到本地的MCP服务了至此已全部完成之后测试就行测试返回Cline对话框选择Act模式之后向大模型交代任务大模型会根据语义理解并自动调用本地配置好的MCP服务

相关推荐

Longhorn v1.9.2 版本解析:补丁版中的系统韧性、稳定性与安全增强
Longhorn v1.9.2 版本解析:补丁版中的系统韧性、稳定性与安全增强

云原生存储高可用容器编排 【免费下载链接】longhorn Cloud-Native distributed storage built on and for Kubernetes 项目地址: https://gitcode.com/gh_mirrors/lo/longhorn 点击查看 免费下载 导读:本文基于 Longhorn 开源仓库 CHANGELOG/CHANGELOG… · 2026/9/27 7:38:30

Metrics JVM Instrumentation 实战指南:基于 Dropwizard Metrics 采集 GC、内存、线程与文件描述符指标
Metrics JVM Instrumentation 实战指南:基于 Dropwizard Metrics 采集 GC、内存、线程与文件描述符指标

可观测性后端 【免费下载链接】metrics :chart_with_upwards_trend: Capturing JVM- and application-level metrics. So you know whats going on. 项目地址: https://gitcode.com/gh_mirrors/met/metrics 点击查看 免费下载 metrics-jvm 是 Dropwizard Metrics&a… · 2026/9/27 7:38:30

建站报价别只看低价,百度新网站重定向过多怎么破
建站报价别只看低价,百度新网站重定向过多怎么破

建站报价别只看低价,百度新网站重定向过多怎么破 上周刚给一家做精密仪器的外企官网做技术复盘,客户老板在电话里气得声音都抖了。他吐槽说,明明上周就提了改个产品页链接的需求,建站公司那边拖了一周都没动静,最后上线结果页面全404,权重掉得底裤都… · 2026/9/27 7:38:30

基于自适应语义路由(Semantic Routing)的知识库多路混合召回实战
基于自适应语义路由(Semantic Routing)的知识库多路混合召回实战

基于自适应语义路由(Semantic Routing)的知识库多路混合召回实战在企业级大型 RAG(检索增强生成)知识库架构中,企业通常维护着数十个物理隔离、数据形态各异的垂直专业知识库(如:API 技术文档库… · 2026/9/27 8:23:34

Onivim 2 按键绑定(Key Bindings)配置完全指南:keybindings.json 格式、when 条件上下文与命令参考
Onivim 2 按键绑定(Key Bindings)配置完全指南:keybindings.json 格式、when 条件上下文与命令参考

开发工具代码编辑器桌面应用 【免费下载链接】oni2 Native, lightweight modal code editor 项目地址: https://gitcode.com/gh_mirrors/on/oni2 点击查看 免费下载 Onivim 2 的按键绑定体系在设计上力求与 VSCode 的 Key Bindings 兼容,同时完整保留 V… · 2026/9/27 8:23:34

NoneBot2 跨插件访问与依赖声明:深入理解 require 机制与插件加载时序
NoneBot2 跨插件访问与依赖声明:深入理解 require 机制与插件加载时序

后端即时通讯 【免费下载链接】nonebot2 跨平台 Python 异步聊天机器人框架 / Asynchronous multi-platform chatbot framework written in Python 项目地址: https://gitcode.com/gh_mirrors/no/nonebot2 点击查看 免费下载 跨插件调用是 NoneBot2 插件化架构中的… · 2026/9/27 8:23:34

3天搞定域名迁移:此网站域名三天更换完整流程
3天搞定域名迁移:此网站域名三天更换完整流程

3天搞定域名迁移:此网站域名三天更换完整流程 域名服务器搞不懂?别慌。很多站长以为换域名就是改个地址,结果DNS解析卡住、SSL证书报错、后台链接404,折腾三天还没上线。其实,只要理清DNS解析、服务器配置和搜索权重的传递逻辑,… · 2026/9/27 8:23:28

创业决策模型升级:建立基于风险收益矩阵的双轨决策评估机制
创业决策模型升级:建立基于风险收益矩阵的双轨决策评估机制

创业决策模型升级:建立基于风险收益矩阵的双轨决策评估机制技术人转型创业,最容易踩的两个极端陷阱: 过度工程师思维:试图通过搜集无限的数据、搭建极其复杂的 Excel 模型,把一个充满外部不确定性的商业问题算出一个“… · 2026/9/27 8:23:22

SocratiCode全本地部署指南:零云端、零API Key的隐私优先企业级代码搜索
SocratiCode全本地部署指南:零云端、零API Key的隐私优先企业级代码搜索

SocratiCode全本地部署指南:零云端、零API Key的隐私优先企业级代码搜索 【免费下载链接】SocratiCode Enterprise-grade (40m LOC) codebase intelligence, zero-setup, local & private Plugin/Skill/Extension or MCP: hybrid semantic search, polyglot dep… · 2026/9/27 8:23:22

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码