无需依赖外部API,本地部署的MCP Server让企业级AI应用更安全、更经济、更高效!
当今企业数字化转型浪潮中,AI能力已成为业务创新的核心驱动力。然而,公有云API调用存在数据安全、成本控制和响应延迟等多重挑战。今天,我们将深入探讨如何基于SpringAI框架,构建一款完全本地化的MCP Server服务,深度整合企业自身业务系统。
为什么选择本地MCP Server?
MCP(Model Context Protocol)是Anthropic推出的开源协议,为AI应用与外部系统提供了标准化连接方案。结合SpringAI的本地部署优势,您可以获得:
-
数据安全:敏感业务数据无需出域,彻底杜绝隐私泄露风险
-
成本可控:一次部署长期使用,避免按调用次数付费的高昂成本
-
超低延迟:本地网络环境确保毫秒级响应,提升用户体验
-
深度定制:完全根据业务需求定制工具和资源,无缝对接现有系统
-
离线可用:不依赖外部网络,保证业务连续性和稳定性
本地MCP Server系统技术架构设计思路:
一、环境准备
1、基础环境安装
-
安装DeepSeek模型《DeekSeek本地化部署初体验》
-
安装Cherry Studio智能助手(V1.5.11及以上版本)
2、开发环境与版本
-
JDK 17:推荐使用OpenJDK 17或更高版本
-
Eclipse 4.34.0:开发编译工具
-
Maven 3.9.9:项目构建工具
-
SpringBoot 3.4.9:提供现代化的Java开发体验
-
SpringAI 1.0.1:推荐使用最新稳定版本
-
Docker(可选):方便本地模型部署和管理
二、搭建框架
在Eclipse中新建maven项目,添加依赖配置:
引入SpringBoot配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.9</version>
</parent>
配置全局版本号
<properties>
<java.version>17</java.version>
<spring-ai.version>1.0.1</spring-ai.version>
</properties>
引入Spring AI 相关依赖版本、避免版本冲突
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
加入MCP Server核心依赖
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
</dependency>
配置MCP Server对应参数
spring:
ai:
mcp:
server:
enabled: true
name: ktw-mcp-server
version: 1.0.0
type: SYNC
sse-endpoint: /sse
sse-message-endpoint: /mcp
capabilities:
tool: true
三、直接上代码
1、自定义本地化工具
创建MathToolService类,实现本地化数学计算工具:
@Tool(description = "两个数字相加")
public Integer addNumbers(int a, int b) {
return a + b;
}
@Tool(description = "两个数字相剪")
public Integer subtractNumbers(int a, int b) {
return a - b;
}
@Tool(description = "两个数字相乘")
public Integer multiplyNumbers(int a, int b) {
return a * b;
}
@Tool(description = "两个数字相除")
public Integer divideNumbers(int a, int b) {
return a / b;
}
注入实体对象,初始化工具回调函数
@Bean
public ToolCallbackProvider mathTool() {
return MethodToolCallbackProvider.builder().toolObjects(new MathToolService()).build();
}
至此本地化工具部分已经全部完成,mvn install成功后,即可运行。
2、在Cherry Studio中配置并调用开发好的本地MCP Server服务
安装并打开Cherry Studio工具,支持调用本地化MCP Server的版本要求V1.5.11及以上版本。在设置中添加MCP服务器,填入本地MCP Server地址。MCP Server支持三种模式,我们选择的是sse模式,更方便与业务系统集成调用。
填入Url地址保存后,即可识别我们开发的4个数据计算工具
新建一个AI助手来调用我们写的本地工具看看效果
我们将大模型设置为本地ollama管理的qwen3:14b,阿里千问3支持调用工具。设置好后,启用MCP服务功能
首先,查询一下有哪些本地计算工具
通过对话询问大模型,让大模型来调用我们设置好的MCP Server工具
可以看到,大模型通过调用我们的工具得到计算结果,就这样一个简单的本地MCP Server服务就完成了!!!
3、开发MCP Client客户端接口调用MCP Server服务(下章重点介绍如何开发MCP Client)
通过示例代码,可以看出,大模型不仅能够识别和调用本地化函数,还能分析出码农本农代码中的错别字
四、Docker容器化部署
为了方便快速部署,消除因环境差异导致的运行时问题,可使用docker容器化部署
dockerfile
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY target/ktw-mcp-server.jar app.jar
COPY config/application.yml config/
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar", "--spring.config.location=file:config/application.yml"]
五、结 语
基于SpringAI的本地MCP Server为企业提供了一种安全、高效、经济的AI集成方案。通过将AI能力深度融入业务系统,企业可以:
-
提升运营效率:自动化处理重复性业务任务
-
增强决策能力:基于数据驱动的智能分析支持
-
保障数据安全:敏感业务数据完全在本地处理
-
降低运营成本:避免按调用次数付费的公有云API成本
随着本地AI模型的不断优化和硬件成本的降低,这种模式将成为企业数字化转型的重要技术基石。现在就开始构建您的企业级智能业务处理平台吧!
更多原创技术文章,请关注我的公众号【GIS极客】,或者加微信【eryeiscool】进技术交流群!