使用说明
项目简介
本项目是一个基于 Spring Boot 构建的 MCP 服务器,旨在为 LLM 应用提供数据库上下文访问能力。它实现了 MCP 协议,允许 LLM 客户端通过标准化的方式调用数据库工具,获取数据库信息或执行查询。
主要功能点
- 数据库信息查询: 提供工具获取数据库版本、所有 schema 信息、指定 schema 下的表信息以及表的元数据信息(列名、数据类型等)。
- SQL 查询执行: 允许执行用户提供的 SQL 查询语句,并返回查询结果。
- 表关系管理: 支持保存和获取表与表之间的字段关联关系,帮助 LLM 理解数据库结构。
通俗解释: 这个服务器就像一个“数据库信息服务员”,LLM 可以通过它询问数据库的各种信息,例如“数据库版本是多少?”,“有哪些表?”,“表里有哪些列?”,甚至让它执行 SQL 语句来查询数据。
安装步骤
- 环境准备: 确保已安装 JDK (Java Development Kit) 和 Maven。
- 下载代码: 从 GitHub 仓库 https://github.com/dzplus/ai-mcp-server 下载项目代码。
- 编译项目: 在项目根目录下打开命令行工具,执行 'mvn clean install' 命令进行编译。编译成功后,会在 'target' 目录下生成可执行的 JAR 文件,例如 'ai-mcp-server-0.0.1-SNAPSHOT.jar'。
- 配置数据库连接: 本项目使用 Spring Boot 默认的 'application.properties' 或 'application.yml' 文件进行数据库连接配置。你需要根据你的数据库类型 (例如 MySQL, PostgreSQL 等) 在配置文件中设置数据库连接信息,包括 URL, 用户名, 密码等。 请注意,仓库中没有提供默认的数据库配置,你需要自行配置。 Spring Boot 支持多种数据库,具体配置方式请参考 Spring Boot 官方文档。
服务器配置
MCP 客户端需要配置以下 JSON 信息才能连接到本 MCP 服务器。以下是一个示例配置,你需要根据实际情况进行调整:
{ "serverName": "ai-db-mcp-server", // 服务器名称,可以自定义 "command": "java", // 运行服务器的命令,这里使用 java 命令 "args": [ // 命令参数 "-jar", // 指定运行 JAR 文件 "target/ai-mcp-server-0.0.1-SNAPSHOT.jar", // JAR 文件路径,根据实际编译生成的 JAR 文件名修改 "--server.port=8080", // 设置服务器端口为 8080 (默认端口) "--spring.datasource.url=jdbc:your_database_url", // 【重要】 数据库连接 URL,替换为你的数据库 URL "--spring.datasource.username=your_database_username", // 【重要】 数据库用户名,替换为你的数据库用户名 "--spring.datasource.password=your_database_password" // 【重要】 数据库密码,替换为你的数据库密码 // 可以根据需要添加其他 Spring Boot 配置参数,例如数据库驱动、连接池配置等 ] }
配置说明:
- 'serverName': MCP 服务器的名称,客户端用以标识连接的服务。
- 'command': 启动 MCP 服务器的可执行命令,对于 Java JAR 应用通常是 'java'。
- 'args': 传递给 'command' 的参数列表。
- '-jar target/ai-mcp-server-0.0.1-SNAPSHOT.jar': 指定要运行的 JAR 文件路径。请根据实际编译生成的 JAR 文件名和路径进行修改。
- '--server.port=8080': 设置 Spring Boot 应用的端口为 8080。如果需要修改端口,请同时修改客户端配置。
- '--spring.datasource.url=...', '--spring.datasource.username=...', '--spring.datasource.password=...': 这些是数据库连接配置,请务必替换为你的实际数据库连接信息。 你需要根据你使用的数据库类型和连接方式,设置正确的 URL、用户名和密码。
重要提示:
- 请确保将上述 JSON 配置信息正确配置到你的 MCP 客户端中。
- 数据库连接配置是关键步骤,请务必根据你的数据库环境正确配置 'spring.datasource.url', 'spring.datasource.username', 'spring.datasource.password' 等参数。 否则服务器无法连接到数据库,工具将无法正常工作。
- 如果你的数据库连接配置比较复杂,或者需要使用特定的数据库驱动,你可能需要在 'application.properties' 或 'application.yml' 文件中进行更详细的配置。
基本使用方法
- 启动 MCP 服务器: 在项目根目录下,使用命令行工具执行 'mvn spring-boot:run' 或者直接运行编译生成的 JAR 文件 (例如 'java -jar target/ai-mcp-server-0.0.1-SNAPSHOT.jar',并带上数据库连接参数)。 服务器成功启动后,会监听在默认端口 8080,并提供 SSE (Server-Sent Events) 协议的 MCP 服务。
- 使用 MCP Inspector 验证连接: 如代码注释所示,可以使用 MCP 官方提供的 Inspector 工具验证服务器连通性。在命令行中执行 'npx @modelcontextprotocol/inspector',然后在 Inspector 中配置连接地址 'http://localhost:8080/sse',即可测试与服务器的连接。
- 在 LLM 客户端中使用: 将上述 “服务器配置” JSON 信息配置到你的 MCP 客户端 (例如支持 MCP 协议的 LLM 应用或开发框架) 中。 客户端连接成功后,即可通过 MCP 协议调用服务器提供的数据库工具,例如获取数据库 schema、执行 SQL 查询等。 具体的工具调用方式请参考 MCP 客户端的文档和 MCP 协议规范。
简单示例 (假设你使用支持 MCP 协议的 LLM 客户端): 你可以指示 LLM 客户端调用 'DBService.getAllSchemas' 工具来获取数据库的所有 schema 信息,或者调用 'DBService.executeSqlQuery' 工具来执行 SQL 查询。 LLM 客户端会负责将工具调用请求转换为 MCP 协议格式发送给服务器,服务器执行工具后将结果返回给客户端。
信息
分类
数据库与文件