JDBC数据库连接工具

一个通过JDBC连接LLM与数据库的服务器,提供执行查询、获取表信息、描述表结构等功能,适用于数据分析和业务洞察场景。

  • by mikechao
  • Java
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 mikechao/jdbc-explorer

使用说明

JDBC资源管理器

A. 模型上下文协议 用于通过JDBC将LLM连接到数据库的服务器。此服务器使用 春季AI MCP 服务器公开了与连接的数据库交互的工具、提示和资源。

工具🛠

服务器包含以下工具。

  • addBusinessInsight

    • 将数据分析过程中发现的业务见解添加到“业务见解”资源中。通常作为提示“数据浏览器”的一部分执行
    • 输入:
      • insight (String):数据分析过程中发现的业务洞察力
  • 执行查询

    • 对连接的数据库执行SQL查询,返回结果
    • 输入:
      • query (string):要执行的SQL查询
  • getTableNames

    • 获取表名,包括类型、架构和备注
    • 输入:无
  • 描述表

    • 描述数据库中的一个表,包括列信息、主键、外键和索引。
    • 输入:
      • catalog (字符串,可选):目录名称
      • schema (字符串,可选):架构名称
      • tableName (string):要获取描述的表的名称
  • 获取数据库信息

    • 获取有关数据库的信息,包括SQL方言、关键字、数据库产品名称等。
    • 输入:无

鼓励📄

服务器包含1个提示符。

  • 数据浏览器

此提示可帮助用户浏览其数据库中的数据。它应该向用户提供LLM可以创建的仪表板选项。然后,LLM将执行必要的查询,并使用工件创建所选的仪表板。

Claude Desktop中的提示结果

资源🗂️

服务器包含1个资源。

  • 商业洞察

    • 包含LLM在数据分析期间提出的业务见解列表。
    • uri: "memo://insights"

支持的JDBC变体

此服务器当前支持以下数据库。

数据库
sqlite
PostgreSQL
Oracle
h2
MySQL

示例数据库

Netflix电影

基于Netflix目录的示例电影数据 Netflix示例数据库

罗斯文

经典的微软示例数据库,包含客户、订单、产品等。

西北亚硫酸矿

支奴干直升机

示例音乐商店数据,包括艺术家、专辑、曲目、发票等。

奇努克数据库

使用Claude Desktop

从罐子里

  1. 从下载jar 发布
  2. 或者克隆仓库并使用maven构建jar
mvn clean package

将此添加到您的 claude_desktop_config.json:

亚硫酸矿

{
    "mcpServers": {
		  "jdbc-explorer": {
			"command": "java",
			"args": [
			  "-jar",
			  "C:\\\\mcp\\\\jdbc.explorer-0.4.0.jar",
			  "--db.url=jdbc:sqlite:C:\\\\mcp\\\\jdbc-explorer\\\\netflixdb.sqlite"
			]
		  }
	}
}

带有用户名和密码的数据库

{
    "mcpServers": {
		  "jdbc-explorer": {
			"command": "java",
			"args": [
			  "-jar",
			  "C:\\\\mcp\\\\jdbc.explorer-0.4.0.jar",
			  "--db.url=jdbc:postgresql://localhost:5432/chinook",
			  "--db.username=dbuser",
			  "--db.password=dbpassword"
			]
		  }
	}
}

来自Docker镜像

您可以在本地构建映像,也可以从GitHub容器注册表中提取映像:

选项1:从GitHub容器注册表中提取

docker pull ghcr.io/mikechao/jdbc-explorer:latest

选项2:在本地构建

  1. 克隆仓库
  2. 构建docker镜像
docker build -t jdbc-explorer .

将此添加到您的 claude_desktop_config.json:

带有用户名和密码的数据库

{
    "mcpServers": {
		  "jdbc-explorer": {
			"command": "docker",
			"args": [
			  "run",
			  "-i",
			  "--rm",
			  "-e",
			  "DB_URL=jdbc:postgresql://host.docker.internal:5432/chinook",
			  "-e",
			  "DB_USERNAME=dbuser",
			  "-e",
			  "DB_PASSWORD=dbpassword",
			  "ghcr.io/mikechao/jdbc-explorer"
			]
		  }
	}
}

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。