MCP服务器 - MySQL元数据
这个项目是一个实施 MCP服务器 (模型上下文协议)utilizando 春季AI e 春季WebFlux该应用程序的主要目的是通过以下方式将MySQL数据库的元数据(表,列,数据类型)暴露给AI代理和LLM(大语言模型) 服务器发送事件(SSE).
🏗️ 项目架构
该应用程序遵循基于事件的响应式架构,旨在将AI模型连接到实时结构化数据。
graph LR
A[Cliente MCP / LLM] -- SSE (Transporte) --> B(Spring Boot Application);
B -- JDBC/R2DBC --> C[(MySQL Database)];
subgraph "MCP Server Project"
B1[Spring AI MCP Server]
B2[WebFlux / Netty]
B3[MySQL Metadata Service]
end- MCP 客户端 : 主机(如 IDE 或 Chatbot)连接到服务器。
- SSE 运输: 通信是通过 HTTP 建立的,使用服务器发送的事件来流式传输 JSON-RPC 数据。
- 元数据服务 : 该应用程序查询MySQL数据库的架构。
- 展览 : 元数据转换为 *资源* 或 *工具* MCP协议,并发送给客户端。
______________________________________________________________________
📚 关键概念
1.模型上下文协议(MCP)
O 主控程序 它是一个开放的标准,允许开发人员在其数据源以及人工智能工具和模型之间建立安全的双向连接。您不需要为每个LLM创建特定的集成,而是创建任何兼容客户端都可以使用的MCP服务器。
2.MCP服务器
O MCP服务器 它是“知道”如何获取数据或执行操作的架构的一部分。在这个项目中,服务器作为MySQL的桥梁,将数据库结构翻译成AI可以理解的格式。
3.春季AI
O 春季AI 它是一个将Spring生态系统的设计原则应用于AI开发的框架。它提供了便携式抽象以与AI模型交互,对于这个项目至关重要的是,对MCP协议实现的原生支持。
4.模块 spring-ai-starter-mcp-server-webflux
这是项目中使用的特定启动器 。它使用Spring的响应式堆栈(WebFlux)自动配置MCP服务器。
- 为什么是WebFlux? WebFlux 非常适合处理长期连接和数据流,这是 MCP 使用的 SSE 传输的关键特征。它使用非阻塞I/O实现高性能。
5.服务器发送事件(SSE)
上海证券交易所 它是一种技术,允许服务器通过HTTP连接向客户端发送自动更新。
- 在MCP的背景下,SSE被用作传输层。客户端打开一个HTTP连接,服务器通过该连续流发送JSON-RPC(请求,响应,通知)消息。
______________________________________________________________________
🚀 服务: 通过SSE的MySQL元数据
此应用程序提供的服务集中在 数据库内省.
功能:
- 连接 : 连接到 MySQL 实例 。
- 读取方案 : 阅读表、列、主键和数据类型。
- MCP展览: 将这些信息作为 资源(Resources) 做MCP。
这允许连接到此服务器的人工智能回答以下问题:
- *“数据库中有哪些表?”*
- *什么是表格结构
usuarios?"* - *“基于当前架构生成 SQL 查询。*
______________________________________________________________________
🛠️ 如何执行
先决条件
- Java 17+
- 梅文
- MySQL Server 正在运行
配置
在档案中设定银行凭据 src/main/resources/application.properties (通过环境变量):
spring.datasource.url=jdbc:mysql://localhost:3306/seu_banco
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha正在运行应用程序
使用项目中包含的 Maven wrapper:
./mvnw clean spring-boot:run服务器将启动(通常在端口8080上),并准备好在配置的终端接受MCP客户端连接(默认)。 /mcp/message).
______________________________________________________________________
🧪 使用 Postman 测试
Postman 支持连接和测试 MCP 服务器。这允许您查看服务器的功能(工具,功能和提示符),并通过图形界面直接与它们交互。
测试步骤:
- 确保应用程序正在运行。
- 打开邮局
- 使用 MCP 客户端 (MCP Client) 连接功能。
- 将传输配置为 上海证券交易所.
- 输入服务器地址 :
http://localhost:8080/sse(或者你使用的门) - 连接。
连接后,您将能够查看可用工具和功能的列表,并调用它们来测试其功能。
