Java大模型MCP服务端开发-数据库查询
- MCP服务器概述
- 安装依赖
- 服务端对象
- 服务器传输
- 服务器功能
- 客户端测试
MCP服务器概述
MCP服务器是模型上下文协议(MCP)架构中的基础组件,为客户端提供工具、资源和功能。它实现了协议的服务器端,负责:
- 暴露客户端可以发现和执行的工具
- 管理基于URI的资源访问模式
- 提供提示模板并处理提示请求
- 支持与客户端的能力协商
- 实现服务器端协议操作
- 管理并发客户端连接
- 提供结构化日志和通知
下面,我将以Java语言开发一个简单的数据库查询MCP服务器,并通过Cherry Studio进行测试。
安装依赖
将以下 Maven 依赖添加到你的项目中:
使用MCP官方的Java SDK:
<dependency><groupId>io.modelcontextprotocol.sdk</groupId><artifactId>mcp</artifactId>
</dependency>
对于 HTTP SSE 传输实现,添加以下依赖之一:
<!-- 基于 Spring WebFlux 的 SSE 客户端和服务器传输 -->
<dependency><groupId>io.modelcontextprotocol.sdk</groupId><artifactId>mcp-spring-webflux</artifactId>
</dependency><!-- 基于 Spring WebMVC 的 SSE 服务器传输 -->
<dependency><groupId>io.modelcontextprotocol.sdk</groupId><artifactId>mcp-spring-webmvc</artifactId>
</dependency>
服务端对象
服务器同时支持同步和异步API,这里我们选择创建同步服务器。
// 创建并配置MCP同步服务器
McpSyncServer syncServer = McpServer.sync(transportProvider).serverInfo("wenshu-server", "1.0.0").capabilities(McpSchema.ServerCapabilities.builder().tools(true)//.resources(true,true)//.prompts(true).logging().build()).build();try {// 添加工具、资源和提示syncServer.addTool(listTables());syncServer.addTool(getTableSchema());syncServer.addTool(<