使用说明

项目简介

本项目是一个基于 Spring Boot 构建的 MCP 服务器,旨在为 LLM 应用提供数据库上下文访问能力。它实现了 MCP 协议,允许 LLM 客户端通过标准化的方式调用数据库工具,获取数据库信息或执行查询。

主要功能点

  • 数据库信息查询: 提供工具获取数据库版本、所有 schema 信息、指定 schema 下的表信息以及表的元数据信息(列名、数据类型等)。
  • SQL 查询执行: 允许执行用户提供的 SQL 查询语句,并返回查询结果。
  • 表关系管理: 支持保存和获取表与表之间的字段关联关系,帮助 LLM 理解数据库结构。

通俗解释: 这个服务器就像一个“数据库信息服务员”,LLM 可以通过它询问数据库的各种信息,例如“数据库版本是多少?”,“有哪些表?”,“表里有哪些列?”,甚至让它执行 SQL 语句来查询数据。

安装步骤

  1. 环境准备: 确保已安装 JDK (Java Development Kit) 和 Maven。
  2. 下载代码: 从 GitHub 仓库 https://github.com/dzplus/ai-mcp-server 下载项目代码。
  3. 编译项目: 在项目根目录下打开命令行工具,执行 'mvn clean install' 命令进行编译。编译成功后,会在 'target' 目录下生成可执行的 JAR 文件,例如 'ai-mcp-server-0.0.1-SNAPSHOT.jar'。
  4. 配置数据库连接: 本项目使用 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' 文件中进行更详细的配置。

基本使用方法

  1. 启动 MCP 服务器: 在项目根目录下,使用命令行工具执行 'mvn spring-boot:run' 或者直接运行编译生成的 JAR 文件 (例如 'java -jar target/ai-mcp-server-0.0.1-SNAPSHOT.jar',并带上数据库连接参数)。 服务器成功启动后,会监听在默认端口 8080,并提供 SSE (Server-Sent Events) 协议的 MCP 服务。
  2. 使用 MCP Inspector 验证连接: 如代码注释所示,可以使用 MCP 官方提供的 Inspector 工具验证服务器连通性。在命令行中执行 'npx @modelcontextprotocol/inspector',然后在 Inspector 中配置连接地址 'http://localhost:8080/sse',即可测试与服务器的连接。
  3. 在 LLM 客户端中使用: 将上述 “服务器配置” JSON 信息配置到你的 MCP 客户端 (例如支持 MCP 协议的 LLM 应用或开发框架) 中。 客户端连接成功后,即可通过 MCP 协议调用服务器提供的数据库工具,例如获取数据库 schema、执行 SQL 查询等。 具体的工具调用方式请参考 MCP 客户端的文档和 MCP 协议规范。

简单示例 (假设你使用支持 MCP 协议的 LLM 客户端): 你可以指示 LLM 客户端调用 'DBService.getAllSchemas' 工具来获取数据库的所有 schema 信息,或者调用 'DBService.executeSqlQuery' 工具来执行 SQL 查询。 LLM 客户端会负责将工具调用请求转换为 MCP 协议格式发送给服务器,服务器执行工具后将结果返回给客户端。

信息

分类

数据库与文件