浅试MCP:spring ai使用mcp调用deepseek的API接口
以下是基于 Spring AI 和 MCP(Model Context Protocol)调用 DeepSeek 大模型接口的完整实现方案,结合企业级开发实践总结的步骤与优化建议:
一、环境准备与依赖配置
1. 核心依赖引入
在 pom.xml
中添加 Spring AI MCP 模块及 DeepSeek 支持:
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
</dependency>
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>
<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-SNAPSHOT</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>io.modelcontextprotocol.sdk</groupId><artifactId>mcp-bom</artifactId><version>0.9.0</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
<repositories><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository><repository><name>Central Portal Snapshots</name><id>central-portal-snapshots</id><url>https://central.sonatype.com/repository/maven-snapshots/</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>
需确保 Spring Boot 版本 3.4.4,Spring AI 1.0.0-SNAPSHOT,JDK17,mcp0.8.1。
2. 云端调用则直接配置 API 密钥。
二、模型端配置与调用
1. DeepSeek 连接配置
在 application.yml
中设置模型地址和 MCP 启用:
spring:ai:deepseek:api-key: sk-your-api-keybase-url: https://api.deepseek.commcp:enabled: truetool-autoload: true
支持 SSL 加密和连接池优化。
2. 接口调用示例
通过 ChatController
发起请求:
@RestController
public class ChatController {private final OpenAiChatModel chatModel;@Autowiredpublic ChatController(OpenAiChatModel chatModel) {this.chatModel = chatModel;}@GetMapping("/ai/generate")public Map generate(@RequestParam(value = "message", defaultValue = "给我讲个笑话。") String message) {return Map.of("generation", this.chatModel.call(message));}@GetMapping("/ai/generateStream")public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "给我讲个笑话。") String message) {Prompt prompt = new Prompt(new UserMessage(message));return this.chatModel.stream(prompt);}
}
三、测试与验证
1. 请求示例
GET http://localhost:8080/ai/generate
响应结果:
总结
通过 Spring AI + MCP + DeepSeek 的整合,开发者能快速构建支持工具调用的智能 Agent 系统。关键路径包括:工具定义→协议注册→模型适配→安全管控。建议参考官方文档进行灰度发布和混沌测试,确保企业级稳定性。